Places, divisors and the divisor class group of F/K #
Definition: AlgebraicCurve_DivisorClassGroup (10001017-d65a-5012-a2fd-602421b3ec65), by Claude,
2026-09-05.
Fix fields $K\subseteq F$ (an arbitrary algebra of fields, with no function-field hypothesis
imposed). A Place K F is a structure with four fields: a valuation subring $\mathcal{O}\subseteq F$; the requirement that $\mathcal{O}$ contain the image of $K$; the requirement
$\mathcal{O}\neq\top$, i.e. $\mathcal{O}\neq F$; and the requirement that $\mathcal{O}$ be a
principal ideal ring. Since a proper valuation subring is not a field
(ValuationSubring.not_isField_of_ne_top,
proved here in Mathlib's root namespace), these data yield instances making $\mathcal{O}$ a discrete
valuation ring, a $K$-algebra, and part of a tower $K\subseteq\mathcal{O}\subseteq F$. Attached to
$v$ are its residue field $\kappa(v)$, the degree deg v $=\operatorname{finrank}_K\kappa(v)$ (a
natural number, hence $0$ when $\kappa(v)/K$ is infinite), the class FiniteResidue asserting
$\kappa(v)/K$ finite, the $\mathfrak{m}_v$-adic valuation adicValuation with values in
$\mathbb{Z}^{m0}$, and ord v f := -\log of that valuation, normalised so that a uniformiser has
order $1$ and, by convention, $\operatorname{ord}_v 0=0$; the accompanying lemmas give additivity on
nonzero elements, behaviour under inverses and integer powers, vanishing on units, and the
factorisation $f=u\pi^{\operatorname{ord}_v f}$.
Divisor K F is the abbreviation for finitely supported functions
$\mathrm{Place}\,K\,F\to\mathbb{Z}$; degree is the additive map $D\mapsto\sum_v D(v)\deg v$,
degZero its kernel, IsPrincipal D says that some $f\neq 0$ has $D(v)=\operatorname{ord}_v f$ for
all $v$, and principal is the resulting subgroup. The class HasPrincipalDivisors carries, as a
hypothesis rather than a theorem, the assertion that each $f\neq 0$ has such a finitely supported
divisor of degree $0$. Pic and Pic0 are the quotients of all divisors, resp. of degree-zero
divisors, by principal divisors, with Pic0.torsion K F n the $n$-torsion $\{x : n\cdot x=0\}$.
AbelJacobiCard K F p g is the predicate (not proved here) that $\#\mathrm{Pic}^0[p^n]=p^{2gn}$ for
all $n$. Finally, $F\simeq_K F$ acts on places by pointwise transport of the valuation subring,
preserving ord and deg, hence acts on divisors by pushforward of support, preserving degree,
degZero and principal, and so acts on Pic0. Place.ofHeightOneSpectrum produces a place from
a height-one prime of a Dedekind domain $R$ with $K\subseteq R$ and fraction field $F$.
Relation to Mathlib. Mathlib supplies valuation subrings, height-one spectra of Dedekind domains
and their adic valuations, but no notion of place, divisor or divisor class group of a field
extension; those are the project's own, built on Mathlib's ValuationSubring, Finsupp and
QuotientAddGroup. Two auxiliary lemmas,
ValuationSubring.not_isField_of_ne_top and
ValuationSubring.pointwise_smul_top, are
declared in Mathlib's root namespace.
Where it is used. This is the generic divisor-theoretic layer for an algebraic treatment of modular curves: places, divisors and $\mathrm{Pic}^0$ of the function field of $X_0(N)$, together with the automorphism action used to carry Hecke and Galois actions on the Jacobian and its $p$-power torsion. By itself it proves nothing about any particular curve.
<!-- Generated by add_prove2me_provenance.py -->
A discrete valuation ring in F, containing the constants K, represented by its valuation
subring.
- toValuationSubring : ValuationSubring F
The valuation subring defining the place.
- isPrincipalIdealRing' : IsPrincipalIdealRing ↥self.toValuationSubring
Instances For
The residue field degree over the constants, with finrank's value zero for infinite degree.
Equations
- v.deg = Module.finrank K v.ResidueField
Instances For
The residue field at this place is finite-dimensional over the constants.
- finite : Module.Finite K v.ResidueField
Instances
A finitely supported integer-valued function on the places of F over K.
Equations
- AlgebraicCurve.Divisor K F = (AlgebraicCurve.Place K F →₀ ℤ)
Instances For
The degree homomorphism, weighting each coefficient by the residue field degree.
Equations
- AlgebraicCurve.Divisor.degree = Finsupp.liftAddHom fun (v : AlgebraicCurve.Place K F) => AddMonoidHom.mulRight ↑v.deg
Instances For
The subgroup of divisors of degree zero.
Instances For
A divisor is principal if its coefficients are the orders of a nonzero function.
Equations
- D.IsPrincipal = ∃ (f : F), f ≠ 0 ∧ ∀ (v : AlgebraicCurve.Place K F), D v = v.ord f
Instances For
The subgroup of principal divisors.
Equations
- AlgebraicCurve.Divisor.principal = { carrier := {D : AlgebraicCurve.Divisor K F | D.IsPrincipal}, add_mem' := ⋯, zero_mem' := ⋯, neg_mem' := ⋯ }
Instances For
The divisor class group: divisors modulo principal divisors.
Equations
Instances For
The class of a degree-zero divisor in Pic0.
Equations
- AlgebraicCurve.Pic0.mk D = ↑D
Instances For
The subgroup of Pic0 annihilated by multiplication by n.
Equations
- AlgebraicCurve.Pic0.torsion K F n = (Submodule.torsionBy ℤ (AlgebraicCurve.Pic0 K F) ↑n).toAddSubgroup
Instances For
The cardinality formula p ^ (2 * g * n) for the p ^ n-torsion of Pic0.
Equations
- AlgebraicCurve.AbelJacobiCard K F p g = ∀ (n : ℕ), Nat.card ↥(AlgebraicCurve.Pic0.torsion K F (p ^ n)) = p ^ (2 * g * n)
Instances For
The equivalence of valuation rings induced by an automorphism of the function field.
Equations
Instances For
Equations
- AlgebraicCurve.Place.instMulActionAlgEquiv = { toSMul := AlgebraicCurve.Place.instSMulAlgEquiv, mul_smul := ⋯, one_smul := ⋯ }
Equations
- AlgebraicCurve.Pic0.instDistribMulActionAlgEquiv = { toSMul := AlgebraicCurve.Pic0.instSMulAlgEquiv, mul_smul := ⋯, one_smul := ⋯, smul_zero := ⋯, smul_add := ⋯ }
The place determined by a height-one prime of a Dedekind domain in its fraction field.
Equations
- One or more equations did not get rendered due to their size.