Theorem: FermatLastTheoremForThreeGen.Solution.Solution'_descent_multiplicity
File: Mathlib/NumberTheory/FLT/Three.lean

Proof steps:
state_before: K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
S : Solution hζ
S' : Solution' hζ
inst✝¹ : DecidableRel fun a b => a ∣ b
inst✝ : DecidableEq (𝓞 K)
⊢ S.Solution'_descent.multiplicity = S.multiplicity - 1
state_after: K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
S : Solution hζ
S' : Solution' hζ
inst✝¹ : DecidableRel fun a b => a ∣ b
inst✝ : DecidableEq (𝓞 K)
h : λ ^ (S.multiplicity - 1 + 1) ∣ S.Solution'_descent.c
⊢ λ ∣ FermatLastTheoremForThreeGen.Solution.X S
tactic: refine (multiplicity.unique' (by simp [Solution'_descent]) (fun h ↦ S.lambda_not_dvd_X ?_)).symm
state_before: K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
S : Solution hζ
S' : Solution' hζ
inst✝¹ : DecidableRel fun a b => a ∣ b
inst✝ : DecidableEq (𝓞 K)
h : λ ^ (S.multiplicity - 1 + 1) ∣ S.Solution'_descent.c
⊢ λ ∣ FermatLastTheoremForThreeGen.Solution.X S
state_after: case intro
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
S : Solution hζ
S' : Solution' hζ
inst✝¹ : DecidableRel fun a b => a ∣ b
inst✝ : DecidableEq (𝓞 K)
k : 𝓞 K
hk : λ ^ (S.multiplicity - 1) * FermatLastTheoremForThreeGen.Solution.X S = λ ^ (S.multiplicity - 1 + 1) * k
⊢ λ ∣ FermatLastTheoremForThreeGen.Solution.X S
tactic: obtain ⟨k, hk : λ^(S.multiplicity-1)*S.X=λ^(S.multiplicity-1+1)*k⟩ := h
state_before: case intro
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
S : Solution hζ
S' : Solution' hζ
inst✝¹ : DecidableRel fun a b => a ∣ b
inst✝ : DecidableEq (𝓞 K)
k : 𝓞 K
hk : λ ^ (S.multiplicity - 1) * FermatLastTheoremForThreeGen.Solution.X S = λ ^ (S.multiplicity - 1 + 1) * k
⊢ λ ∣ FermatLastTheoremForThreeGen.Solution.X S
state_after: case intro
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
S : Solution hζ
S' : Solution' hζ
inst✝¹ : DecidableRel fun a b => a ∣ b
inst✝ : DecidableEq (𝓞 K)
k : 𝓞 K
hk : λ ^ (S.multiplicity - 1) * FermatLastTheoremForThreeGen.Solution.X S = λ ^ (S.multiplicity - 1) * (λ * k)
⊢ λ ∣ FermatLastTheoremForThreeGen.Solution.X S
tactic: rw [pow_succ, mul_assoc] at hk
state_before: case intro
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
S : Solution hζ
S' : Solution' hζ
inst✝¹ : DecidableRel fun a b => a ∣ b
inst✝ : DecidableEq (𝓞 K)
k : 𝓞 K
hk : λ ^ (S.multiplicity - 1) * FermatLastTheoremForThreeGen.Solution.X S = λ ^ (S.multiplicity - 1) * (λ * k)
⊢ λ ∣ FermatLastTheoremForThreeGen.Solution.X S
state_after: case intro
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
S : Solution hζ
S' : Solution' hζ
inst✝¹ : DecidableRel fun a b => a ∣ b
inst✝ : DecidableEq (𝓞 K)
k : 𝓞 K
hk : FermatLastTheoremForThreeGen.Solution.X S = λ * k
⊢ λ ∣ FermatLastTheoremForThreeGen.Solution.X S
tactic: simp only [mul_eq_mul_left_iff, pow_eq_zero_iff', hζ.zeta_sub_one_prime'.ne_zero, ne_eq,
    false_and, or_false] at hk
state_before: case intro
K : Type u_1
inst✝⁴ : Field K
inst✝³ : NumberField K
inst✝² : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
S : Solution hζ
S' : Solution' hζ
inst✝¹ : DecidableRel fun a b => a ∣ b
inst✝ : DecidableEq (𝓞 K)
k : 𝓞 K
hk : FermatLastTheoremForThreeGen.Solution.X S = λ * k
⊢ λ ∣ FermatLastTheoremForThreeGen.Solution.X S
state_after: no goals
tactic: simp [hk]