Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.Affine.FunctionField.PowerTower

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 #

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
Instances For

    The generator: x ^ n lies in the copy of K(x^n).

    @[simp]

    The universal property: the copy of K(x^n) lies inside an intermediate field exactly when that field contains x ^ n.

    @[simp]

    [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.

    @[simp]

    [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.