Documentation

LeanPool.JacobianDiffgeo.DolbeaultComparison.Leray

Leray's theorem and the cocycle-trade lemma (Jacobian/DolbeaultComparison/Leray.lean) #

Unit: dolbeault-comparison (docs/design/dolbeault-comparison.md ยง5). This is the FIRST file of the unit and the gate for finiteness-and-chi (ยง0.1 of the design): everything here uses only cech's cover/cochain/colimit machinery, mero's gluing sheaf axioms, and dbar's disk acyclicity (subsingleton_h1Cover_of_isChartDisk, general-D, added to Jacobian/Dbar/DiskAcyclic.lean under this unit's authorization) as black boxes โ€” no Form01, no PoU, no dbar-solving.

A reusable lattice fact #

theorem RS.Cech.inf_inf_inf_le {X : Type u_1} [TopologicalSpace X] (a b c : TopologicalSpace.Opens X) :
a โŠ“ b โŠ“ (a โŠ“ c) โ‰ค b โŠ“ c

The induced cover of a member #

The induced cover of a member: (V โŠ“ ๐’ฑ.U ฮฑ)_ฮฑ : FinCover V for V โ‰ค โŠค.

Equations
  • ๐’ฑ.induced V = { n := ๐’ฑ.n, U := fun (ฮฑ : Fin ๐’ฑ.n) => V โŠ“ ๐’ฑ.U ฮฑ, le_base := โ‹ฏ, covers := โ‹ฏ }
Instances For
    @[simp]
    theorem RS.Cech.FinCover.induced_n {X : Type u_1} [TopologicalSpace X] (๐’ฑ : FinCover โŠค) (V : TopologicalSpace.Opens X) :
    (๐’ฑ.induced V).n = ๐’ฑ.n
    @[simp]
    theorem RS.Cech.FinCover.induced_U {X : Type u_1} [TopologicalSpace X] (๐’ฑ : FinCover โŠค) (V : TopologicalSpace.Opens X) (ฮฑ : Fin ๐’ฑ.n) :
    (๐’ฑ.induced V).U ฮฑ = V โŠ“ ๐’ฑ.U ฮฑ
    theorem RS.Cech.exists_goodCover {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] [CompactSpace X] :
    โˆƒ (๐’ฐ : FinCover โŠค), ๐’ฐ.IsGood

    Good covers exist (ยง6.3 of cech-cohomology, applied to the trivial cover).

    ยง5 step 1: the induced cocycle #

    noncomputable def RS.Cech.indCocycle {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) (i : Fin ๐’ฐ.n) (f : C1 D ๐’ฑ) :
    C1 D (๐’ฑ.induced (๐’ฐ.U i))

    The induced cocycle on ๐’ฑ.induced (๐’ฐ.U i) (ยง5 step 1): componentwise restriction of f along the "drop the ๐’ฐ.U i factor" lattice map.

    Equations
    Instances For
      theorem RS.Cech.indCocycle_mem_Z1 {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) (i : Fin ๐’ฐ.n) {f : C1 D ๐’ฑ} (hf : f โˆˆ Z1 D ๐’ฑ) :
      indCocycle D i f โˆˆ Z1 D (๐’ฑ.induced (๐’ฐ.U i))

      ยง5 step 2: member splitting via disk acyclicity #

      theorem RS.Cech.exists_splitting {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] [IsManifold (modelWithCornersSelf โ„‚ โ„‚) โŠค X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) [T2Space X] [CompactSpace X] (h๐’ฐ : ๐’ฐ.IsGood) {f : C1 D ๐’ฑ} (hf : f โˆˆ Z1 D ๐’ฑ) :
      โˆƒ (gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))), โˆ€ (i : Fin ๐’ฐ.n), (d0 D (๐’ฑ.induced (๐’ฐ.U i))) (gFam i) = indCocycle D i f

      Step 2: each induced cocycle splits, since ๐’ฐ.U i is a chart disk (disk acyclicity).

      theorem RS.Cech.splitting_eq {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) {f : C1 D ๐’ฑ} {gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))} (hgFam : โˆ€ (i : Fin ๐’ฐ.n), (d0 D (๐’ฑ.induced (๐’ฐ.U i))) (gFam i) = indCocycle D i f) (i : Fin ๐’ฐ.n) (ฮฑ ฮฒ : Fin ๐’ฑ.n) :
      (LinSysOn.restrictL D โ‹ฏ) (gFam i ฮฒ) - (LinSysOn.restrictL D โ‹ฏ) (gFam i ฮฑ) = indCocycle D i f (ฮฑ, ฮฒ)

      The pointwise splitting identity extracted from exists_splitting, at LinSysOn (submodule) level (used both for the cross-glue compatibility and for the final comparison, ยง5 steps 3/5).

      theorem RS.Cech.splitting_eq' {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) {f : C1 D ๐’ฑ} {gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))} (hgFam : โˆ€ (i : Fin ๐’ฐ.n), (d0 D (๐’ฑ.induced (๐’ฐ.U i))) (gFam i) = indCocycle D i f) (i : Fin ๐’ฐ.n) (ฮฑ ฮฒ : Fin ๐’ฑ.n) :
      (MeroGermOn.restrict โ‹ฏ) โ†‘(gFam i ฮฒ) - (MeroGermOn.restrict โ‹ฏ) โ†‘(gFam i ฮฑ) = (MeroGermOn.restrict โ‹ฏ) โ†‘(f (ฮฑ, ฮฒ))

      Raw MeroGermOn-level form of splitting_eq.

      theorem RS.Cech.splitting_eq_restrict {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) {f : C1 D ๐’ฑ} {gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))} (hgFam : โˆ€ (i : Fin ๐’ฐ.n), (d0 D (๐’ฑ.induced (๐’ฐ.U i))) (gFam i) = indCocycle D i f) (i : Fin ๐’ฐ.n) (ฮฑ ฮฒ : Fin ๐’ฑ.n) {W : TopologicalSpace.Opens X} (hWฮฑ : W โ‰ค (๐’ฑ.induced (๐’ฐ.U i)).U ฮฑ) (hWฮฒ : W โ‰ค (๐’ฑ.induced (๐’ฐ.U i)).U ฮฒ) (hWฮฑฮฒ : W โ‰ค ๐’ฑ.U ฮฑ โŠ“ ๐’ฑ.U ฮฒ) :
      (MeroGermOn.restrict hWฮฒ) โ†‘(gFam i ฮฒ) - (MeroGermOn.restrict hWฮฑ) โ†‘(gFam i ฮฑ) = (MeroGermOn.restrict hWฮฑฮฒ) โ†‘(f (ฮฑ, ฮฒ))

      splitting_eq', restricted down to an arbitrary smaller open W (ยง5 step 3's workhorse: lets us compare the splittings at TWO different good-cover members i, j on their common overlap with a member of ๐’ฑ).

      ยง5 step 3: cross-glue #

      noncomputable def RS.Cech.patch {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) (gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))) (i j : Fin ๐’ฐ.n) (ฮฑ : Fin ๐’ฑ.n) :
      โ†ฅ(LinSysOn D (โ†‘(๐’ฐ.U i) โŠ“ โ†‘(๐’ฐ.U j) โŠ“ โ†‘(๐’ฑ.U ฮฑ)))

      The local candidate for the glued section on ๐’ฐ.U i โŠ“ ๐’ฐ.U j (ยง5 step 3).

      Equations
      Instances For
        theorem RS.Cech.patch_coe {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) (gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))) (i j : Fin ๐’ฐ.n) (ฮฑ : Fin ๐’ฑ.n) :
        โ†‘(patch D gFam i j ฮฑ) = (MeroGermOn.restrict โ‹ฏ) โ†‘(gFam j ฮฑ) - (MeroGermOn.restrict โ‹ฏ) โ†‘(gFam i ฮฑ)
        theorem RS.Cech.patch_compat {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) {f : C1 D ๐’ฑ} {gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))} (hgFam : โˆ€ (i : Fin ๐’ฐ.n), (d0 D (๐’ฑ.induced (๐’ฐ.U i))) (gFam i) = indCocycle D i f) (i j : Fin ๐’ฐ.n) (ฮฑ ฮฒ : Fin ๐’ฑ.n) :
        (MeroGermOn.restrict โ‹ฏ) โ†‘(patch D gFam i j ฮฑ) = (MeroGermOn.restrict โ‹ฏ) โ†‘(patch D gFam i j ฮฒ)

        Compatibility of the patches on overlaps (ยง5 step 3).

        theorem RS.Cech.exists_crossGlue {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] [IsManifold (modelWithCornersSelf โ„‚ โ„‚) โŠค X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) {f : C1 D ๐’ฑ} (_hf : f โˆˆ Z1 D ๐’ฑ) {gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))} (hgFam : โˆ€ (i : Fin ๐’ฐ.n), (d0 D (๐’ฑ.induced (๐’ฐ.U i))) (gFam i) = indCocycle D i f) (i j : Fin ๐’ฐ.n) :
        โˆƒ (ฮฆ : MeroGermOn X (โ†‘(๐’ฐ.U i) โŠ“ โ†‘(๐’ฐ.U j))), โˆ€ (ฮฑ : Fin ๐’ฑ.n), (MeroGermOn.restrict โ‹ฏ) ฮฆ = โ†‘(patch D gFam i j ฮฑ)

        The glued section F_{ij} on ๐’ฐ.U i โŠ“ ๐’ฐ.U j, restricting back to patch on each UแตขโŠ“UโฑผโŠ“Vฮฑ (ยง5 step 3).

        theorem RS.Cech.exists_crossGlueLinSysOn {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] [IsManifold (modelWithCornersSelf โ„‚ โ„‚) โŠค X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) {f : C1 D ๐’ฑ} (hf : f โˆˆ Z1 D ๐’ฑ) {gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))} (hgFam : โˆ€ (i : Fin ๐’ฐ.n), (d0 D (๐’ฑ.induced (๐’ฐ.U i))) (gFam i) = indCocycle D i f) (i j : Fin ๐’ฐ.n) :
        โˆƒ (ฮฆ : โ†ฅ(LinSysOn D (โ†‘(๐’ฐ.U i) โŠ“ โ†‘(๐’ฐ.U j)))), โˆ€ (ฮฑ : Fin ๐’ฑ.n), (LinSysOn.restrictL D โ‹ฏ) ฮฆ = patch D gFam i j ฮฑ

        The glued section, packaged as a LinSysOn element (ยง5 step 3, LinSysOn-level): the crossGlue witness restricts back to patch on each UแตขโŠ“UโฑผโŠ“Vฮฑ.

        theorem RS.Cech.patch_restrict {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) (gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))) (i j : Fin ๐’ฐ.n) (ฮฑ : Fin ๐’ฑ.n) {W : TopologicalSpace.Opens X} (hWj : W โ‰ค (๐’ฑ.induced (๐’ฐ.U j)).U ฮฑ) (hWi : W โ‰ค (๐’ฑ.induced (๐’ฐ.U i)).U ฮฑ) (hWij : W โ‰ค ๐’ฐ.U i โŠ“ ๐’ฐ.U j โŠ“ ๐’ฑ.U ฮฑ) :
        (MeroGermOn.restrict hWij) โ†‘(patch D gFam i j ฮฑ) = (MeroGermOn.restrict hWj) โ†‘(gFam j ฮฑ) - (MeroGermOn.restrict hWi) โ†‘(gFam i ฮฑ)

        patch, restricted further down to an arbitrary open W (LinSysOn-level unfolding of patch_coe, reused for both step 4's triple relation and step 5's final comparison).

        theorem RS.Cech.exists_crossGlueFam {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] [IsManifold (modelWithCornersSelf โ„‚ โ„‚) โŠค X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) {f : C1 D ๐’ฑ} (hf : f โˆˆ Z1 D ๐’ฑ) {gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))} (hgFam : โˆ€ (i : Fin ๐’ฐ.n), (d0 D (๐’ฑ.induced (๐’ฐ.U i))) (gFam i) = indCocycle D i f) :
        โˆƒ (F : C1 D ๐’ฐ), โˆ€ (i j : Fin ๐’ฐ.n) (ฮฑ : Fin ๐’ฑ.n), (LinSysOn.restrictL D โ‹ฏ) (F (i, j)) = patch D gFam i j ฮฑ

        The glued sections F_{ij}, packaged as a full 1-cochain on ๐’ฐ (ยง5 step 3, LinSysOn level): a choice of crossGlue-witness for every pair.

        ยง5 step 4: F โˆˆ Z1 D ๐’ฐ #

        theorem RS.Cech.crossGlueFam_mem_Z1 {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] [IsManifold (modelWithCornersSelf โ„‚ โ„‚) โŠค X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) {F : C1 D ๐’ฐ} {gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))} (hF : โˆ€ (i j : Fin ๐’ฐ.n) (ฮฑ : Fin ๐’ฑ.n), (LinSysOn.restrictL D โ‹ฏ) (F (i, j)) = patch D gFam i j ฮฑ) :
        F โˆˆ Z1 D ๐’ฐ

        Step 4: the glued family is a genuine cocycle on ๐’ฐ (the triple relation telescopes term-by-term from the patch definition โ€” pure algebra, no further analytic input).

        ยง5 step 5: the comparison on ๐’ฑ #

        noncomputable def RS.Cech.tradeH0 {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) (ฯ„ : Fin ๐’ฑ.n โ†’ Fin ๐’ฐ.n) (hฯ„ : IsRefIdx ๐’ฐ ๐’ฑ ฯ„) (gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))) :
        C0 D ๐’ฑ

        The 0-cochain h of ยง5 step 5: h_ฮฑ := restrict g^{ฯ„ฮฑ}_ฮฑ.

        Equations
        Instances For
          theorem RS.Cech.resC1_crossGlueFam_add_eq {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) (ฯ„ : Fin ๐’ฑ.n โ†’ Fin ๐’ฐ.n) (hฯ„ : IsRefIdx ๐’ฐ ๐’ฑ ฯ„) {f : C1 D ๐’ฑ} (_hf : f โˆˆ Z1 D ๐’ฑ) {gFam : (i : Fin ๐’ฐ.n) โ†’ C0 D (๐’ฑ.induced (๐’ฐ.U i))} (hgFam : โˆ€ (i : Fin ๐’ฐ.n), (d0 D (๐’ฑ.induced (๐’ฐ.U i))) (gFam i) = indCocycle D i f) {F : C1 D ๐’ฐ} (hF : โˆ€ (i j : Fin ๐’ฐ.n) (ฮฑ : Fin ๐’ฑ.n), (LinSysOn.restrictL D โ‹ฏ) (F (i, j)) = patch D gFam i j ฮฑ) :
          (resC1 D ฯ„ hฯ„) F + f = (d0 D ๐’ฑ) (tradeH0 D ฯ„ hฯ„ gFam)

          Step 5's frozen conclusion: resC1 F + f = d0 h.

          ยง5 steps 6-7: exists_trade, Leray's theorem, h1CoverEquiv #

          theorem RS.Cech.exists_trade {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] [IsManifold (modelWithCornersSelf โ„‚ โ„‚) โŠค X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) [T2Space X] [CompactSpace X] (h๐’ฐ : ๐’ฐ.IsGood) (ฯ„ : Fin ๐’ฑ.n โ†’ Fin ๐’ฐ.n) (hฯ„ : IsRefIdx ๐’ฐ ๐’ฑ ฯ„) (f : โ†ฅ(Z1 D ๐’ฑ)) :
          โˆƒ (F : โ†ฅ(Z1 D ๐’ฐ)) (g : C0 D ๐’ฑ), โ†‘((resZ1 D ฯ„ hฯ„) F) = โ†‘f + (d0 D ๐’ฑ) g

          Forster 14.6(a), qualitative (all D): cocycles on any refinement of a good cover are, up to coboundary, restrictions of cocycles on the good cover. THE Schwartz surjectivity input for finiteness-and-chi.

          theorem RS.Cech.resH1_surjective_of_isGood {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] [IsManifold (modelWithCornersSelf โ„‚ โ„‚) โŠค X] {๐’ฐ ๐’ฑ : FinCover โŠค} (D : Divisor X) [T2Space X] [CompactSpace X] (h๐’ฐ : ๐’ฐ.IsGood) (ฯ„ : Fin ๐’ฑ.n โ†’ Fin ๐’ฐ.n) (hฯ„ : IsRefIdx ๐’ฐ ๐’ฑ ฯ„) :
          Function.Surjective โ‡‘(resH1 D ฯ„ hฯ„)

          Forster 14.6(a) at H1Cover-level: the qualitative trade.

          theorem RS.Cech.toH1_surjective_of_isGood {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] [IsManifold (modelWithCornersSelf โ„‚ โ„‚) โŠค X] {๐’ฐ : FinCover โŠค} (D : Divisor X) [T2Space X] [CompactSpace X] (h๐’ฐ : ๐’ฐ.IsGood) :
          Function.Surjective โ‡‘(toH1 D ๐’ฐ)

          LERAY (Forster 12.8 surjectivity half; injectivity is cech's toH1_injective, already on disk). Discharges the interface recorded in cech's Colimit.lean.

          noncomputable def RS.Cech.h1CoverEquiv {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] [IsManifold (modelWithCornersSelf โ„‚ โ„‚) โŠค X] {๐’ฐ : FinCover โŠค} (D : Divisor X) [T2Space X] [CompactSpace X] (h๐’ฐ : ๐’ฐ.IsGood) :

          Cover-level Hยน computes the colimit on good covers โ€” finiteness transfers dimensions through this.

          Equations
          Instances For
            @[simp]
            theorem RS.Cech.h1CoverEquiv_apply {X : Type u_1} [TopologicalSpace X] [ChartedSpace โ„‚ X] [IsManifold (modelWithCornersSelf โ„‚ โ„‚) โŠค X] {๐’ฐ : FinCover โŠค} (D : Divisor X) [T2Space X] [CompactSpace X] (h๐’ฐ : ๐’ฐ.IsGood) (c : H1Cover D ๐’ฐ) :
            (h1CoverEquiv D h๐’ฐ) c = (toH1 D ๐’ฐ) c