Theorem: norm_Int_zeta_sub_one' (FltRegular/NumberTheory/Cyclotomic/MoreLemmas.lean)

State before:
K : Type u_1
p : ℕ+
hpri : Fact p.Prime
inst✝² : Field K
inst✝¹ : CharZero K
inst✝ : IsCyclotomicExtension {p} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑p
hp✝ : p ≠ 2
hp : p = 2
⊢ (Algebra.norm ℤ) (↑hζ.unit' - 1) = -↑↑p
Tactic:
clear ‹p ≠ 2›
State after:
K : Type u_1
p : ℕ+
hpri : Fact p.Prime
inst✝² : Field K
inst✝¹ : CharZero K
inst✝ : IsCyclotomicExtension {p} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑p
hp : p = 2
⊢ (Algebra.norm ℤ) (↑hζ.unit' - 1) = -↑↑p

State before:
K : Type u_1
p : ℕ+
hpri : Fact p.Prime
inst✝² : Field K
inst✝¹ : CharZero K
inst✝ : IsCyclotomicExtension {p} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑p
hp : p = 2
⊢ (Algebra.norm ℤ) (↑hζ.unit' - 1) = -↑↑p
Tactic:
letI := IsCyclotomicExtension.numberField {p} ℚ K
State after:
K : Type u_1
p : ℕ+
hpri : Fact p.Prime
inst✝² : Field K
inst✝¹ : CharZero K
inst✝ : IsCyclotomicExtension {p} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑p
hp : p = 2
this : NumberField K := IsCyclotomicExtension.numberField {p} ℚ K
⊢ (Algebra.norm ℤ) (↑hζ.unit' - 1) = -↑↑p

State before:
K : Type u_1
p : ℕ+
hpri : Fact p.Prime
inst✝² : Field K
inst✝¹ : CharZero K
inst✝ : IsCyclotomicExtension {p} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑p
hp : p = 2
this : NumberField K := IsCyclotomicExtension.numberField {p} ℚ K
⊢ (Algebra.norm ℤ) (↑hζ.unit' - 1) = -↑↑p
Tactic:
haveI : Fact (Nat.Prime p) := hpri
State after:
K : Type u_1
p : ℕ+
hpri : Fact p.Prime
inst✝² : Field K
inst✝¹ : CharZero K
inst✝ : IsCyclotomicExtension {p} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑p
hp : p = 2
this✝ : NumberField K := IsCyclotomicExtension.numberField {p} ℚ K
this : Fact (↑p).Prime
⊢ (Algebra.norm ℤ) (↑hζ.unit' - 1) = -↑↑p

State before:
K : Type u_1
p : ℕ+
hpri : Fact p.Prime
inst✝² : Field K
inst✝¹ : CharZero K
inst✝ : IsCyclotomicExtension {p} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑p
hp : p = 2
this✝ : NumberField K := IsCyclotomicExtension.numberField {p} ℚ K
this : Fact (↑p).Prime
⊢ (Algebra.norm ℤ) (↑hζ.unit' - 1) = -↑↑p
Tactic:
apply RingHom.injective_int (algebraMap ℤ ℚ)
State after:
case a
K : Type u_1
p : ℕ+
hpri : Fact p.Prime
inst✝² : Field K
inst✝¹ : CharZero K
inst✝ : IsCyclotomicExtension {p} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑p
hp : p = 2
this✝ : NumberField K := IsCyclotomicExtension.numberField {p} ℚ K
this : Fact (↑p).Prime
⊢ (algebraMap ℤ ℚ) ((Algebra.norm ℤ) (↑hζ.unit' - 1)) = (algebraMap ℤ ℚ) (-↑↑p)

State before:
case a
K : Type u_1
p : ℕ+
hpri : Fact p.Prime
inst✝² : Field K
inst✝¹ : CharZero K
inst✝ : IsCyclotomicExtension {p} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑p
hp : p = 2
this✝ : NumberField K := IsCyclotomicExtension.numberField {p} ℚ K
this : Fact (↑p).Prime
⊢ (algebraMap ℤ ℚ) ((Algebra.norm ℤ) (↑hζ.unit' - 1)) = (algebraMap ℤ ℚ) (-↑↑p)
Tactic:
subst hp
State after:
case a
K : Type u_1
inst✝² : Field K
inst✝¹ : CharZero K
ζ : K
hpri : Fact (PNat.Prime 2)
inst✝ : IsCyclotomicExtension {2} ℚ K
hζ : IsPrimitiveRoot ζ ↑2
this✝ : NumberField K := IsCyclotomicExtension.numberField {2} ℚ K
this : Fact (↑2).Prime
⊢ (algebraMap ℤ ℚ) ((Algebra.norm ℤ) (↑hζ.unit' - 1)) = (algebraMap ℤ ℚ) (-↑↑2)

State before:
case a
K : Type u_1
inst✝² : Field K
inst✝¹ : CharZero K
ζ : K
hpri : Fact (PNat.Prime 2)
inst✝ : IsCyclotomicExtension {2} ℚ K
hζ : IsPrimitiveRoot ζ ↑2
this✝ : NumberField K := IsCyclotomicExtension.numberField {2} ℚ K
this : Fact (↑2).Prime
⊢ (algebraMap ℤ ℚ) ((Algebra.norm ℤ) (↑hζ.unit' - 1)) = (algebraMap ℤ ℚ) (-↑↑2)
Tactic:
simp [Algebra.coe_norm_int, hζ.sub_one_norm_two']
State after:
no goals