Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.Isogeny.PushClass

The class-group map induced by an isogeny #

For an isogeny φ : Isogeny W₁ W₂, extending an ideal of W₁.CoordinateRing into the intermediate ring and taking the relative norm down to W₂.CoordinateRing gives a homomorphism of class groups.

Main definitions #

Main results #

Design #

Every algebra structure is built here, not accepted. Isogeny.intermediateRing is a Subring W₁.FunctionField carrying no Algebra instance over either coordinate ring — IntermediateRing/Basic.lean records that an instance would reintroduce a diamond — so the two structures have to come from somewhere. Taking them as arguments would leave the exported map a family indexed by the caller's choice: the hypotheses do not force them to be toIntermediateRing and pullbackToIntermediateRing, since injectivity, finiteness and Dedekindness are all stable under precomposing with an F-automorphism of the coordinate ring. So nothing in the signature would pin the map to the one φ induces, nor even make (Isogeny.id W).pushClass the identity. The definitions below therefore build both structures internally from the corestricted embeddings, which is what makes them the maps induced by φ, and what a functoriality statement and toPointHom need.

The same applies to the ambient structures the intermediate-ring suppliers ask for, Algebra W₂.CoordinateRing W₁.FunctionField and Algebra W₂.FunctionField W₁.FunctionField: they are φ.pullback and φ.fieldPullback read as algebra structures, and their tower is Isogeny.fieldPullback_algebraMap. Taking them as arguments would need a hypothesis pinning the first to the pullback for Isogeny.isScalarTower_intermediateRing to consume; building them makes that hypothesis rfl and removes it from the signature.

Every other hypothesis is discharged internally, from suppliers that live with the object they describe, in the one-property-per-file IntermediateRing/ series:

What remains in the maps' signature is normality of the target coordinate ring. Source normality is needed only by pushClassMonoidHom_mk0, because Mathlib's computation rule for ClassGroup.mk0 assumes its source is Dedekind.

ClassGroup.extendedRelNormHom orders its rings A M R — source, middle, target — so the instantiation is A := W₁.CoordinateRing, M := φ.intermediateRing, R := W₂.CoordinateRing.

Provenance #

⚠ mathlib-track. Adapted from D. Angdinata's shared isogeny development, Isogeny.lean, by David Kurniadi Angdinata, declarations pushClassMonoidHom and pushClass, which builds pushClass by ideal extension and relative norm (ClassGroup.extendedRelNormHom) on the way to toPointHom.

Two adaptations are forced by how this repository states the surrounding API:

The class-group map induced by an isogeny, multiplicatively: extend a class of W₁.CoordinateRing into the intermediate ring, then norm it down to W₂.CoordinateRing.

The two coordinate rings carry no map between them; the intermediate ring is what connects them, receiving W₁.CoordinateRing by inclusion and lying module-finite over W₂.CoordinateRing.

Equations
Instances For
    @[simp]

    The induced map on an integral ideal's class is the relative norm, down to W₂.CoordinateRing, of the ideal extended into the intermediate ring.

    An ideal extending to the unit ideal of the intermediate ring has trivial class under the induced map: the relative norm of the unit ideal is the unit ideal.

    The induced map on a class is the relative norm, down to W₂.CoordinateRing, of that class extended into the intermediate ring. This is ClassGroup.extendedRelNormHom_apply for the structures the definition builds, so that consumers never have to unfold pushClassMonoidHom itself.

    The additive form of Isogeny.pushClassMonoidHom. The point group is described additively by its class group, so this is the shape the induced map on points is built from.

    Equations
    Instances For
      @[simp]

      The additive form is the multiplicative one, transported along Additive.

      @[simp]

      The identity isogeny induces the identity on class groups. Its intermediate ring is the coordinate ring itself, so extending a class into it and norming it back down leaves the class unchanged.

      @[simp]

      The identity isogeny induces the identity, additively.