Documentation

LeanPool.JacobianDiffgeo.Meromorphic.LinearSystem

The linear system L(D) and l(D) (CC3, D4) #

Unit: meromorphic-and-divisors (docs/design/meromorphic-and-divisors.md §4.7, D4, proof plan §6.7).

Deviation from the design doc's listing (noted honestly): linSysMulEquiv (the multiplication LinearEquiv L(D) ≃ₗ L(D - divisor φ)) is not included — the pointwise WithTop bookkeeping for the two-sided bound is more delicate than the time budget allowed; see the final report for the precise missing step. Everything else in §4.7 is proved.

Pointwise arithmetic on Divisor X (Compat helpers) #

theorem RS.Divisor.add_apply {X : Type u_1} [TopologicalSpace X] (D E : Divisor X) (x : X) :
(D + E) x = D x + E x
theorem RS.Divisor.neg_apply {X : Type u_1} [TopologicalSpace X] (D : Divisor X) (x : X) :
(-D) x = -D x
theorem RS.Divisor.sub_apply {X : Type u_1} [TopologicalSpace X] (D E : Divisor X) (x : X) :
(D - E) x = D x - E x

LinSys D #

noncomputable def RS.LinSys {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (D : Divisor X) :

CC3's L(D) (carrier per D4; 0 ∈ L(D) by -arithmetic, not fiat).

Equations
Instances For
    theorem RS.mem_linSys_iff {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {D : Divisor X} {φ : Mero X} :
    φ LinSys D ∀ (x : X), ↑(-D x) MeroGermOn.ord φ x

    CC3's frozen shape, recovered as a characterization on connected X.

    noncomputable def RS.l {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (D : Divisor X) :

    CC3: l D. Finiteness is NOT this unit's business (Čech/finiteness proves FiniteDimensional); until then finrank junk-returns 0 on infinite-dimensional spaces — no lemma here depends on finiteness.

    Equations
    Instances For
      theorem RS.linSys_mono {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {D E : Divisor X} (h : D E) :
      theorem RS.algebraMap_mem_linSys {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {D : Divisor X} (h : 0 D) (c : ) :

      Vanishing / constancy results #

      deg D < 0 → L(D) = 0, CONDITIONAL on deg ∘ divisor = 0 — that input is owned by proper-map-degree (argument principle / degree counting).

      Relative version (Čech cochain spaces) #

      noncomputable def RS.LinSysOn {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (D : Divisor X) (U : Set X) :

      Relative L(D) (CC8 Čech cochain spaces). Junk-gated on IsOpen U (D3): when U is not open, the condition is vacuous (every class qualifies), matching ord's own junk convention so that zero_mem' holds unconditionally.

      Equations
      Instances For
        theorem RS.mem_linSysOn_iff_of_isOpen {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {U : Set X} {D : Divisor X} (hU : IsOpen U) {φ : MeroGermOn X U} :
        φ LinSysOn D U xU, ↑(-D x) φ.ord x
        theorem RS.restrict_mem_linSysOn {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {U V : Set X} {D : Divisor X} (h : VU) (hV : IsOpen V) (hU : IsOpen U) {φ : MeroGermOn X U} ( : φ LinSysOn D U) :
        theorem RS.mem_linSys_iff_forall_restrict {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {D : Divisor X} {ι : Type u_2} {W : ιSet X} (hW : ∀ (i : ι), IsOpen (W i)) (hcov : ⋃ (i : ι), W i = Set.univ) {φ : Mero X} :
        φ LinSys D ∀ (i : ι), (MeroGermOn.restrict ) φ LinSysOn D (W i)