The Galois coefficient modules of an elliptic curve #
Let W be a Weierstrass curve over a field K, Kˢ a separable closure of K and
G_K = AbsoluteGaloisGroup K. The Galois cohomology of an elliptic curve takes its coefficients
in two discrete G_K-modules, fixed here once and for all:
W.PointCoeff = E(Kˢ), W.TorsionCoeff m = E(Kˢ)[m],
with G_K acting on the coordinates of points. The first is a type synonym of
TauCeti.ForcedDiscrete applied to the points of the base change W⁄Kˢ, so it carries the
discrete topology imposed by that wrapper rather than by an instance on the point type
itself. Both modules are discrete G_K-modules in the sense continuous cohomology
asks for: the stabilizer of a point is open, because its coordinates lie in Kˢ, which is
algebraic over K (WeierstrassCurve.PointCoeff.instContinuousSMul).
For m invertible in K, multiplication by m gives the Kummer sequence of W,
0 ⟶ E(Kˢ)[m] ⟶ E(Kˢ) ⟶ E(Kˢ) ⟶ 0,
as a TauCeti.ContCohomology.DiscreteShortExact (WeierstrassCurve.kummerShortExact), so that the
long exact sequence of continuous cohomology applies to it verbatim. Exactness on the right is the
divisibility of E(Kˢ) (WeierstrassCurve.Affine.nsmul_surjective), which is where invertibility
of m enters.
Finally WeierstrassCurve.basePointEquivInvariants identifies H⁰(G_K, E(Kˢ)) with E(K). The
two are different Lean types, so what is supplied is the canonical isomorphism, induced by the
inclusion K → Kˢ. It rests on the fixed field of G_K being K, which is why the separable
closure and not an algebraic closure is used: over an imperfect K the points of E fixed by the
automorphisms of an algebraic closure are the points over the perfect closure of K.
Main definitions #
WeierstrassCurve.PointCoeff: the points ofWoverKˢ, as a discreteG_K-module.WeierstrassCurve.pointCoeffEquiv: its identification with the points ofW⁄Kˢ.WeierstrassCurve.TorsionCoeff: them-torsion ofW.PointCoeff, a discreteG_K-module.WeierstrassCurve.torsionCoeffIncl: the equivariant inclusionE(Kˢ)[m] → E(Kˢ).WeierstrassCurve.kummerShortExact: the Kummer sequence0 → E[m] → E → E → 0ofW.WeierstrassCurve.basePointCoeff: the inclusionE(K) → E(Kˢ), the transport of points alongK → Kˢ(WeierstrassCurve.basePointCoeff_eq_pointCoeffEquiv_mapAlong).WeierstrassCurve.basePointEquivInvariants: the isomorphismE(K) ≅ H⁰(G_K, E(Kˢ)).WeierstrassCurve.baseTorsionCoeff: the inclusionE(K)[m] → E(Kˢ)[m].
Main results #
WeierstrassCurve.PointCoeff.instContinuousSMul,WeierstrassCurve.TorsionCoeff.instContinuousSMul: the coefficients are discrete modules.WeierstrassCurve.finite_torsionCoeff:E(Kˢ)[m]is finite forWelliptic andm ≠ 0.WeierstrassCurve.pointGaloisAction_apply_eq_smul: the action isWeierstrassCurve.pointGaloisAction, andWeierstrassCurve.torsionByCongr_pointCoeffEquiv_symm_smulits torsion counterpartWeierstrassCurve.torsionGaloisAction.WeierstrassCurve.Affine.Point.map_map_separableClosure_val: an automorphism ofK^{alg}acts on the points ofE(Kˢ)through its restriction toKˢ.WeierstrassCurve.natCard_torsionCoeff:E(Kˢ)[m]hasm²points forminvertible inK.WeierstrassCurve.isAddKleinFour_torsionCoeff_two:E(Kˢ)[2]is a Klein four-group.WeierstrassCurve.cast_pointCoeff_smul,WeierstrassCurve.cast_torsionCoeff_smul: transport of the coefficients along an equality of curves, such as(W⁄L)⁄M = W⁄M, isG_K-equivariant.WeierstrassCurve.mem_H0_pointCoeff_iff: a point ofE(Kˢ)fixed byG_Kcomes fromE(K), andWeierstrassCurve.exists_baseTorsionCoeff_eq_of_forall_smul_eqits torsion counterpart.
Implementation notes #
The construction follows the multiplicative coefficient modules of
TauCeti/FieldTheory/GaloisCohomology/Coefficients.lean: WeierstrassCurve.PointCoeff,
WeierstrassCurve.kummerShortExact and WeierstrassCurve.basePointEquivInvariants play the roles
of TauCeti.UnitsCoeff, TauCeti.kummerShortExact and TauCeti.baseUnitsEquivInvariants there.
References #
- J. Silverman, The Arithmetic of Elliptic Curves, VIII.2 and X.4.
The points over the separable closure #
The points of W over a separable closure Kˢ of K, as the coefficient module of the
Galois cohomology of W. It is a type synonym for ForcedDiscrete (W⁄Kˢ).toAffine.Point, so that
the discrete topology is the one imposed by TauCeti.ForcedDiscrete, and the action of G_K lives
on it and not on the point type.
Instances For
The identification of W.PointCoeff with the points of W over Kˢ.
Instances For
The Galois action #
G_K acts on E(Kˢ) through the coordinates, by Mathlib's point map along each
automorphism.
The Galois action on E(Kˢ) is the point map along the automorphism.
The Galois action on a point of W⁄Kˢ, read in W.PointCoeff.
The action is WeierstrassCurve.pointGaloisAction, read in W.PointCoeff.
Restriction to Kˢ commutes with the point map into K^{alg}. An automorphism σ of
K^{alg} acts on the image in E(K^{alg}) of a point of E(Kˢ) as its restriction to Kˢ acts
on that point.
E(Kˢ) is a discrete G_K-module: the stabilizer of an affine point contains the
stabilizers of its two coordinates, which are open because Kˢ is algebraic over K.
The m-torsion #
The m-torsion E(Kˢ)[m] of W, as a coefficient module of the Galois cohomology of
W. Its topology is the subspace topology, which is discrete.
Instances For
The Galois action commutes with multiplication by m, so it preserves E(Kˢ)[m].
The Galois action on E(Kˢ)[m] is the action on E(Kˢ).
E(Kˢ)[m] is a discrete G_K-module: the restriction of the continuous action on
E(Kˢ) to a stable subgroup is continuous.
The action on E(Kˢ)[m] is WeierstrassCurve.torsionGaloisAction, read through the
identification WeierstrassCurve.pointCoeffEquiv of E(Kˢ) with the points of W⁄Kˢ.
For W elliptic and m ≠ 0, the m-torsion E(Kˢ)[m] of W over the separable closure is
finite.
The inclusion E(Kˢ)[m] → E(Kˢ), as a G_K-equivariant homomorphism.
Instances For
E(Kˢ)[m] has m² points when m is invertible in K.
E(Kˢ)[2] is a Klein four-group when 2 is invertible in K: it has 2² = 4 points,
each killed by 2.
Transport along an equality of curves #
Transport of E(Kˢ) along an equality of Weierstrass curves is G_K-equivariant.
Transport of E(Kˢ) along an equality of Weierstrass curves keeps the coordinates of an affine
point.
Transport of E(Kˢ)[m] along an equality of Weierstrass curves is the transport of the
underlying point of E(Kˢ).
Transport of E(Kˢ)[m] along an equality of Weierstrass curves is G_K-equivariant.
The Kummer sequence #
The Kummer sequence 0 → E(Kˢ)[m] → E(Kˢ) → E(Kˢ) → 0 of W, for m invertible in
K. Exactness on the right is the divisibility of E(Kˢ) by m.
Instances For
The equivariant inclusion of the Kummer sequence is WeierstrassCurve.torsionCoeffIncl.
The invariants of E(Kˢ) #
The inclusion E(K) → E(Kˢ), induced by the inclusion of K into Kˢ.
Instances For
The inclusion E(K) → E(Kˢ) keeps the coordinates of an affine point.
The inclusion E(K) → E(Kˢ) is the transport of points along algebraMap K Kˢ
(WeierstrassCurve.Affine.Point.mapAlong), read in W.PointCoeff.
The inclusion E(K) → E(Kˢ) is injective.
A point of E(K) is fixed by G_K after mapping into E(Kˢ).
The inclusion E(K)[m] → E(Kˢ)[m], the restriction of WeierstrassCurve.basePointCoeff
to the m-torsion.
Instances For
The inclusion of rational torsion agrees with transport along the base-field embedding.
A point of E(K)[m] is fixed by G_K after mapping into E(Kˢ)[m].
The inclusion E(K)[m] → E(Kˢ)[m] is injective.
A point of E(Kˢ) fixed by the whole Galois group comes from E(K). This is the
fixed-field theorem InfiniteGalois.mem_range_algebraMap_iff_fixed for the separable closure,
applied to the two coordinates of the point.
A point of E(Kˢ)[m] fixed by the whole Galois group comes from E(K)[m], the torsion
counterpart of WeierstrassCurve.mem_H0_pointCoeff_iff.
The invariants of E(Kˢ) are the points of E(K), that is H⁰(G_K, E(Kˢ)) ≅ E(K). The
two sides are different Lean types, so this canonical isomorphism, and not an equality, is what a
cohomological construction starting from E(K) goes through, the Kummer map among them.