Documentation

LeanPool.FLTEichlerShimura.Definitions.Def_AlgebraicCurve_BaseChangeGalois

Semilinear automorphisms acting on places, divisors and Pic⁰-torsion #

Definition: AlgebraicCurve_BaseChangeGalois (4937e59f-5449-57d3-a84a-11e8ddf1962b), by Claude, 2026-09-05.

Fix fields $K \subseteq F$ (an algebra structure algebraMap K F, written $\iota$). The module defines SemilinearAut K F as the subgroup of $\mathrm{Aut}(F) \times \mathrm{Aut}(K)$ (ring automorphisms) consisting of those pairs $(\varphi,\tau)$ with $\varphi(\iota a) = \iota(\tau a)$ for all $a \in K$: automorphisms of $F$ that stabilise the subfield $K$, each packaged with the automorphism of $K$ it induces. The projections are toRingAut and baseAut, with commutes/smul_algebraMap recording the defining identity, and $F$ is given the resulting MulSemiringAction, $g \cdot x = \mathrm{toRingAut}\,g\,(x)$. The monoid homomorphism ofAlgAut sends $\sigma \in F \simeq_{\text{alg}[K]} F$ to $(\sigma, 1)$.

The rest transports this action along the divisor-theoretic constructions of the imported module, where a Place K F is a valuation subring $A \subseteq F$ containing $\iota(K)$, with $A \neq F$ and $A$ a principal ideal ring (hence a discrete valuation ring), $v.\mathrm{ord}$ is the normalised valuation and $v.\deg = \operatorname{finrank}_K$ of the residue field. A place is moved by pointwise translation of its valuation subring; the four structure fields are re-verified, membership of $\iota(K)$ using baseAut, and principality by transporting along the ring isomorphism smulValuationSubringEquiv $A \simeq g \cdot A$. Then ord_smul gives $(g \cdot v).\mathrm{ord}(g \cdot f) = v.\mathrm{ord}(f)$ (proved from a uniformiser-times-unit factorisation), smulResidueRingEquiv is the induced isomorphism of residue fields, semilinear over baseAut g, and deg_smul deduces $\deg(g\cdot v) = \deg v$. Divisors carry the push-forward action (Finsupp.mapDomain), which preserves degree, the degree-zero subgroup and the subgroup of principal divisors, hence descends to $\mathrm{Pic}^0$. Finally $\mathrm{Pic}^0[n]$ (the $\mathbb{Z}$-torsion submodule killed by $n$) is shown stable, given its $\mathbb{Z}/n$-module structure and commuting scalars, and torsionRep K F n is the resulting homomorphism $\mathrm{SemilinearAut}(K,F) \to \operatorname{End}_{\mathbb{Z}/n}(\mathrm{Pic}^0[n])$.

Relation to Mathlib. Mathlib has no notion of the semilinear automorphism group of a field extension, nor of the places, divisors and $\mathrm{Pic}^0$ used here; these are the project's own, assembled from Mathlib components (a Subgroup of RingAut F × RingAut K, Finsupp.comapDistribMulAction, QuotientAddGroup.map, AddCommGroup.zmodModule, DistribMulAction.toModuleEnd). The constructions parallel, and restrict along ofAlgAut to, the actions of $F \simeq_{\text{alg}[K]} F$ already defined in the divisor class group module.

Where it is used. With $F$ a function field of a modular curve over an algebraically closed constant field $K$, torsionRep supplies the action on $\mathrm{Pic}^0[n]$ of automorphisms that move the constants, which is the mechanism by which an absolute Galois group acts on the $n$-torsion of the Jacobian $J_0(N)$; composing a homomorphism into SemilinearAut K F with torsionRep yields the mod-$n$ Galois representations attached to modular Jacobians.

<!-- Generated by add_prove2me_provenance.py -->

def AlgebraicCurve.SemilinearAut (K : Type u_1) (F : Type u_2) [Field K] [Field F] [Algebra K F] :

The group of compatible ring automorphisms of the function field and its constant field.

Equations
Instances For
    theorem AlgebraicCurve.SemilinearAut.mem_iff {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] {p : RingAut F × RingAut K} :
    p ∈ SemilinearAut K F ↔ ∀ (a : K), p.1 ((algebraMap K F) a) = (algebraMap K F) (p.2 a)
    def AlgebraicCurve.SemilinearAut.toRingAut {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) :
    F ≃+* F

    The automorphism of the function field underlying a semilinear automorphism.

    Equations
    Instances For
      def AlgebraicCurve.SemilinearAut.baseAut {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) :
      K ≃+* K

      The automorphism of the constant field underlying a semilinear automorphism.

      Equations
      Instances For
        theorem AlgebraicCurve.SemilinearAut.commutes {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (a : K) :
        (toRingAut g) ((algebraMap K F) a) = (algebraMap K F) ((baseAut g) a)
        @[simp]
        theorem AlgebraicCurve.SemilinearAut.toRingAut_one {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] :
        @[simp]
        theorem AlgebraicCurve.SemilinearAut.baseAut_one {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] :
        @[simp]
        theorem AlgebraicCurve.SemilinearAut.toRingAut_mul {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g h : ↥(SemilinearAut K F)) :
        @[simp]
        theorem AlgebraicCurve.SemilinearAut.baseAut_mul {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g h : ↥(SemilinearAut K F)) :
        @[simp]
        theorem AlgebraicCurve.SemilinearAut.toRingAut_inv {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) :
        @[simp]
        theorem AlgebraicCurve.SemilinearAut.baseAut_inv {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) :
        @[instance_reducible]
        Equations
        • One or more equations did not get rendered due to their size.
        @[simp]
        theorem AlgebraicCurve.SemilinearAut.smul_def {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (x : F) :
        g • x = (toRingAut g) x
        theorem AlgebraicCurve.SemilinearAut.inv_smul_def {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (x : F) :
        theorem AlgebraicCurve.SemilinearAut.smul_algebraMap {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (a : K) :
        g • (algebraMap K F) a = (algebraMap K F) ((baseAut g) a)
        def AlgebraicCurve.SemilinearAut.ofAlgAut {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] :
        Gal(F/K) →* ↥(SemilinearAut K F)

        The inclusion of constant-field-linear automorphisms into semilinear automorphisms.

        Equations
        Instances For
          @[simp]
          theorem AlgebraicCurve.SemilinearAut.toRingAut_ofAlgAut {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (σ : Gal(F/K)) :
          @[simp]
          theorem AlgebraicCurve.SemilinearAut.baseAut_ofAlgAut {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (σ : Gal(F/K)) :
          @[simp]
          theorem AlgebraicCurve.SemilinearAut.ofAlgAut_smul {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (σ : Gal(F/K)) (x : F) :
          ofAlgAut σ • x = σ x
          theorem AlgebraicCurve.SemilinearAut.pointwise_smul_top {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) :
          def AlgebraicCurve.SemilinearAut.smulValuationSubringEquiv {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (A : ValuationSubring F) :
          ↥A ≃+* ↥(g • A)

          The valuation-ring equivalence induced by a semilinear automorphism.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem AlgebraicCurve.SemilinearAut.coe_smulValuationSubringEquiv_apply {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (A : ValuationSubring F) (x : ↥A) :
            ↑((smulValuationSubringEquiv g A) x) = g • ↑x
            @[instance_reducible]
            Equations
            • One or more equations did not get rendered due to their size.
            @[simp]
            theorem AlgebraicCurve.SemilinearAut.ord_smul {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (v : Place K F) (f : F) :
            (g • v).ord (g • f) = v.ord f
            noncomputable def AlgebraicCurve.SemilinearAut.smulResidueRingEquiv {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (v : Place K F) :

            The residue-field ring equivalence induced by a semilinear automorphism.

            Equations
            Instances For
              theorem AlgebraicCurve.SemilinearAut.smulResidueRingEquiv_algebraMap {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (v : Place K F) (a : K) :
              @[simp]
              theorem AlgebraicCurve.SemilinearAut.deg_smul {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (v : Place K F) :
              (g • v).deg = v.deg
              theorem AlgebraicCurve.SemilinearAut.divisor_smul_def {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (D : Divisor K F) :
              g • D = Finsupp.mapDomain (fun (x : Place K F) => g • x) D
              theorem AlgebraicCurve.SemilinearAut.smul_single {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (v : Place K F) (n : ℤ) :
              theorem AlgebraicCurve.SemilinearAut.divisor_smul_apply_smul {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (D : Divisor K F) (v : Place K F) :
              (g • D) (g • v) = D v
              theorem AlgebraicCurve.SemilinearAut.divisor_smul_apply {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (D : Divisor K F) (w : Place K F) :
              (g • D) w = D (g⁻¹ • w)
              @[simp]
              theorem AlgebraicCurve.SemilinearAut.degree_smul {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (D : Divisor K F) :
              theorem AlgebraicCurve.SemilinearAut.smul_mem_degZero {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) {D : Divisor K F} (hD : D ∈ Divisor.degZero) :
              noncomputable def AlgebraicCurve.SemilinearAut.degZeroSMulHom {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) :

              The additive action of a semilinear automorphism on degree-zero divisors.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem AlgebraicCurve.SemilinearAut.coe_degZeroSMulHom {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (D : ↥Divisor.degZero) :
                ↑((degZeroSMulHom g) D) = g • ↑D
                @[instance_reducible]
                noncomputable instance AlgebraicCurve.SemilinearAut.instSMulSubtypeProdRingAutMemSubgroupPic0 {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] :
                SMul (↥(SemilinearAut K F)) (Pic0 K F)
                Equations
                • One or more equations did not get rendered due to their size.
                theorem AlgebraicCurve.SemilinearAut.pic0_smul_mk {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (D : ↥Divisor.degZero) :
                @[instance_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                theorem AlgebraicCurve.SemilinearAut.smul_zsmul {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) (m : ℤ) (x : Pic0 K F) :
                g • m • x = m • g • x
                theorem AlgebraicCurve.SemilinearAut.smul_mem_torsion {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (g : ↥(SemilinearAut K F)) {n : ℕ} {x : Pic0 K F} (hx : x ∈ Pic0.torsion K F n) :
                g • x ∈ Pic0.torsion K F n
                @[instance_reducible]
                noncomputable instance AlgebraicCurve.SemilinearAut.instSMulTorsion {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (n : ℕ) :
                SMul ↥(SemilinearAut K F) ↥(Pic0.torsion K F n)
                Equations
                @[simp]
                theorem AlgebraicCurve.SemilinearAut.coe_torsion_smul {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] {n : ℕ} (g : ↥(SemilinearAut K F)) (x : ↥(Pic0.torsion K F n)) :
                ↑(g • x) = g • ↑x
                @[instance_reducible]
                noncomputable instance AlgebraicCurve.SemilinearAut.instDistribMulActionTorsion {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (n : ℕ) :
                Equations
                @[instance_reducible]
                noncomputable instance AlgebraicCurve.Pic0.instModuleZModTorsion {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] (n : ℕ) :
                Module (ZMod n) ↥(torsion K F n)
                Equations
                noncomputable def AlgebraicCurve.SemilinearAut.torsionRep (K : Type u_1) (F : Type u_2) [Field K] [Field F] [Algebra K F] (n : ℕ) :

                The representation of semilinear automorphisms on the n-torsion of Pic0 over ZMod n.

                Equations
                Instances For
                  @[simp]
                  theorem AlgebraicCurve.SemilinearAut.torsionRep_apply {K : Type u_1} {F : Type u_2} [Field K] [Field F] [Algebra K F] {n : ℕ} (g : ↥(SemilinearAut K F)) (x : ↥(Pic0.torsion K F n)) :
                  ((torsionRep K F n) g) x = g • x