Definitions/Def_FreyPackage_DetCyclotomic.lean
Determinant of mod- torsion representation; cyclotomic comparison predicates
For a Weierstrass curve W' in affine form over a commutative ring R, and a tower R \to S \to K with K a field with decidable equality, galoisRepDet W' n is the monoid homomorphism (K \simeq_{\mathrm{alg}[S]} K) \to (\mathbb{Z}/n)^\times obtained by composing the project's representation galoisRep of the S-automorphism group of K on the n-torsion of W'(K) with Mathlib's LinearEquiv.det; galoisRepDet_apply records this pointwise. GaloisRepDetEqCyclotomic S W' n hn is a predicate (not a proved theorem): given NeZero n and a proof hn that K contains exactly n n-th roots of unity, it asserts that for every \sigma the value of galoisRepDet equals \chi_n(\sigma), where \chi_n is Mathlib's modularCyclotomicCharacter evaluated at \sigma viewed as a ring equivalence. The only instance proved here is galoisRepDetEqCyclotomic_two, the degenerate case n = 2, which holds because (\mathbb{Z}/2)^\times is a subsingleton.
The remaining declarations concern a FreyPackage P with prime exponent P.p: card_rootsOfUnity_algebraicClosure states that \overline{\mathbb{Q}} has exactly P.p P.p-th roots of unity, and a local classical DecidableEq instance on \overline{\mathbb{Q}} is supplied. Two further predicates on P are defined, both left unproved here. MuLineCyclotomicAtP asserts the existence of a valuation subring A_0 of \overline{\mathbb{Q}} lying over the rational prime P.p (in the project's sense LiesOverPrime) and of a non-zero P.p-torsion point z of the Frey curve over \overline{\mathbb{Q}} such that every \sigma in the project's inertia subgroup inertiaSubgroupIn of A_0 over \mathbb{Q} satisfies \sigma \cdot z = \chi_{P.p}(\sigma) z and \sigma \cdot y - y \in \mathbb{Z}/P.p \cdot z for all P.p-torsion y; that is, inertia at p is upper triangular with \chi_p on the line \langle z\rangle and trivial on the quotient. DetCyclotomicOnInertiaAtP asserts, for every valuation subring lying over P.p and every element of its inertia subgroup over \mathbb{Q}, that galoisRepDet of the Frey curve at P.p agrees with \chi_{P.p}; this is the restriction to inertia at p only, not the global determinant identity.
Relation to Mathlib
The cyclotomic character modularCyclotomicCharacter, the roots-of-unity group and the cardinality input IsAlgClosed.card_rootsOfUnity_eq, and LinearEquiv.det are Mathlib's; the torsion-point representation galoisRep and the ramification notions ValuationSubring.LiesOverPrime and ValuationSubring.inertiaSubgroupIn are the project's own, defined in the imported definition modules.
Where it is used
Classically the identity \det \bar\rho_{E,n} = \chi_n comes from the Weil pairing; here it is packaged as a predicate, with only the trivial case n = 2 discharged. The at-p forms MuLineCyclotomicAtP and DetCyclotomicOnInertiaAtP are the curve-side inputs describing the action of inertia at p on the p-torsion of the Frey curve, used in the ramification analysis that accompanies level lowering.
References
- J. H. Silverman, The Arithmetic of Elliptic Curves, Graduate Texts in Mathematics 106, Springer, 2nd ed., 2009
- J.-P. Serre, Propriétés galoisiennes des points d'ordre fini des courbes elliptiques, Inventiones Mathematicae 15 (1972), 259–331
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 80 lines
- 7 declarations
- used in the statements of 0 theorems and imported by 0 proofs
- imports 3 definition modules
Source file: Definitions/Def_FreyPackage_DetCyclotomic.lean
Imported by
Declarations
- def
WeierstrassCurve.Affine.Point.galoisRepDet - lemma
WeierstrassCurve.Affine.Point.galoisRepDet_apply - def
WeierstrassCurve.Affine.Point.GaloisRepDetEqCyclotomic - theorem
WeierstrassCurve.Affine.Point.galoisRepDetEqCyclotomic_two - theorem
FreyPackage.card_rootsOfUnity_algebraicClosure - def
FreyPackage.MuLineCyclotomicAtP - def
FreyPackage.DetCyclotomicOnInertiaAtP
Source
import Definitions.Def_FreyPackage_GaloisRep import Definitions.Def_FLTPrelim_Ramification import Mathlib.NumberTheory.Cyclotomic.CyclotomicCharacter ↗ import Mathlib.RingTheory.RootsOfUnity.AlgebraicallyClosed ↗ import Mathlib.LinearAlgebra.Determinant ↗ import Definitions.Def_ExtCitation_AdmissibleExtension set_option autoImplicit false universe r s v namespace WeierstrassCurve.Affine.Point open WeierstrassCurve variable {R : Type r} {S : Type s} {K : Type v} [CommRing R] [CommRing S] [Field K] [DecidableEq K] {W' : Affine R} [Algebra R S] [Algebra R K] [Algebra S K] [IsScalarTower R S K] noncomputable def galoisRepDet (W' : Affine R) (n : ℕ) : (K ≃ₐ[S] K) →* (ZMod n)ˣ := LinearEquiv.det.comp (galoisRep (S := S) (K := K) W' n) @[simp] lemma galoisRepDet_apply (n : ℕ) (σ : K ≃ₐ[S] K) : galoisRepDet (S := S) (K := K) W' n σ = LinearEquiv.det (galoisRep (S := S) W' n σ) := rfl variable (S) in def GaloisRepDetEqCyclotomic (W' : Affine R) (n : ℕ) [NeZero n] (hn : Nat.card (rootsOfUnity n K) = n) : Prop := ∀ σ : K ≃ₐ[S] K, galoisRepDet (S := S) (K := K) W' n σ = modularCyclotomicCharacter K hn (σ : K ≃+* K) theorem galoisRepDetEqCyclotomic_two (hn : Nat.card (rootsOfUnity 2 K) = 2) : GaloisRepDetEqCyclotomic S W' 2 hn := fun _ => Subsingleton.elim _ _ end WeierstrassCurve.Affine.Point section AlgClosed end AlgClosed namespace FreyPackage open WeierstrassCurve.Affine.Point open scoped WeierstrassCurve.Affine noncomputable local instance instDecEqQbarDetCyclotomic : DecidableEq (AlgebraicClosure ℚ) := Classical.decEq _ theorem card_rootsOfUnity_algebraicClosure (P : FreyPackage) : haveI : NeZero P.p := ⟨P.pp.ne_zero⟩ Nat.card (rootsOfUnity P.p (AlgebraicClosure ℚ)) = P.p := haveI : NeZero P.p := ⟨P.pp.ne_zero⟩ IsAlgClosed.card_rootsOfUnity_eq (AlgebraicClosure ℚ) P.p variable (P : FreyPackage) def MuLineCyclotomicAtP : Prop := haveI : NeZero P.p := ⟨P.pp.ne_zero⟩ ∃ A₀ : ValuationSubring (AlgebraicClosure ℚ), A₀.LiesOverPrime P.p ∧ ∃ z : Submodule.torsionBy ℤ (P.freyCurve⁄(AlgebraicClosure ℚ)).Point P.p, z ≠ 0 ∧ ∀ σ : AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ, σ ∈ A₀.inertiaSubgroupIn ℚ → (σ • z = ((modularCyclotomicCharacter (AlgebraicClosure ℚ) P.card_rootsOfUnity_algebraicClosure (σ : AlgebraicClosure ℚ ≃+* AlgebraicClosure ℚ) : (ZMod P.p)ˣ) : ZMod P.p) • z) ∧ ∀ y : Submodule.torsionBy ℤ (P.freyCurve⁄(AlgebraicClosure ℚ)).Point P.p, σ • y - y ∈ Submodule.span (ZMod P.p) {z} def DetCyclotomicOnInertiaAtP : Prop := haveI : NeZero P.p := ⟨P.pp.ne_zero⟩ ∀ A : ValuationSubring (AlgebraicClosure ℚ), A.LiesOverPrime P.p → ∀ σ : AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ, σ ∈ A.inertiaSubgroupIn ℚ → galoisRepDet (S := ℚ) (K := AlgebraicClosure ℚ) P.freyCurve P.p σ = modularCyclotomicCharacter (AlgebraicClosure ℚ) P.card_rootsOfUnity_algebraicClosure (σ : AlgebraicClosure ℚ ≃+* AlgebraicClosure ℚ) end FreyPackage
Statements phrased using this module (0)
No statement module imports it directly (it is used through other definition modules or by proofs).