Base change of the étale algebra, and the local condition of 2-descent #
Let W : y² = f(x) = x³ + a₂x² + a₄x + a₆ be an elliptic curve in characteristic ≠ 2 normal
form over a field K, with étale algebra A = K[X]⧸⟨f⟩ and descent map
μ : W(K) → M = Aˣ/(Aˣ)², as set up in
TauCeti/AlgebraicGeometry/EllipticCurve/MordellWeil/XSubT.lean.
Everything in that construction base-changes along a field extension L/K — in the arithmetic
application L is a completion of K. This file builds that base change and uses it to define
the local condition at L: the subgroup
W.localCondition L : Subgroup W.M
of square classes whose image in (W⁄L).M lies in the image of the local descent map μ_L. The
2-Selmer group of W is cut out of W.M by these conditions at all completions of K, so
localCondition is the object every later descent statement is phrased in.
Main definitions #
WeierstrassCurve.Affine.mapA: the base-change homomorphismK[X]⧸⟨f⟩ →+* L[X]⧸⟨f⟩of étale algebras.WeierstrassCurve.Affine.localRes: the induced mapW.M →* (W⁄L).Mon square classes.WeierstrassCurve.Affine.pointMap: the base-change homomorphismW(K) →+ W(L)on points.WeierstrassCurve.Affine.localCondition: the local2-descent condition atL.
Main statements #
WeierstrassCurve.Affine.localRes_μXandWeierstrassCurve.Affine.localRes_comp_μ: the descent map is natural under base change — restricting square classes after the globalμis applying the localμafter the base change of points.WeierstrassCurve.Affine.range_μ_le_localCondition: the image of the global descent map satisfies the local condition at every extension field. This is what makeslocalConditiona condition: it is a constraint the classes coming fromW(K)are known to satisfy, so the intersection of the local conditions boundsW(K)/2W(K)from above.WeierstrassCurve.Affine.card_range_μ_of_surjective_algebraMap: base change along an isomorphism preserves the size of the descent image, viaWeierstrassCurve.Affine.range_μ_of_surjective_algebraMap, which identifies the two images. This is the transport step: a count of#(im μ)established over a concrete field carries to any field isomorphic to it. Its inputs areWeierstrassCurve.Affine.bijective_mapA_of_surjective_algebraMapandWeierstrassCurve.Affine.localRes_injective_of_surjective_algebraMap.
Implementation notes #
Square classes are spelled W.M, the quotient of W.Aˣ by the range of powMonoidHom 2,
following XSubT.lean; the source uses a local abbreviation Units.modPow for the same group,
which is not a Mathlib declaration and which TauCeti deliberately does not carry, so that the
repository has a single spelling of square classes. Accordingly localRes is built from
QuotientGroup.map rather than from the source's Units.modPow.map.
pointMap is Mathlib's WeierstrassCurve.Affine.Point.map and is not a new construction: the
only content is the alignment of W with W⁄K, which baseChange_self supplies and
Mathlib's AddEquiv.cast transports along.
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/SelmerGroup.lean lines 85-323 — that file's BaseChange section: lines 85-295
give the base change up to the local condition and its compatibility with μ, and lines 296-323
give the isomorphism-invariance block — range_μ_of_bijective_algebraMap and
card_range_μ_of_bijective_algebraMap upstream, renamed here for the weaker hypothesis — plus the
étale-algebra bijectivity at line 168.
One declaration is not adapted from the source: localRes_injective_of_surjective_algebraMap
is re-derived here. The source obtains it from its local Units.modPow.bijective_map, which is in
the square-class spelling this repository does not carry, and Mathlib has no QuotientGroup.map
injectivity helper to appeal to instead.
This advances TauCetiRoadmap/EllipticCurves/README.md, Layer 6 (README:813-820), whose
"Explicit 2-descent (core, this layer)" bullet names "the local conditions" as the first item
to migrate.
Base changing along the identity algebra map returns the curve itself. Stated over a
commutative ring: it is a formal map identity and uses nothing about R beyond its ring
structure.
The base-change homomorphism K[X]⧸⟨f⟩ →+* L[X]⧸⟨f⟩ of étale algebras, as an instance of
AdjoinRoot.map (so that its API — map_of, map_root, map_comp_map, mapRingEquiv —
applies directly).
Equations
- W.mapA L = AdjoinRoot.map (algebraMap K L) W.f (WeierstrassCurve.toAffine (W.baseChange L)).f ⋯
Instances For
The base-change map on square classes of units of the étale algebra.
Equations
- W.localRes L = QuotientGroup.map (powMonoidHom 2).range (powMonoidHom 2).range (Units.map ↑(W.mapA L)) ⋯
Instances For
Base change of the étale algebra along a surjective algebra map of fields is an isomorphism:
mapA is AdjoinRoot.map, which AdjoinRoot.mapRingEquiv upgrades.
Surjectivity is the whole hypothesis: a ring homomorphism out of a field is automatically
injective, so algebraMap K L is bijective as soon as it is onto.
Along an isomorphism, the base-change map on square classes is injective: a square root of
mapA a pulls back along the isomorphism to a square root of a.
The base-change homomorphism on points, W(K) →+ W(L): Mathlib's
WeierstrassCurve.Affine.Point.map, aligned with the plain base change W⁄L via
baseChange_self.
Equations
- W.pointMap L = (WeierstrassCurve.Affine.Point.map (Algebra.ofId K L)).comp (AddEquiv.cast ⋯).toAddMonoidHom
Instances For
The base-change map on an affine point carries its coordinates along algebraMap K L.
The local 2-descent condition at the extension field L of K (in the applications,
L is a completion of K): the subgroup of square classes in the étale algebra of W
whose image over L comes from an L-point of the curve.
Equations
Instances For
The local restriction map is compatible with the x - T maps: the square class of
x - T restricts to that of σ(x) - T, and likewise for the modified class at a
2-torsion x-coordinate.
Naturality of the descent map under base change: restricting square classes after the
global μ is applying the local μ after the base change of points.
The image of the global descent map μ satisfies the local condition at every extension
field: this is formal from the naturality localRes_comp_μ.
Base change along an isomorphism #
If L/K is an isomorphism rather than a proper extension, nothing is lost: the étale algebras
are isomorphic, so the descent map has the same image over L as over K. This is what lets a
count established over a concrete field — ℝ, say — be transported to a completion that is
merely isomorphic to it.
Along an isomorphism, the descent image over L is the image of the descent image over K
under the local restriction of square classes. Formal from the naturality localRes_comp_μ,
once base change of points is seen to be surjective.
Base change along an isomorphism preserves the size of the descent image. This is the
transport step: a count of #(im μ) established over one field carries to any field isomorphic
to it.