Definitions/Def_ModularCurve_CanonicalDivisorUniformizer.lean
Chosen uniformizer at a place and its order
The setting is a field extension F/K of fields and a place v : \mathrm{Place}\ K\ F, i.e. (in the project's sense) a valuation subring \mathcal{O}_v \subseteq F containing \mathrm{algebraMap}\ K\ F of all of K, distinct from F itself, and a principal ideal ring; such a ring is then a discrete valuation ring, v.\mathrm{ord} is the associated normalised additive valuation on F (minus the logarithm of the \mathfrak{m}_v-adic valuation, with the convention v.\mathrm{ord}\,0 = 0), and v.\mathrm{dCoord} \in \Omega[F\,\vert\,K] is the Kähler differential of a uniformizer at v.
AlgebraicCurve.Place.uniformizer makes this choice available as a public definition: it is the element of F obtained by coercing the irreducible element of \mathcal{O}_v whose existence is given by the discrete valuation ring structure on \mathcal{O}_v. Thus it is a chosen generator of the maximal ideal, canonical only up to a unit. Three facts accompany it. ord_uniformizer states v.\mathrm{ord}(\pi_v) = 1, so the chosen element does have order exactly one at v; it follows from the computation of \mathrm{ord} on the image of an irreducible element of \mathcal{O}_v. uniformizer_ne_zero states \pi_v \neq 0 in F, obtained from the previous statement together with v.\mathrm{ord}\,0 = 0. Finally dCoord_eq identifies the differential used for the canonical-divisor formalism with the differential of this element: v.\mathrm{dCoord} = D_{K/F}(\pi_v) in the module of Kähler differentials \Omega[F\,\vert\,K], where D is Mathlib's universal derivation. The point of the module is therefore to expose, under a stable name and with its basic properties, the same chosen irreducible element that is used privately in the definition of dCoord, so that the differential coefficient and order-of-differential constructions can be computed against an explicit local parameter.
Relation to Mathlib
The notion of Place of F/K as a valuation subring containing K, proper and principal, together with its ord, is the project's own; the existence of an irreducible element and the module of Kähler differentials \Omega[F\,\vert\,K] with its universal derivation KaehlerDifferential.D are taken from Mathlib.
Where it is used
These declarations serve the divisor-theoretic treatment of curves, in particular of modular curves, where orders of functions and of differentials at a place are computed against a local parameter; they underlie the definitions of the differential coefficient, the order of a differential and hence of the canonical divisor.
References
- H. Stichtenoth, Algebraic Function Fields and Codes, Springer, 1993
- J.-P. Serre, Local Fields, Graduate Texts in Mathematics 67, Springer, 1979
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 36 lines
- 4 declarations
- used in the statements of 32 theorems and imported by 52 proofs
- imports 1 definition modules
Source file: Definitions/Def_ModularCurve_CanonicalDivisorUniformizer.lean
Declarations
- def
AlgebraicCurve.Place.uniformizer - theorem
AlgebraicCurve.Place.ord_uniformizer - theorem
AlgebraicCurve.Place.uniformizer_ne_zero - theorem
AlgebraicCurve.Place.dCoord_eq
Source
import Mathlib import Definitions.Def_ModularCurve_CanonicalDivisor set_option autoImplicit false open KaehlerDifferential noncomputable section namespace AlgebraicCurve variable {K F : Type*} [Field K] [Field F] [Algebra K F] namespace Place variable (v : Place K F) def uniformizer : F := ((IsDiscreteValuationRing.exists_irreducible v.toValuationSubring).choose : F) theorem ord_uniformizer : v.ord v.uniformizer = 1 := by have hirr := (IsDiscreteValuationRing.exists_irreducible v.toValuationSubring).choose_spec simpa [uniformizer] using v.ord_coe_irreducible hirr theorem uniformizer_ne_zero : v.uniformizer ≠ 0 := by intro h simpa [h, v.ord_zero] using v.ord_uniformizer theorem dCoord_eq : v.dCoord = KaehlerDifferential.D K F v.uniformizer := rfl end Place end AlgebraicCurve end
Statements phrased using this module (32)
- Riemann–Roch over an algebraically closed base field
AlgebraicCurve.functionFieldRiemannRoch_of_isAlgClosed8 below · depth 9 - A principal divisor P-Q with deg Q=1 forces genus zero
AlgebraicCurve.genus_eq_zero_of_isPrincipal_single_sub_single28 below · depth 9 - Riemann–Roch from the residue theorem, K algebraically closed
AlgebraicCurve.functionFieldRiemannRoch_of_residueTheoremK_of_isAlgClosed0 below · depth 10 - Residue theorem over an algebraically closed base field
AlgebraicCurve.residueTheoremK_of_isAlgClosed6 below · depth 10 - Degree of a canonical divisor is 2g-2 over ̄ K
AlgebraicCurve.degree_canonicalDivisor_eq_of_isAlgClosed56 below · depth 11 - Residue theorem for K(x), K algebraically closed
AlgebraicCurve.residueTheoremK_ratFunc_of_isAlgClosed0 below · depth 11 - Residue–trace commutation through the completion, F/E separable
AlgebraicCurve.residueTraceCompletionCommute4 below · depth 11 - Unit derivatives are regular: du/dπ_w∈mathcal O_w
AlgebraicCurve.localUnitDerivativeRegular_of_isCurveOver2 below · depth 12 - Nonvanishing of pulled-back differentials in tame extensions
AlgebraicCurve.map_ne_zero_of_tame6 below · depth 12 - Residue theorem for curves over an algebraically closed field
AlgebraicCurve.residueTheorem_of_isAlgClosed8 below · depth 12 - Tate's residue agrees with the local residue trace
AlgebraicCurve.tateAgreement0 below · depth 12 - Chain rule for Tate's residue along F/E
AlgebraicCurve.tateChainRule0 below · depth 12 - Tate's commutator has finite K-rank at every place
AlgebraicCurve.tateCommFinite0 below · depth 12 - Trace compatibility of Tate's local residue for separable F/E
AlgebraicCurve.tateTraceCompat_of_isSeparable0 below · depth 12 - Hurwitz genus formula for tame separable extensions
AlgebraicCurve.two_mul_genus_sub_two_eq_of_degree_canonical6 below · depth 12 - Adelic Weil duality over an algebraically closed constant field
AlgebraicCurve.weilDualityAdelic_of_isAlgClosed69 below · depth 13 - Weil differentials bounded by W are F-proportional
AlgebraicCurve.exists_weilSmul_eq_of_riemannIndexFormula23 below · depth 17 - Attained Riemann genus equals the canonical genus
AlgebraicCurve.riemannGenusReached_of_stichtenothGenusExists23 below · depth 17 - Adelic index formula from an attained Riemann genus
AlgebraicCurve.riemannIndexFormula_of_genusReached23 below · depth 17 - dim_K Ω_F(D) = ℓ((ω) - D)
AlgebraicCurve.finrank_omegaSpace_eq_ell_canonical_sub_of_genusReached23 below · depth 19 - Residue commutes with trace through the completion
AlgebraicCurve.residueTraceCompletionCommute_v24 below · depth 21 - Tate's residue equals the trace of the local residue
AlgebraicCurve.tateAgreement_v20 below · depth 22 - Finiteness of the ramification locus of a tame separable cover
AlgebraicCurve.exists_finset_forall_not_mem_ramificationIndex_eq_one6 below · depth 24 - Residue theorem over a perfect constant field
AlgebraicCurve.residueTheorem_of_perfectField65 below · depth 27 - Residue of dt/t is 1 at any uniformiser
AlgebraicCurve.Place.CanonicalLocalResidueDataK.res_differentialCoeff_D_mul_inv_eq_one0 below · depth 28 - Vanishing residue of partialᵥ(dt) t⁻⁽ⁿ⁺¹⁾ at a rational place
AlgebraicCurve.Place.CanonicalLocalResidueDataK.res_differentialCoeff_D_mul_pow_inv_eq_zero_of_surjective_algebraMap0 below · depth 28 - Order of a pulled-back differential at a place (tame case)
AlgebraicCurve.ordDifferential_map_eq6 below · depth 28 - Residue theorem for F from K(x) via trace–residue commutation
AlgebraicCurve.residueTheorem_of_residueTheorem_ratFunc_of_residueTraceCompletionCommute0 below · depth 28 - Residue theorem for K(x) over a perfect field
AlgebraicCurve.residueTheorem_ratFunc_of_perfectField63 below · depth 28 - Simple-pole residue cancellation for c dX/p on P¹
AlgebraicCurve.RationalFunctionField.trace_localResidue_finitePlace_add_trace_localResidue_placeInfty_eq_zero0 below · depth 29 - Traceless residues of higher poles at finite places of K(X)
AlgebraicCurve.RationalFunctionField.trace_localResidue_finitePlace_div_pow_eq_zero60 below · depth 29 - Vanishing of the residue of Xⁿ dX at infinity
AlgebraicCurve.RationalFunctionField.trace_localResidue_placeInfty_X_pow_eq_zero1 below · depth 29