p : ℕ
R : Type ?u.2119290
idx : Type u_1
inst✝¹ : CommRing R
hp : Fact (Nat.Prime p)
inst✝ : Fintype idx
Φ : MvPolynomial idx ℤ
n : ℕ
this : Function.Injective ↑(Int.castRingHom ℚ)
⊢ vars (wittStructureInt p Φ n) ⊆ Finset.univ ×ˢ Finset.range (n + 1)
p : ℕ
R : Type ?u.2119290
idx : Type u_1
inst✝¹ : CommRing R
hp : Fact (Nat.Prime p)
inst✝ : Fintype idx
Φ : MvPolynomial idx ℤ
n : ℕ
⊢ vars (wittStructureInt p Φ n) ⊆ Finset.univ ×ˢ Finset.range (n + 1)
have : Function.Injective (Int.castRingHom ℚ) := Int.cast_injective
p : ℕ
R : Type ?u.2119290
idx : Type u_1
inst✝¹ : CommRing R
hp : Fact (Nat.Prime p)
inst✝ : Fintype idx
Φ : MvPolynomial idx ℤ
n : ℕ
this : Function.Injective ↑(Int.castRingHom ℚ)
⊢ vars (wittStructureRat p (↑(map (Int.castRingHom ℚ)) Φ) n) ⊆ Finset.univ ×ˢ Finset.range (n + 1)
p : ℕ
R : Type ?u.2119290
idx : Type u_1
inst✝¹ : CommRing R
hp : Fact (Nat.Prime p)
inst✝ : Fintype idx
Φ : MvPolynomial idx ℤ
n : ℕ
this : Function.Injective ↑(Int.castRingHom ℚ)
⊢ vars (wittStructureInt p Φ n) ⊆ Finset.univ ×ˢ Finset.range (n + 1)
rw [← vars_map_of_injective _ this, map_wittStructureInt]
no goals
p : ℕ
R : Type ?u.2119290
idx : Type u_1
inst✝¹ : CommRing R
hp : Fact (Nat.Prime p)
inst✝ : Fintype idx
Φ : MvPolynomial idx ℤ
n : ℕ
this : Function.Injective ↑(Int.castRingHom ℚ)
⊢ vars (wittStructureRat p (↑(map (Int.castRingHom ℚ)) Φ) n) ⊆ Finset.univ ×ˢ Finset.range (n + 1)
apply wittStructureRat_vars