Power classes of a commutative group under equivalences and products #
The group of n-th power classes of a commutative group G is the quotient
G ⧸ (powMonoidHom n).range, the spelling Mathlib.RingTheory.DedekindDomain.SelmerGroup uses.
This file transports that quotient along a multiplicative equivalence, and identifies the power
classes of the units of a product with the product of the power classes of the units of the
factors.
Main definitions #
QuotientGroup.congrRangePowMonoidHom: an equivalenceG ≃* HinducesG ⧸ (powMonoidHom n).range ≃* H ⧸ (powMonoidHom n).range.Units.modPowPiEquiv: takingn-th power classes of units commutes with products.
Main results #
QuotientGroup.pow_eq_one_quotient_range_powMonoidHom: everyn-th power class is killed byn.
Provenance #
Adapted, with the author's proofs, from Michael Stoll's EllipticCurves project
(github.com/MichaelStollBayreuth/EllipticCurves, Apache-2.0, pinned by
TauCetiRoadmap/EllipticCurves/README.md at 66889eada51a),
EllipticCurves/Mathlib/Basic.lean, section modPow, where the two are stated for the source's
Units.modPow abbreviation. Mathlib's QuotientGroup.mulEquivPiModRangePowMonoidHom and
MulEquiv.piUnits do the work of the source's Units.modPow.piEquiv; what is left here is the
transport along an equivalence and the composition of those two. The source is written against
Lean v4.32.0; this is a forward port. QuotientGroup.pow_eq_one_quotient_range_powMonoidHom is
not from the source.
Roadmap #
TauCetiRoadmap/EllipticCurves/README.md, Layer 6 (Mordell–Weil): the 2-descent map of the weak
Mordell–Weil theorem lands in the square classes of an étale algebra and is controlled one field
factor at a time, which is Units.modPowPiEquiv composed with the Chinese Remainder
decomposition of that algebra (TauCeti.RingTheory.AdjoinRoot.Factors). Nothing here mentions a
polynomial or a curve.
Every class modulo the subgroup of n-th powers is killed by n.
Taking n-th power classes of units commutes with products.
Equations
- Units.modPowPiEquiv α n = (QuotientGroup.congrRangePowMonoidHom MulEquiv.piUnits n).trans (QuotientGroup.mulEquivPiModRangePowMonoidHom (fun (i : ι) => (α i)ˣ) n)
Instances For
On the class of a unit, Units.modPowPiEquiv is componentwise projection to the factors.