Definitions/Def_AlgebraicCurve_RatFuncPlaceInfty.lean
The place at infinity of a rational function field
Let K be a field. Mathlib's valuation v_\infty = RatFunc.inftyValuation K on K(t) sends 0 to 0 and a nonzero f to \exp(\deg_{\mathrm{int}} f), so that p/q \mapsto \exp(\deg p - \deg q); its valuation subring is \{f : v_\infty(f) \le 1\} = \{p/q : \deg p \le \deg q\}. The module first records nontrivial_valueGroup_inftyValuation: the value group of (the monoid-with-zero-hom class of) v_\infty is nontrivial, witnessed by the image \exp(1) of t, which is a nonzero non-identity element of that group.
The main definition, placeInfty K, exhibits this valuation subring as a term of the project's structure Place K (RatFunc K), whose fields are: a valuation subring of the ambient field; the requirement that the image of every element of the base field K lie in it, verified here from triviality of v_\infty on constants; the requirement that the subring be distinct from the whole field, which follows from the nontriviality just proved; and the requirement that it be a principal ideal ring, obtained from discreteness of v_\infty (the Place structure then supplies, for any such place, a discrete valuation ring structure, an order function \mathrm{ord}, a residue field and a degree). A simp lemma identifies the underlying valuation subring of placeInfty K with that of v_\infty.
Relation to Mathlib
Mathlib supplies the valuation RatFunc.inftyValuation and its valuation subring; the structure Place packaging a valuation subring of an extension F/K containing K, proper and principal, is the project's own, and this module produces the corresponding term for the place at infinity.
Where it is used
Together with the places Place.ofHeightOneSpectrum attached to the height-one primes of K[t], this is the remaining place of K(t)/K, so it enters the project's computations of divisors, degrees and degree-zero divisor class groups for the rational function field.
References
- H. Stichtenoth, Algebraic Function Fields and Codes, 2nd ed., Graduate Texts in Mathematics 254, Springer, 2009, §1.2
- 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.
- 45 lines
- 3 declarations
- used in the statements of 90 theorems and imported by 187 proofs
- imports 1 definition modules
Source file: Definitions/Def_AlgebraicCurve_RatFuncPlaceInfty.lean
Declarations
- theorem
AlgebraicCurve.RationalFunctionField.nontrivial_valueGroup_inftyValuation - def
AlgebraicCurve.RationalFunctionField.placeInfty - theorem
AlgebraicCurve.RationalFunctionField.placeInfty_toValuationSubring
Source
import Mathlib import Definitions.Def_AlgebraicCurve_DivisorClassGroup set_option autoImplicit false noncomputable section open IsDedekindDomain WithZero namespace AlgebraicCurve namespace RationalFunctionField variable (K : Type*) [Field K] [DecidableEq (RatFunc K)] theorem nontrivial_valueGroup_inftyValuation : Nontrivial (MonoidWithZeroHom.valueGroup (.ofClass (RatFunc.inftyValuation K))) := by rw [Subgroup.nontrivial_iff_exists_ne_one] refine ⟨Units.mk0 (RatFunc.inftyValuation K RatFunc.X) (by rw [RatFunc.inftyValuation.X]; exact exp_ne_zero), ?_, ?_⟩ · exact MonoidWithZeroHom.mem_valueGroup _ ⟨RatFunc.X, rfl⟩ · rw [ne_eq, Units.ext_iff, Units.val_mk0, Units.val_one, RatFunc.inftyValuation.X] simp def placeInfty : Place K (RatFunc K) := haveI := nontrivial_valueGroup_inftyValuation K { toValuationSubring := (RatFunc.inftyValuation K).valuationSubring algebraMap_mem' := fun a => by rw [Valuation.mem_valuationSubring_iff] exact Valuation.IsTrivialOn.valuation_algebraMap_le_one (v := RatFunc.inftyValuation K) a ne_top' := by simp only [ne_eq, Valuation.valuationSubring_eq_top_iff, not_not] infer_instance isPrincipalIdealRing' := (Valuation.valuationSubring_isDiscreteValuationRing (RatFunc.inftyValuation K)).toIsPrincipalIdealRing } @[simp] theorem placeInfty_toValuationSubring : (placeInfty K).toValuationSubring = (RatFunc.inftyValuation K).valuationSubring := rfl end RationalFunctionField end AlgebraicCurve
Statements phrased using this module (90)
- The place at infinity of K(t) has degree one
AlgebraicCurve.RationalFunctionField.deg_placeInfty8 below · depth 10 - Places of K(t): the finite places and ∞
AlgebraicCurve.RationalFunctionField.eq_ofHeightOneSpectrum_or_eq_placeInfty3 below · depth 10 - Finite-dimensionality of L(0) when the constants are K
AlgebraicCurve.RationalFunctionField.finiteDimensional_lSpace_zero_of_constantsAreBase23 below · depth 10 - Existence of a place for a finite separable extension of K(X)
AlgebraicCurve.RationalFunctionField.nonempty_place_of_ratFunc_tower4 below · depth 10 - Riemann's index theorem for curves over a perfect field
AlgebraicCurve.exists_genus_riemannIndex_of_isCurveOver26 below · depth 10 - Powers of a transcendental element are linearly independent
AlgebraicCurve.linearIndependent_pow_of_transcendental23 below · depth 10 - Places of K(t) over an algebraically closed K have degree one
AlgebraicCurve.RationalFunctionField.deg_eq_one_of_isAlgClosed37 below · depth 11 - The infinite place of K(t) characterised among all places
AlgebraicCurve.RationalFunctionField.eq_placeInfty_iff_forall_ne_ofHeightOneSpectrum2 below · depth 11 - Places of K(t) for K algebraically closed: P¹(K)
AlgebraicCurve.RationalFunctionField.eq_placeOfPoint_or_eq_placeInfty4 below · depth 11 - Order at the infinite place is minus the degree
AlgebraicCurve.RationalFunctionField.ord_placeInfty8 below · depth 11 - Order at infinity of a polynomial is -deg q
AlgebraicCurve.RationalFunctionField.ord_placeInfty_algebraMap9 below · depth 11 - Order at the place t=a equals root multiplicity
AlgebraicCurve.RationalFunctionField.ord_placeOfPoint_algebraMap37 below · depth 11 - The place at infinity of K(t) is not a finite place
AlgebraicCurve.RationalFunctionField.placeInfty_ne_ofHeightOneSpectrum0 below · depth 11 - Existence of the genus for separable extensions of K(X)
AlgebraicCurve.RationalFunctionField.stichtenothGenusExists23 below · depth 11 - A pole of X forces the place at infinity on K(X)
AlgebraicCurve.RationalFunctionField.eq_placeInfty_of_ord_X_neg5 below · depth 12 - Existence of the Stichtenoth genus for a curve over a perfect field
AlgebraicCurve.stichtenothGenusExists_of_isCurveOver25 below · depth 12 - ordᵤ(X)≥ 0 for every place u≠∞ of K(X)
AlgebraicCurve.RationalFunctionField.ord_X_nonneg_of_ne_placeInfty23 below · depth 14 - ord_∞(X) = -1 on the rational function field
AlgebraicCurve.RationalFunctionField.ord_placeInfty_X23 below · depth 14 - Weil differentials form a rank-one F-module for curves
AlgebraicCurve.weilDifferentialRankOne_of_isCurveOver26 below · depth 14 - Representability of relative Pic⁰ under two-line degenerations
AlgebraicGeometry.RelPicard.exists_representsRelSubPic_algEquivZeroCut_of_smoothLocus_of_twoLineDegenerations628 below · depth 14 - First reduction of the cusp ∞̄ is the j-line cusp
ModularCurve.PlaceSpecialization.redFst_cuspInftyBar12 below · depth 14 - Places with no integral j-value reduce to the cusp
ModularCurve.PlaceSpecialization.redFst_eq_placeInfty_of_forall_ord_le_zero8 below · depth 14 - Second reduction of the cusp ̄ 0 at q
ModularCurve.PlaceSpecialization.redSnd_cuspZeroBar95 below · depth 14 - A place with a pole at jmath̃ is the place at infinity
ModularCurve.eq_charLGeomPlaceEquiv_placeInfty_of_ord_neg6 below · depth 14 - At the cusp of the level-one j-line, ord is the q-adic order
ModularCurve.ord_charLGeomPlaceEquiv_placeInfty_eq_order9 below · depth 14 - Reduction of principal divisors on the projective line
AlgebraicCurve.RationalFunctionField.mapDomain_eq_ord_div_map_of_primitive14 below · depth 15 - Divisor of X-b on the rational function field
AlgebraicCurve.RationalFunctionField.ord_X_sub_C37 below · depth 15 - The place t=a differs from the place at infinity
AlgebraicCurve.RationalFunctionField.placeOfPoint_ne_placeInfty1 below · depth 15 - Weil reciprocity for the rational function field
AlgebraicCurve.RationalFunctionField.weilReciprocity37 below · depth 15 - Relative Pic⁰ on a basic open, two-line degenerations
AlgebraicGeometry.RelPicard.forall_prime_exists_representsRelSubPic_algEquivZeroCut_baseChange_away_of_smoothLocus_of_twoLineDegenerations627 below · depth 15 - Algebraically trivial bundle with a section on two glued lines
AlgebraicGeometry.TwoGluedProjectiveLines.nonempty_iso_unit_of_isAlgEquivZero_of_ne_zero331 below · depth 15 - Local pools of disjoint étale multisections near the cusp
ModularCurve.DRModelPackage.exists_locallySplitPools_of_five_le1,048 below · depth 15 - First level-one reduction is the place j=b̄
ModularCurve.PlaceSpecialization.redFst_eq_charLGeomPlaceOfPoint_of_ord_pos5 below · depth 15 - Places with non-integral j specialise to j=∞
ModularCurve.PlaceSpecialization.sp_eq_placeInfty_of_forall_ord_le_zero7 below · depth 15 - Double transitivity of k(t)-automorphisms on rational places
AlgebraicCurve.RationalFunctionField.exists_algEquiv_congrRingEquiv_placeInfty_eq_placeOfPoint_zero_eq53 below · depth 16 - Chart divisors from a split pool of sections cover Pic⁰
AlgebraicGeometry.RelPicard.exists_chart_subsingleton_H1_fibre_of_blocks_of_injective413 below · depth 16 - Block general position for a split pool on geometric fibres
AlgebraicGeometry.RelPicard.exists_injective_forall_subsingleton_H1_of_blocks_of_pool_of_bijective_sections406 below · depth 16 - Openness of the algebraically-trivial locus for twisted divisor bundles
AlgebraicGeometry.RelPicard.exists_opens_range_subset_iff_isAlgEquivZero_twistModule_baseChange_of_twoLineDegenerations430 below · depth 16 - Fibrewise zero schemes as degree-g divisors inside U
AlgebraicGeometry.RelPicard.exists_relEffCartierDiv_I_eq_zeroSchemeIdeal_chartModule_fibre372 below · depth 16 - LFP-surjectivity of the base-changed Pic⁰ presheaf
AlgebraicGeometry.RelPicard.isLFPSurj_relSubPicPresheaf_algEquivZeroCut_baseChange_of_twoLineDegenerations440 below · depth 16 - Graph chart divisors lie on the ε-component of non-smooth fibres
AlgebraicGeometry.RelPicard.preimage_support_prodKerGraph_subset_connectedComponentIn_of_blocks0 below · depth 16 - Line bundles on two glued projective lines: Čech model
AlgebraicGeometry.TwoGluedProjectiveLines.exists_linearEquiv_sectionsOf_gluedLinesSections_and_eulerChar_pullback_of_isAlgClosed327 below · depth 16 - Locally split pools at primes 𝔭⊆(ℓ), ℓ≠ p
ModularCurve.DRModelPackage.exists_locallySplitPools_of_le_span_of_ne846 below · depth 16 - Locally split pools at primes above p
ModularCurve.DRModelPackage.exists_locallySplitPools_of_le_span_prime487 below · depth 16 - Order of the first residue at non-geometric places
ModularCurve.PlaceSpecialization.LevelOneProlongationPair.ord_residue_fst_eq_zero_of_forall_ne11 below · depth 16 - Infinity-side places have the same first reduction as ∞̄
ModularCurve.PlaceSpecialization.redFst_eq_redFst_cuspInftyBar_of_isInftySide11 below · depth 16 - Second level-one reduction at a place with integral j_q
ModularCurve.PlaceSpecialization.redSnd_eq_charLGeomPlaceOfPoint_of_ord_pos5 below · depth 16 - Specialisation of a place where j-b vanishes
ModularCurve.PlaceSpecialization.sp_eq_charLGeomPlaceOfPoint_of_ord_pos5 below · depth 16 - Geometric Frobenius fixes the place at infinity
ModularCurve.frobOnPlacesGeomLevel_charLGeomPlaceEquiv_placeInfty7 below · depth 16 - Chart rings of a smooth proper model of K(T)
AlgebraicCurve.CurveModel.range_sections_eq_map_eval2_polyPart_invPolyPart_of_coe_eq_compl6 below · depth 17 - Order at infinity under reduction of E(X) to K(X)
AlgebraicCurve.RationalFunctionField.ord_placeInfty_eq_ord_placeInfty_add_sum_ord_placeOfPoint_of_reduction51 below · depth 17 - 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 - Chart killing Čech H¹ on a non-smooth geometric fibre
AlgebraicGeometry.RelPicard.exists_chart_subsingleton_H1_fibre_of_blocks_of_not_smooth363 below · depth 17 - Block general position at a two-line degenerate geometric fibre
AlgebraicGeometry.RelPicard.exists_injective_forall_subsingleton_H1_of_blocks_of_twoLineDegeneration_of_sectionInSmoothLocus364 below · depth 17 - Openness of the Pic⁰ locus along the degeneration locus
AlgebraicGeometry.RelPicard.exists_isOpen_inter_preimage_eq_setOf_isAlgEquivZero_fibre_of_smoothLocus_of_twoLineDegenerations400 below · depth 17 - Zero schemes on non-smooth two-line geometric fibres
AlgebraicGeometry.RelPicard.exists_relEffCartierDiv_I_eq_zeroSchemeIdeal_chartModule_fibre_of_not_smooth_of_isReduced369 below · depth 17 - Degree-g divisors cutting out sections on smooth geometric fibres
AlgebraicGeometry.RelPicard.exists_relEffCartierDiv_I_eq_zeroSchemeIdeal_chartModule_fibre_of_smooth267 below · depth 17 - Point-independence of algebraic triviality of fibres under two-line degeneration
AlgebraicGeometry.RelPicard.isAlgEquivZero_fibre_of_range_subset_singleton_of_twoLineDegenerations335 below · depth 17 - Chart rings of two projective lines glued at nodes
AlgebraicGeometry.TwoGluedProjectiveLines.exists_algEquiv_cover_gluedLinesCover8 below · depth 17 - Anchored chart dictionary for two transversally glued projective lines
AlgebraicGeometry.TwoGluedProjectiveLines.exists_algEquiv_cover_gluedLinesCover_eval2_apply_eq8 below · depth 17 - Node-ratio invariant for two glued projective lines
AlgebraicGeometry.TwoGluedProjectiveLines.exists_nodeRatioHom72 below · depth 17 - Riemann–Roch for K(t) with genus 0 and -2[∞]
AlgebraicCurve.RationalFunctionField.ell_sub_ell_eq_genus_zero25 below · depth 18 - Euler characteristic g+1 on the first line of a degenerate fibre
AlgebraicGeometry.RelPicard.eulerChar_pullback_firstLine_sectionTwist_tensor_idealModule_eq259 below · depth 18 - Euler characteristic g+1 on the section component of a two-line fibre
AlgebraicGeometry.RelPicard.eulerChar_pullback_tensor_invModule_pow_ker_tensor_module_prod_ker_eq_of_twoLineDegeneration263 below · depth 18 - Vanishing H¹ and h⁰=1 on a two-line fibre
AlgebraicGeometry.RelPicard.subsingleton_H1_and_finrank_H0_fibre_of_twoGluedProjectiveLines357 below · depth 18 - Two lines glued at s points: s = g+1
AlgebraicGeometry.TwoGluedProjectiveLines.eq_finrank_H1_add_one_of_finrank_H0_eq_one330 below · depth 18 - Zeros of a section on two glued rational curves
AlgebraicGeometry.TwoGluedProjectiveLines.exists_relEffCartierDiv_I_eq_zeroSchemeIdeal_and_supportedIn_of_ne_zero_of_pos339 below · depth 18 - Two-glued-lines presentation transports along an isomorphism of k-schemes
AlgebraicGeometry.TwoGluedProjectiveLines.exists_twoAffineOpenCover_presentation_comp_iso0 below · depth 18 - Multidegree (s-1,0) bundles on two glued lines: h⁰=1, H¹=0
AlgebraicGeometry.TwoGluedProjectiveLines.finrank_H0_sectionsOf_eq_one_and_subsingleton_H1_of_eulerChar_pullback_eq_of_isAlgClosed331 below · depth 18 - Trivial pullbacks of L force h⁰(M_±)<2
AlgebraicGeometry.TwoGluedProjectiveLines.finrank_H0_twists_lt_two_of_nonempty_pullback_iso_unit334 below · depth 18 - Triviality on both lines when h⁰ of both twists is <2
AlgebraicGeometry.TwoGluedProjectiveLines.nonempty_pullback_iso_unit_of_finrank_H0_twists_lt_two334 below · depth 18 - Rational functions with trivial divisor are constant
AlgebraicCurve.RationalFunctionField.exists_algebraMap_of_forall_ord_eq_zero37 below · depth 19 - dim_K Ω_F(D) = ℓ((ω) - D)
AlgebraicCurve.finrank_omegaSpace_eq_ell_canonical_sub_of_genusReached23 below · depth 19 - Čech cohomology of a bundle on two glued projective lines
AlgebraicGeometry.TwoGluedProjectiveLines.exists_finrank_H0_sectionsOf_eq_finrank_H0_gluedLinesSections_and_eulerChar_pullback_of_isAlgClosed328 below · depth 19 - Places of the level-one ̄ j-line over an algebraically closed field
ModularCurve.eq_charLGeomPlaceOfPoint_or_eq_charLGeomPlaceEquiv_placeInfty5 below · depth 19 - Strict first-kind places reduce onto the Frobenius graph
ModularCurve.PlaceSpecialization.exists_ord_jFun_sub_pos_and_red_eq_pow_of_isStrictFst59 below · depth 20 - A j-fixing semilinear automorphism fixes the place at infinity
ModularCurve.smul_charLGeomPlaceEquiv_placeInfty_of_smul_jqModC16 below · depth 21 - Chart data from a unit family with polynomial residues
ModularCurve.exists_chartData_of_lineResidues57 below · depth 24 - Clearing simple poles on the j-line gives a polynomial
ModularCurve.exists_prod_mul_eq_aeval_of_forall_ord_nonneg_of_forall_neg_one_le_ord58 below · depth 24 - Clearing prescribed poles on the j-line by polynomials
ModularCurve.exists_prod_pow_mul_eq_aeval_of_forall_ord_nonneg_of_forall_neg_le_ord58 below · depth 24 - The coordinate jmath̃ has order -1 at the place at infinity
ModularCurve.ord_charLGeomPlaceEquiv_placeInfty_jqModC11 below · depth 24 - Polynomials lie in every place other than ∞
AlgebraicCurve.RationalFunctionField.algebraMap_polynomial_mem_of_ne_placeInfty23 below · depth 25 - Value at infinity: f(∞)=c when deg(f-c)<0
AlgebraicCurve.RationalFunctionField.evalAt_placeInfty_eq37 below · depth 25 - Evaluation at the place t=a of K(t) is q ↦ q(a)
AlgebraicCurve.RationalFunctionField.evalAt_placeOfPoint_algebraMap37 below · depth 25 - Functions on the j-line with one pole and prescribed values
ModularCurve.exists_eq_algebraMap_add_prod_mul_aeval_of_forall_ord_nonneg_of_hasValue52 below · depth 25 - 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