Definitions/Def_FreyPackage_GaloisRep.lean
Mod- Galois representation of a Weierstrass curve; Frey case
For a Weierstrass curve W' in affine form over a commutative ring R, a commutative R-algebra S and a field K that is an S-algebra with R \to S \to K a scalar tower (plus a DecidableEq K instance), WeierstrassCurve.Affine.Point.galoisRep W' n is the mod-n representation attached to the n-torsion of the points of the base change W'\!\mathord{⁄}K. Concretely, the group K \simeq_{\mathrm{alg}[S]} K of S-algebra automorphisms of K acts on (W'⁄K).\mathrm{Point} by transport of coordinates along \sigma (the project's Point.map action), this action preserves the \mathbb{Z}-torsion submodule \mathrm{torsionBy}\ \mathbb{Z}\ (W'⁄K).\mathrm{Point}\ n = \{P : nP = 0\}, and that submodule carries a \mathbb{Z}/n-module structure because n annihilates it. The definition is then obtained by applying Mathlib's DistribMulAction.toModuleAut, so galoisRep W' n is a monoid homomorphism from K \simeq_{\mathrm{alg}[S]} K to the group of \mathbb{Z}/n-linear automorphisms of the n-torsion, and galoisRep_apply records that its value at \sigma is the map P \mapsto \sigma \bullet P. Nothing is asserted here about freeness of the n-torsion or finite-dimensionality, so the representation is not presented as a map into \mathrm{GL}_2(\mathbb{Z}/n); it is the abstract automorphism-group form.
FreyPackage.freyGaloisRep P is the specialisation to a Frey package P = (a,b,c,p): taking R = S = \mathbb{Q}, K = \overline{\mathbb{Q}} (an algebraic closure of \mathbb{Q}, given a classical decidable-equality instance), W' the Frey curve y^2 + xy = x^3 + \frac{b^p-1-a^p}{4}x^2 - \frac{a^pb^p}{16}x attached to P, and n = p, it is the monoid homomorphism from \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}) to the \mathbb{Z}/p-linear automorphisms of the p-torsion of the Frey curve over \overline{\mathbb{Q}}.
Relation to Mathlib
Mathlib supplies the generic construction DistribMulAction.toModuleAut and the Weierstrass-curve point groups; the Galois action on points and on the n-torsion, and hence this mod-n representation of an elliptic curve, are the project's own.
Where it is used
This is the object denoted \bar\rho_{E,p} for the Frey curve: the representation whose irreducibility and ramification behaviour are the subject of the Frey–Serre–Ribet part of the argument, and which the project's predicates GaloisRepIsIrreducible and GaloisRepUnramifiedAt describe in terms of the same action.
References
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
- J.-P. Serre, Propriétés galoisiennes des points d'ordre fini des courbes elliptiques, Inventiones Mathematicae 15 (1972), 259–331
- J. H. Silverman, The Arithmetic of Elliptic Curves, Graduate Texts in Mathematics 106, Springer, 1986, Ch. III
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 45 lines
- 3 declarations
- used in the statements of 0 theorems and imported by 2 proofs
- imports 3 definition modules
Source file: Definitions/Def_FreyPackage_GaloisRep.lean
Declarations
- def
WeierstrassCurve.Affine.Point.galoisRep - lemma
WeierstrassCurve.Affine.Point.galoisRep_apply - def
FreyPackage.freyGaloisRep
Source
import Definitions.Def_FLTPrelim_FreyPackage import Definitions.Def_FLTPrelim_GaloisRep import Definitions.Def_EllipticCurve_FrobeniusTrace import Mathlib.LinearAlgebra.FiniteDimensional.Defs ↗ 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 galoisRep (W' : Affine R) (n : ℕ) : (K ≃ₐ[S] K) →* (Submodule.torsionBy ℤ (W'⁄K).Point n) ≃ₗ[ZMod n] (Submodule.torsionBy ℤ (W'⁄K).Point n) := DistribMulAction.toModuleAut (ZMod n) (Submodule.torsionBy ℤ (W'⁄K).Point n) @[simp] lemma galoisRep_apply {n : ℕ} (σ : K ≃ₐ[S] K) (P : Submodule.torsionBy ℤ (W'⁄K).Point n) : galoisRep W' n σ P = σ • P := rfl end WeierstrassCurve.Affine.Point namespace FreyPackage open WeierstrassCurve.Affine.Point open scoped WeierstrassCurve.Affine noncomputable local instance instDecEqQbarRepresentation : DecidableEq (AlgebraicClosure ℚ) := Classical.decEq _ noncomputable def freyGaloisRep (P : FreyPackage) : (AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ) →* (Submodule.torsionBy ℤ (P.freyCurve⁄(AlgebraicClosure ℚ)).Point P.p) ≃ₗ[ZMod P.p] (Submodule.torsionBy ℤ (P.freyCurve⁄(AlgebraicClosure ℚ)).Point P.p) := galoisRep P.freyCurve P.p end FreyPackage
Statements phrased using this module (0)
No statement module imports it directly (it is used through other definition modules or by proofs).