have : Algebra.norm ℤ (1 + (p : ℕ) • x) ≠ -1 := by
  intro e; apply hp
  obtain ⟨r, hr⟩ := Algebra.norm_one_add_smul (p : ℤ) x
  have : (p : ℤ) * (- Algebra.trace ℤ _ x - r * p) = 2 := by
    rw [zsmul_eq_mul, Int.cast_natCast, ← nsmul_eq_mul, e, eq_comm, ← sub_eq_zero] at hr
    rw [eq_comm, ← sub_eq_zero, ← hr]
    ring
  exact (Nat.prime_two.eq_one_or_self_of_dvd _
    (Int.natCast_dvd_natCast.mp ⟨_, this.symm⟩)).resolve_left hpri.ne_one
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
K : Type u_2
inst✝¹ : Field K
inst✝ : NumberField K
p : ℕ
hpri : p.Prime
hp : p ≠ 2
x : 𝓞 K
hx : IsUnit (1 + p • x)
H : (Algebra.norm ℤ) (1 + p • x) = 1 ∨ (Algebra.norm ℤ) (1 + p • x) = -1
⊢ (Algebra.norm ℤ) (1 + p • x) = 1
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
K : Type u_2
inst✝¹ : Field K
inst✝ : NumberField K
p : ℕ
hpri : p.Prime
hp : p ≠ 2
x : 𝓞 K
hx : IsUnit (1 + p • x)
H : (Algebra.norm ℤ) (1 + p • x) = 1 ∨ (Algebra.norm ℤ) (1 + p • x) = -1
this : (Algebra.norm ℤ) (1 + p • x) ≠ -1
⊢ (Algebra.norm ℤ) (1 + p • x) = 1