Documentation

TauCeti.AlgebraicGeometry.WeilDivisor.Principal.Basic

Principal divisors and the divisor class group of an order system #

This file adds the next piece of the Jacobian roadmap's Layer A on top of the formal Weil divisor group: principal divisors, the divisor class group Cl(X), and the abstract degree-zero subgroup Pic⁰.

The geometric input is packaged as an OrderSystem: a family of ℤ-valued order-of-vanishing homomorphisms ord x : G →+ ℤ indexed by the points X, with the finiteness condition that each g : G has nonzero order at only finitely many points. Instantiating G with Additive Kˣ for the multiplicative group of a function field, ord x is the order of vanishing ord_x(f) of a rational function f at the point x, and the principal divisor of f is the finite formal sum Σ_x ord_x(f) · [x]. The finiteness condition is exactly the statement that a rational function has zeros and poles at only finitely many points.

From this data we build:

This advances the Layer A roadmap item "principal divisors" and constructs the abstract "Pic⁰ X = ker deg (as an abstract group, with the geometric degree supplied as a weight)" of TauCetiRoadmap/JacobianChallenge/README.md. It builds only the divisor-class side Cl(X) of the later "Cl(X) ≅ Pic X" comparison: the Picard group and the equivalence to it are not constructed here, but are later geometric work, before the Picard functor and Picard scheme exist. The geometric ord_x (residue-field valuations of a function field) and the proof that a principal divisor has weighted degree zero are later geometric constructions; here both are abstracted to the data of an OrderSystem, a weight function, and the predicate IsWeightedDegreeZero.

No external mathematics is vendored. This reuses Tau Ceti's existing WeilDivisor API and Mathlib's Finsupp.ofSupportFinite (to assemble a finitely supported function from coordinatewise data) and QuotientAddGroup quotient machinery.

structure TauCeti.AlgebraicGeometry.WeilDivisor.OrderSystem (X : Type u_1) (G : Type u_2) [AddCommGroup G] :
Type (max u_1 u_2)

An order system on a type of points X with values in a group G: a family of ℤ-valued homomorphisms ord x : G →+ ℤ, the orders of vanishing at each point, such that every g : G vanishes to nonzero order at only finitely many points.

Instantiate G with Additive Kˣ for the multiplicative group of a function field K: then ord x is the order of vanishing ord_x(f) of a rational function at the point x, and the finiteness condition records that a rational function has zeros and poles at only finitely many points. The principal divisor of f is Σ_x ord_x(f) · [x].

  • ord : X → G →+ ℤ

    The order of vanishing at each point, as a homomorphism G →+ ℤ.

  • finite_support (g : G) : (Function.support fun (x : X) => (self.ord x) g).Finite

    Each group element has nonzero order at only finitely many points.

Instances For

    The principal divisor Σ_x ord_x(g) · [x] attached to g : G.

    Equations
    Instances For
      @[simp]

      Principal divisors as a homomorphism G →+ WeilDivisor X.

      Equations
      Instances For

        The principal-divisor construction depends only on the family of order homomorphisms, not on the proof that their supports are finite. This is the transport lemma used when a geometric order system is compared with an abstractly supplied one.

        The subgroup of principal divisors.

        Equations
        Instances For

          The subgroup of principal divisors is the range of the principal-divisor homomorphism.

          Two Weil divisors are linearly equivalent with respect to S when their difference is a principal divisor. This is the equivalence relation whose quotient is the divisor class group.

          Equations
          Instances For

            Two Weil divisors are linearly equivalent exactly when their difference is the principal divisor of some g : G. This is the direct introduction/elimination form of LinearlyEquivalent, exposing the witnessing function.

            Linear equivalence is compatible with adding equivalent divisors on both sides.

            Adding the same divisor on the right preserves linear equivalence.

            Adding the same divisor on the left preserves linear equivalence.

            A divisor plus a principal divisor is linearly equivalent to the original divisor.

            Subtracting a principal divisor from a divisor is linearly equivalent to the original divisor.

            @[reducible, inline]

            The divisor class group Cl(X) = WeilDivisor X ⧸ (principal divisors) of an order system S.

            Equations
            Instances For

              The divisor class of a Weil divisor in the divisor class group.

              Equations
              Instances For

                The divisor-class map is the canonical additive quotient projection WeilDivisor X → Cl(X). This is the definitional equation, exposed so that downstream files can rewrite between divisorClass and QuotientAddGroup.mk'.

                Two Weil divisors have the same divisor class exactly when they are linearly equivalent, that is, when their difference is a principal divisor.

                noncomputable def TauCeti.AlgebraicGeometry.WeilDivisor.OrderSystem.ClassGroup.lift {X : Type u_1} {G : Type u_2} [AddCommGroup G] (S : OrderSystem X G) {H : Type u_3} [AddCommGroup H] (φ : WeilDivisor X →+ H) (hφ : ∀ (g : G), φ (S.principalDivisor g) = 0) :

                The universal property of the divisor class group: a homomorphism φ : WeilDivisor X →+ H that sends every principal divisor to 0 descends to a homomorphism Cl(X) →+ H.

                Equations
                Instances For
                  @[simp]
                  theorem TauCeti.AlgebraicGeometry.WeilDivisor.OrderSystem.ClassGroup.lift_divisorClass {X : Type u_1} {G : Type u_2} [AddCommGroup G] (S : OrderSystem X G) {H : Type u_3} [AddCommGroup H] (φ : WeilDivisor X →+ H) (hφ : ∀ (g : G), φ (S.principalDivisor g) = 0) (D : WeilDivisor X) :
                  (lift S φ hφ) (S.divisorClass D) = φ D

                  An order system has weighted-degree-zero principal divisors for a weight w : X → ℤ when every principal divisor has weighted degree zero.

                  For a smooth proper curve over a field k, the intended weight is the residue-field degree x ↦ [κ(x) : k]; this is the geometric fact that a rational function has as many zeros as poles, counted with residue-field degrees.

                  Equations
                  Instances For

                    Weighted-degree-zero principal divisors are invariant under replacing an order system by one with the same order homomorphisms. In particular, an abstract contract can be discharged by the concrete geometric order system without identifying the finite-support proof fields.

                    When principal divisors have weighted degree zero, the weighted degree map descends to the divisor class group: linearly equivalent divisors have the same weighted degree.

                    Equations
                    Instances For

                      The weighted-degree-zero part of the divisor class group, the abstract Pic⁰ of the Jacobian roadmap: the kernel of the weighted degree map on divisor classes.

                      Equations
                      Instances For
                        @[simp]

                        The class of a Weil divisor lies in picZero exactly when that representative has weighted degree zero; the value is well defined because the weighted degree descends to the class.

                        An order system has unweighted-degree-zero principal divisors when every principal divisor has unweighted degree zero. This is the specialization of IsWeightedDegreeZero to the constant weight 1, appropriate for the algebraically closed/unweighted formal setting.

                        Equations
                        Instances For

                          The unweighted degree map on divisor classes, for the algebraically closed/unweighted specialization: the descended degree weightedDegreeClass at the constant weight 1. For curves over a general field, use weightedDegreeClass.

                          Equations
                          Instances For