Selmer groups of a finite etale algebra #
The finiteness of the Selmer group proved in
TauCeti.RingTheory.DedekindDomain.SInteger.SelmerGroup.Basic is stated for a Dedekind domain
with a fraction field. The arithmetic application needs it for a finite etale algebra A over a
number field, which is not a field but a product of them. This file makes that step: it forms the
product of the Selmer groups of the factors and transports it along a decomposition of A into
fields. The number-field case, where both finiteness hypotheses are theorems of Mathlib, is
TauCeti.RingTheory.DedekindDomain.SInteger.SelmerGroup.NumberField.
Main definitions #
IsDedekindDomain.selmerGroupPi: the product of the Selmer groups of the factors.IsDedekindDomain.selmerGroupOfEquiv: the Selmer group ofA, defined by pullingselmerGroupPiback along a decomposition ofAinto a product of fields.
Main results #
IsDedekindDomain.finite_selmerGroupPiandIsDedekindDomain.finite_selmerGroupOfEquiv: both are finite, for finitely many factors each with finite class group and finitely generated units.
Implementation notes #
The decomposition e is an input rather than something extracted from an Algebra.IsEtale
hypothesis: Mathlib does not provide the splitting of an etale algebra into fields, and at the
application site the decomposition is already in hand.
Where the source this follows takes the finiteness of each factor's Selmer group as an explicit
argument, here it is found by instance resolution: IsDedekindDomain.selmerGroup.finite is an
instance whose two hypotheses are supplied by IsDedekindDomain.finite_integer_classGroup and
Set.unit_fg_of_units, which are themselves instances. So a caller holding
[Finite (ClassGroup (B i))], [Monoid.FG (B i)ˣ] and the finiteness of S i gets it unaided;
the Set.Finite hypotheses are converted to Finite instances with Set.Finite.to_subtype.
References #
Adapted from Michael Stoll's elliptic-curves formalisation
(github.com/MichaelStollBayreuth/EllipticCurves, EllipticCurves/Mathlib/SelmerGroup.lean at the
EllipticCurves roadmap's pin 66889eada51a, Apache 2.0, by Michael Stoll), whose treatment this
follows. The names differ: that source abbreviates the quotient Kˣ ⧸ (Kˣ)ⁿ as Units.modPow and
states the per-factor finiteness as an explicit finite_selmerGroup, whereas here the quotient is
spelled out as Mathlib does and the finiteness is the instance
IsDedekindDomain.selmerGroup.finite.
The product of the Selmer groups of the field factors.
Equations
- IsDedekindDomain.selmerGroupPi L B S n = Subgroup.pi Set.univ fun (i : ι) => IsDedekindDomain.selmerGroup
Instances For
Membership in the product is membership in each factor.
A finite product of Selmer groups is finite.
The Selmer group of the etale algebra A, transported along a decomposition of A into a
product of fields.
Equations
- IsDedekindDomain.selmerGroupOfEquiv L B S n e = Subgroup.comap e.toMonoidHom (IsDedekindDomain.selmerGroupPi L B S n)
Instances For
Membership in the transported Selmer group is the Selmer condition on each factor.
The Selmer group of a finite etale algebra is finite.