Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.GaloisCohomology.Coefficients

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 #

Main results #

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 #

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
    @[instance_reducible]
    @[instance_reducible]

    The identification of W.PointCoeff with the points of W over Kˢ.

    Instances For

      The Galois action #

      @[instance_reducible]

      G_K acts on E(Kˢ) through the coordinates, by Mathlib's point map along each automorphism.

      @[simp]

      The Galois action on E(Kˢ) is the point map along the automorphism.

      @[simp]

      The Galois action on a point of W⁄Kˢ, 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 #

      @[reducible, inline]
      abbrev WeierstrassCurve.TorsionCoeff {K : Type u_1} [Field K] (W : WeierstrassCurve K) (m : ℕ) :
      Type u_1

      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].

        @[simp]
        theorem WeierstrassCurve.coe_smul_torsionCoeff {K : Type u_1} [Field K] (W : WeierstrassCurve K) {m : ℕ} (σ : TauCeti.AbsoluteGaloisGroup K) (P : W.TorsionCoeff m) :
        ↑(σ • P) = σ • ↑P

        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
          @[simp]
          theorem WeierstrassCurve.torsionCoeffIncl_apply {K : Type u_1} [Field K] (W : WeierstrassCurve K) {m : ℕ} (P : W.TorsionCoeff m) :
          (W.torsionCoeffIncl m) P = ↑P
          theorem WeierstrassCurve.natCard_torsionCoeff {K : Type u_1} [Field K] (W : WeierstrassCurve K) [W.IsElliptic] {m : ℕ} (hm : IsUnit ↑m) :

          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 #

          theorem WeierstrassCurve.cast_pointCoeff_smul {K : Type u_1} [Field K] {V V' : WeierstrassCurve K} (h : V = V') (σ : TauCeti.AbsoluteGaloisGroup K) (P : V.PointCoeff) :
          (AddEquiv.cast h) (σ • P) = σ • (AddEquiv.cast h) P

          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.

          theorem WeierstrassCurve.coe_cast_torsionCoeff {K : Type u_1} [Field K] {V V' : WeierstrassCurve K} (h : V = V') {m : ℕ} (P : V.TorsionCoeff m) :
          ↑((AddEquiv.cast h) P) = (AddEquiv.cast h) ↑P

          Transport of E(Kˢ)[m] along an equality of Weierstrass curves is the transport of the underlying point of E(Kˢ).

          theorem WeierstrassCurve.cast_torsionCoeff_smul {K : Type u_1} [Field K] {V V' : WeierstrassCurve K} (h : V = V') {m : ℕ} (σ : TauCeti.AbsoluteGaloisGroup K) (P : V.TorsionCoeff m) :
          (AddEquiv.cast h) (σ • P) = σ • (AddEquiv.cast h) P

          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
            @[simp]

            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
              @[simp]

              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
                @[simp]

                The inclusion of rational torsion agrees with transport along the base-field embedding.

                @[simp]

                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.

                Instances For