Power subfields of the function field of a Weierstrass curve #
For any field K, exponent n, and Weierstrass curve W, this file packages the tower
K(x^n) ⊆ K(x) ⊆ K(W) and computes [K(W) : K(x^n)] = 2n.
It is the generator X ^ n case of AdjoinTower.lean, which proves the same tower for an
arbitrary rational function; the single input this file supplies is
TauCeti.RatFunc.finrank_adjoin_X_pow, that [K(x) : K⟮X ^ n⟯] = n.
At n = 0, the displayed degree formulas use Module.finrank's value 0 for an
infinite-dimensional extension: K(x^0) = K, so both sides of each formula read 0.
Main results #
WeierstrassCurve.Affine.ratFuncAdjoinXPowRange: the copy ofK(x^n)insideK(W), withalgebraMap_X_pow_mem_ratFuncAdjoinXPowRangefor its generator.WeierstrassCurve.Affine.finrank_ratFuncAdjoinXPowRange:[K(W) : K(x^n)] = 2 * n.WeierstrassCurve.Affine.ratFuncAdjoinXPowRange_eq_map_ratFuncRangeandWeierstrassCurve.Affine.finrank_fieldRange_of_apply_X_eq_pow: for any embeddingf : K(W') → K(W)of function fields sending the affine coordinate ofW'tox ^ n, the copy ofK(x^n)is the image ofK(x'), and[K(W) : f(K(W'))] = n. This is the whole tower comparison behind a degree of an inseparable isogeny; the absolute and the relative Frobenius each supply their ownhfand read off their degree.
No result needs W to be elliptic: the Weierstrass equation alone gives the power basis.
The finite-field Frobenius and relative Frobenius degree computations both use this tower.
Provenance #
The tower argument lives in Affine/FunctionField/AdjoinTower.lean, stated for an arbitrary
generator; this file holds the X ^ n specialisation. Its finite-field ancestor is the AINTLIB
HasseWeil project (github.com/CBirkbeck/AINTLIB, Apache-2.0, pinned at
513e83879e2f8cbc626eb9e04d660e92be16ccba),
HasseWeil/FrobeniusIsogeny.lean, where the exponent is the cardinality of a finite field and the
embedding is the q-power map. The rational-function input TauCeti.RatFunc.finrank_adjoin_X_pow
is recorded in TauCeti/FieldTheory/RatFunc/PowerTower.lean; the finite-field specialisation stays
in Affine/FunctionField/FrobeniusTower.lean.
The image of the field generated by X ^ n inside K(W). This is
IntermediateField.extendRight at the generator X ^ n; everything below is
AdjoinTower.lean's tower read through TauCeti.RatFunc.finrank_adjoin_X_pow, which
supplies [K(x) : K⟮X ^ n⟯] = n.
Equations
- W.ratFuncAdjoinXPowRange n = K⟮RatFunc.X ^ n⟯.extendRight W.FunctionField
Instances For
The generator: x ^ n lies in the copy of K(x^n).
The universal property: the copy of K(x^n) lies inside an intermediate field exactly
when that field contains x ^ n.
[K(x) : K(x^n)] = n, read inside K(W). At n = 0, this is the finrank value
0 for the infinite-dimensional extension K(x) / K.
[K(W) : K(x^n)] = 2n. At n = 0, both sides are 0: the extension over
K(x^0) = K is infinite-dimensional, and Module.finrank reports 0.
The copy of K(x^n) inside K(W) is the image of the rational function field of W',
for any embedding f : K(W') → K(W) of function fields carrying the affine coordinate of W' to
x ^ n. This is the field the degree tower below is anchored at, in its two descriptions.
[K(W) : f(K(W'))] = n for an embedding f : K(W') → K(W) of function fields carrying the
affine coordinate of W' to x ^ n. Both K(x) and the image of K(W') lie between K(x^n) and
K(W), of relative degrees n and 2 over it; since [K(W) : K(x)] = 2 as well, the two towers
give 2 · [K(W) : f(K(W'))] = 2n.