Documentation

TauCeti.FieldTheory.FunctionField.Differential.Cotrace

The cotrace of Weil differentials #

Let F' / k' be a finite separable extension of the algebraic function field F / k, with k' / k finite separable. For every Weil differential ω of F / k there is exactly one Weil differential ω' of F' / k' with

Tr_{k'/k} (ω' α) = ω (Tr_{F'/F} α)

for every repartition α of F' that is constant on the fibres over the places of F. This ω' is the cotrace Cotr_{F'/F} ω (Stichtenoth, Definition 3.4.5 and Theorem 3.4.6). Its divisor is (Cotr ω) = Con (ω) + Diff(F'/F), the identity from which the Hurwitz genus formula follows (TauCeti.FieldTheory.FunctionField.Different.Hurwitz).

The construction follows Stichtenoth. Every repartition of F' is a fibre-constant repartition modulo A_{F'}(B'), for any divisor B' of F', by weak approximation on each of the finitely many fibres where the repartition is not already bounded by B' (TauCeti.exists_sub_relativeRepartitionPullback_mem_adeleFiltration). With B' = Con D + Diff(F'/F), the trace estimate TauCeti.repartitionTrace_mem_adeleFiltration shows that α ↦ ω (Tr α) is well defined on A_{F'} ⧸ A_{F'}(B'), which gives a k-linear form on A_{F'}; the trace form of k' / k turns it into a k'-linear one (Module.Dual.traceCompEquiv).

This gives Con (ω) + Diff(F'/F) ≤ (Cotr ω). The reverse inequality is the sharpness of the trace estimate (TauCeti.Place.exists_forall_valuation_le_and_trace_eq): if Cotr ω were bounded by Con (ω) + Diff(F'/F) + P' for a place P' over P, then, as v_P (ω) is the largest bound the local component ω_P respects, some function x with ord_P x ≥ -(v_P (ω) + 1) and ω_P x ≠ 0 would be the trace of a function of F' bounded by Con (ω) + Diff(F'/F) + P' along the fibre over P, and Cotr ω would have to kill the corresponding fibre-constant repartition.

Both further properties of Stichtenoth's Proposition 3.4.11 follow from uniqueness. Multiplying a fibre-constant repartition by a function of F keeps it fibre-constant and commutes with the trace, so the cotrace is F-semilinear. In a tower F₀ ⊆ F₁ ⊆ F₂, a fibre-constant repartition for F₂ / F₀ is also fibre-constant for F₂ / F₁, its entrywise trace to F₁ is fibre-constant for F₁ / F₀, and the traces compose, so the cotrace is transitive.

Main definitions #

Main results #

References #

The cotrace #

theorem TauCeti.exists_mem_weilDifferentialFiltration_trace_apply_eq {k : Type u} {k' : Type u'} {F : Type v} {F' : Type v'} [Field k] [Field k'] [Field F] [Field F'] [Algebra k k'] [Algebra k F] [Algebra k' F'] [Algebra F F'] [Algebra k F'] [IsScalarTower k k' F'] [IsScalarTower k F F'] [FiniteDimensional F F'] [Algebra.IsSeparable F F'] [FiniteDimensional k k'] [Algebra.IsSeparable k k'] (hF : IsFunctionField k F) (hF' : IsFunctionField k' F') {D : Divisor k F} {ω : Module.Dual k ↥(repartitionSpace k F)} (hω : ω ∈ weilDifferentialFiltration D) :
∃ ω' ∈ weilDifferentialFiltration ((Divisor.conorm k' F') D + Divisor.different k' F' hF), ∀ (β : ↥(relativeRepartitionSpace k F F')), (Algebra.trace k k') (ω' ((relativeRepartitionPullback k k' F F') β)) = ω ((repartitionTrace k F F' hF) β)

Existence of the cotrace (Stichtenoth, Theorem 3.4.6): for a Weil differential ω of F / k bounded by D, some Weil differential ω' of F' / k' bounded by Con D + Diff(F'/F) satisfies Tr_{k'/k} (ω' α) = ω (Tr_{F'/F} α) on the fibre-constant repartitions α of F'.

theorem TauCeti.eq_of_trace_apply_relativeRepartitionPullback_eq {k : Type u} {k' : Type u'} {F : Type v} {F' : Type v'} [Field k] [Field k'] [Field F] [Field F'] [Algebra k k'] [Algebra k F] [Algebra k' F'] [Algebra F F'] [Algebra k F'] [IsScalarTower k k' F'] [IsScalarTower k F F'] [FiniteDimensional F F'] [FiniteDimensional k k'] [Algebra.IsSeparable k k'] (hF' : IsFunctionField k' F') {ω₁ ω₂ : Module.Dual k' ↥(repartitionSpace k' F')} (h₁ : ω₁ ∈ weilDifferentialSpace k' F') (h₂ : ω₂ ∈ weilDifferentialSpace k' F') (h : ∀ (β : ↥(relativeRepartitionSpace k F F')), (Algebra.trace k k') (ω₁ ((relativeRepartitionPullback k k' F F') β)) = (Algebra.trace k k') (ω₂ ((relativeRepartitionPullback k k' F F') β))) :
ω₁ = ω₂

Uniqueness of the cotrace (Stichtenoth, Theorem 3.4.6): two Weil differentials of F' whose values on the fibre-constant repartitions have the same traces to k are equal.

noncomputable def TauCeti.weilDifferentialCotrace {k : Type u} (k' : Type u') {F : Type v} (F' : Type v') [Field k] [Field k'] [Field F] [Field F'] [Algebra k k'] [Algebra k F] [Algebra k' F'] [Algebra F F'] [Algebra k F'] [IsScalarTower k k' F'] [IsScalarTower k F F'] [FiniteDimensional F F'] [Algebra.IsSeparable F F'] [FiniteDimensional k k'] [Algebra.IsSeparable k k'] (hF : IsFunctionField k F) (hF' : IsFunctionField k' F') :

The cotrace of a Weil differential Cotr_{F'/F} ω (Stichtenoth, Definition 3.4.5): the unique Weil differential of F' / k' with Tr_{k'/k} (Cotr ω α) = ω (Tr_{F'/F} α) for every fibre-constant repartition α of F'. It is characterized by TauCeti.trace_weilDifferentialCotrace_apply and TauCeti.eq_weilDifferentialCotrace.

Equations
Instances For
    @[simp]
    theorem TauCeti.trace_weilDifferentialCotrace_apply {k : Type u} {k' : Type u'} {F : Type v} {F' : Type v'} [Field k] [Field k'] [Field F] [Field F'] [Algebra k k'] [Algebra k F] [Algebra k' F'] [Algebra F F'] [Algebra k F'] [IsScalarTower k k' F'] [IsScalarTower k F F'] [FiniteDimensional F F'] [Algebra.IsSeparable F F'] [FiniteDimensional k k'] [Algebra.IsSeparable k k'] (hF : IsFunctionField k F) (hF' : IsFunctionField k' F') (ω : ↥(weilDifferentialSpace k F)) (β : ↥(relativeRepartitionSpace k F F')) :
    (Algebra.trace k k') (↑((weilDifferentialCotrace k' F' hF hF') ω) ((relativeRepartitionPullback k k' F F') β)) = ↑ω ((repartitionTrace k F F' hF) β)

    The defining identity of the cotrace: Tr_{k'/k} (Cotr ω α) = ω (Tr_{F'/F} α) for every fibre-constant repartition α of F'.

    theorem TauCeti.eq_weilDifferentialCotrace {k : Type u} {k' : Type u'} {F : Type v} {F' : Type v'} [Field k] [Field k'] [Field F] [Field F'] [Algebra k k'] [Algebra k F] [Algebra k' F'] [Algebra F F'] [Algebra k F'] [IsScalarTower k k' F'] [IsScalarTower k F F'] [FiniteDimensional F F'] [Algebra.IsSeparable F F'] [FiniteDimensional k k'] [Algebra.IsSeparable k k'] (hF : IsFunctionField k F) (hF' : IsFunctionField k' F') (ω : ↥(weilDifferentialSpace k F)) {ω' : Module.Dual k' ↥(repartitionSpace k' F')} (hω' : ω' ∈ weilDifferentialSpace k' F') (h : ∀ (β : ↥(relativeRepartitionSpace k F F')), (Algebra.trace k k') (ω' ((relativeRepartitionPullback k k' F F') β)) = ↑ω ((repartitionTrace k F F' hF) β)) :
    ω' = ↑((weilDifferentialCotrace k' F' hF hF') ω)

    The cotrace is the only Weil differential with its defining identity (Stichtenoth, Theorem 3.4.6).

    theorem TauCeti.weilDifferentialCotrace_mem_weilDifferentialFiltration {k : Type u} {k' : Type u'} {F : Type v} {F' : Type v'} [Field k] [Field k'] [Field F] [Field F'] [Algebra k k'] [Algebra k F] [Algebra k' F'] [Algebra F F'] [Algebra k F'] [IsScalarTower k k' F'] [IsScalarTower k F F'] [FiniteDimensional F F'] [Algebra.IsSeparable F F'] [FiniteDimensional k k'] [Algebra.IsSeparable k k'] (hF : IsFunctionField k F) (hF' : IsFunctionField k' F') (ω : ↥(weilDifferentialSpace k F)) {D : Divisor k F} (hD : ↑ω ∈ weilDifferentialFiltration D) :

    The cotrace raises the bound by the different (Stichtenoth, Theorem 3.4.6): if ω is bounded by D, then Cotr ω is bounded by Con D + Diff(F'/F).

    @[simp]
    theorem TauCeti.weilDifferentialCotrace_eq_zero_iff {k : Type u} {k' : Type u'} {F : Type v} {F' : Type v'} [Field k] [Field k'] [Field F] [Field F'] [Algebra k k'] [Algebra k F] [Algebra k' F'] [Algebra F F'] [Algebra k F'] [IsScalarTower k k' F'] [IsScalarTower k F F'] [FiniteDimensional F F'] [Algebra.IsSeparable F F'] [FiniteDimensional k k'] [Algebra.IsSeparable k k'] (hF : IsFunctionField k F) (hF' : IsFunctionField k' F') {ω : ↥(weilDifferentialSpace k F)} :
    (weilDifferentialCotrace k' F' hF hF') ω = 0 ↔ ω = 0

    The cotrace is injective: Cotr ω = 0 only for ω = 0, because the trace of the fibre-constant repartitions is onto A_F.

    theorem TauCeti.weilDifferentialCotrace_injective {k : Type u} {k' : Type u'} {F : Type v} {F' : Type v'} [Field k] [Field k'] [Field F] [Field F'] [Algebra k k'] [Algebra k F] [Algebra k' F'] [Algebra F F'] [Algebra k F'] [IsScalarTower k k' F'] [IsScalarTower k F F'] [FiniteDimensional F F'] [Algebra.IsSeparable F F'] [FiniteDimensional k k'] [Algebra.IsSeparable k k'] (hF : IsFunctionField k F) (hF' : IsFunctionField k' F') :

    The cotrace is injective.

    @[simp]
    theorem TauCeti.weilDifferentialCotrace_smul {k : Type u} {k' : Type u'} {F : Type v} {F' : Type v'} [Field k] [Field k'] [Field F] [Field F'] [Algebra k k'] [Algebra k F] [Algebra k' F'] [Algebra F F'] [Algebra k F'] [IsScalarTower k k' F'] [IsScalarTower k F F'] [FiniteDimensional F F'] [Algebra.IsSeparable F F'] [FiniteDimensional k k'] [Algebra.IsSeparable k k'] (hF : IsFunctionField k F) (hF' : IsFunctionField k' F') (f : F) (ω : ↥(weilDifferentialSpace k F)) :
    (weilDifferentialCotrace k' F' hF hF') (f • ω) = (algebraMap F F') f • (weilDifferentialCotrace k' F' hF hF') ω

    The cotrace is F-semilinear (Stichtenoth, Proposition 3.4.11(a)): Cotr (f · ω) = f · Cotr ω for a function f of F, which acts on the Weil differentials of F' through F → F'.

    theorem TauCeti.conorm_add_different_le_weilDifferentialDivisor {k : Type u} {k' : Type u'} {F : Type v} {F' : Type v'} [Field k] [Field k'] [Field F] [Field F'] [Algebra k k'] [Algebra k F] [Algebra k' F'] [Algebra F F'] [Algebra k F'] [IsScalarTower k k' F'] [IsScalarTower k F F'] [FiniteDimensional F F'] [Algebra.IsSeparable F F'] [FiniteDimensional k k'] [Algebra.IsSeparable k k'] (hF : IsFunctionField k F) (hF' : IsFunctionField k' F') (hex : IsIntegrallyClosedIn k F) (hex' : IsIntegrallyClosedIn k' F') (ω : ↥(weilDifferentialSpace k F)) (hω : ω ≠ 0) :
    (Divisor.conorm k' F') (weilDifferentialDivisor hF hex ⋯ ⋯) + Divisor.different k' F' hF ≤ weilDifferentialDivisor hF' hex' ⋯ ⋯

    The divisor of the cotrace is at least Con (ω) + Diff(F'/F) (Stichtenoth, Theorem 3.4.6), for a nonzero Weil differential ω of F / k.

    @[simp]
    theorem TauCeti.weilDifferentialDivisor_weilDifferentialCotrace {k : Type u} {k' : Type u'} {F : Type v} {F' : Type v'} [Field k] [Field k'] [Field F] [Field F'] [Algebra k k'] [Algebra k F] [Algebra k' F'] [Algebra F F'] [Algebra k F'] [IsScalarTower k k' F'] [IsScalarTower k F F'] [FiniteDimensional F F'] [Algebra.IsSeparable F F'] [FiniteDimensional k k'] [Algebra.IsSeparable k k'] (hF : IsFunctionField k F) (hF' : IsFunctionField k' F') (hex : IsIntegrallyClosedIn k F) (hex' : IsIntegrallyClosedIn k' F') (ω : ↥(weilDifferentialSpace k F)) (hω : ω ≠ 0) :
    weilDifferentialDivisor hF' hex' ⋯ ⋯ = (Divisor.conorm k' F') (weilDifferentialDivisor hF hex ⋯ ⋯) + Divisor.different k' F' hF

    The divisor of the cotrace (Stichtenoth, Theorem 3.4.6): (Cotr ω) = Con (ω) + Diff(F'/F) for every nonzero Weil differential ω of F / k.

    The cotrace in a tower #

    @[simp]
    theorem TauCeti.weilDifferentialCotrace_weilDifferentialCotrace {k₀ : Type u₀} {k₁ : Type u₁} {k₂ : Type u₂} {F₀ : Type v₀} {F₁ : Type v₁} {F₂ : Type v₂} [Field k₀] [Field k₁] [Field k₂] [Field F₀] [Field F₁] [Field F₂] [Algebra k₀ k₁] [Algebra k₁ k₂] [Algebra k₀ k₂] [IsScalarTower k₀ k₁ k₂] [Algebra F₀ F₁] [Algebra F₁ F₂] [Algebra F₀ F₂] [IsScalarTower F₀ F₁ F₂] [Algebra k₀ F₀] [Algebra k₁ F₁] [Algebra k₂ F₂] [Algebra k₀ F₁] [Algebra k₁ F₂] [Algebra k₀ F₂] [IsScalarTower k₀ k₁ F₁] [IsScalarTower k₁ k₂ F₂] [IsScalarTower k₀ F₀ F₁] [IsScalarTower k₁ F₁ F₂] [IsScalarTower k₀ k₂ F₂] [IsScalarTower k₀ F₀ F₂] [FiniteDimensional F₀ F₁] [FiniteDimensional F₁ F₂] [FiniteDimensional k₀ k₁] [FiniteDimensional k₁ k₂] [Algebra.IsSeparable F₀ F₁] [Algebra.IsSeparable F₁ F₂] [Algebra.IsSeparable k₀ k₁] [Algebra.IsSeparable k₁ k₂] (hF₀ : IsFunctionField k₀ F₀) (hF₁ : IsFunctionField k₁ F₁) (hF₂ : IsFunctionField k₂ F₂) (ω : ↥(weilDifferentialSpace k₀ F₀)) :
    (weilDifferentialCotrace k₂ F₂ hF₁ hF₂) ((weilDifferentialCotrace k₁ F₁ hF₀ hF₁) ω) = (weilDifferentialCotrace k₂ F₂ hF₀ hF₂) ω

    The cotrace is transitive in towers (Stichtenoth, Proposition 3.4.11(b)): for finite separable extensions F₀ ⊆ F₁ ⊆ F₂ of function fields, with finite separable extensions k₀ ⊆ k₁ ⊆ k₂ of their constant fields, Cotr_{F₂/F₁} ∘ Cotr_{F₁/F₀} = Cotr_{F₂/F₀}.