Encyclopedia Foundation Foundation Singular Mayer Vietoris Exists Sd Op Iter Mem Small Span

ARTICLE 3 claims 3 theorems

Foundation Singular Mayer Vietoris Exists Sd Op Iter Mem Small Span

In algebraic topology, the singular chain complex of a space can be built from simplices that stay inside one of two open sets; a machine-checked proof shows this subcomplex is closed under the boundary operator.

The small-span stability theorem

In algebraic topology, the singular chain complex of a space X is built from continuous maps of standard simplices into X. A simplex is called small relative to a pair of open sets U and V when its entire image lies inside U or inside V. The small simplices form a subcomplex: the boundary of a small simplex is again a sum of small simplices. This closure property is what the declaration sdOp_mem_smallSpan establishes, and it is the key step in proving that the Mayer-Vietoris sequence, a standard tool for computing homology groups, is exact.

The declaration exists_sdOpIter_mem_smallSpan, which is the focus of this page, goes one step further. It states that if you start with any element in the span of small simplices and apply the boundary operator any number of times, the result remains in that span. In plainer language: the small-span subcomplex is closed under repeated application of the boundary map. This is a recognition event, a discrete record of a topological operation, and the proof is a formal theorem in the framework's machine-checked library of formal theorems.

The theorem does not claim that every element of the small span is a boundary, nor that the small subcomplex has trivial homology. It only asserts closure under the boundary operator. The exactness of the Mayer-Vietoris sequence, which is a separate and stronger statement, is proved by other lemmas in the same file, such as mvSESdeg_exact. The closure result is a necessary condition for that exactness, not a sufficient one.

What this means for a reader is that the small-chain construction is well-behaved: it is a genuine subcomplex, not just a collection of simplices that happens to be closed under one operation. This is the foundation on which the Mayer-Vietoris sequence for the small subcomplex is built, and it is a prerequisite for computing homology groups of a space by decomposing it into two open sets.

THEOREM sdOp_mem_smallSpan · IndisputableMonolith/Foundation/SingularMayerVietoris.lean
/-- The singular subdivision operator preserves the small span. -/
lemma sdOp_mem_smallSpan {U V : Set X} {n : ℕ} {z : Cgrp X n}
    (hz : z ∈ smallSpan U V n) : sdOp X n z ∈ smallSpan U V n := by
  refine Submodule.span_induction ?_ ?_ ?_ ?_ hz
  · rintro _ ⟨s, hs, rfl⟩
    rw [genUnit_eq, ← ModuleCat.comp_apply, gen_sdOp]
    show ev1 (toChain (simplexEquiv X n s) n
      (asub (baryFn n) n (asimplex (idTuple n)))) ∈ smallSpan U V n
    exact toChain_one_mem_smallSpan _ _ fun w _ => small_pushSimplex hs w
  · rw [map_zero]; exact Submodule.zero_mem _
  · intro x y _ _ hx hy
    rw [map_add]; exact Submodule.add_mem _ hx hy
  · intro c x _ hx
    rw [mapSmul]; exact Submodule.smul_mem _ _ hx
THEOREM sdOp_mem_smallSpan · IndisputableMonolith/Foundation/SingularMayerVietoris.lean
/-- The singular subdivision operator preserves the small span. -/
lemma sdOp_mem_smallSpan {U V : Set X} {n : ℕ} {z : Cgrp X n}
    (hz : z ∈ smallSpan U V n) : sdOp X n z ∈ smallSpan U V n := by
  refine Submodule.span_induction ?_ ?_ ?_ ?_ hz
  · rintro _ ⟨s, hs, rfl⟩
    rw [genUnit_eq, ← ModuleCat.comp_apply, gen_sdOp]
    show ev1 (toChain (simplexEquiv X n s) n
      (asub (baryFn n) n (asimplex (idTuple n)))) ∈ smallSpan U V n
    exact toChain_one_mem_smallSpan _ _ fun w _ => small_pushSimplex hs w
  · rw [map_zero]; exact Submodule.zero_mem _
  · intro x y _ _ hx hy
    rw [map_add]; exact Submodule.add_mem _ hx hy
  · intro c x _ hx
    rw [mapSmul]; exact Submodule.smul_mem _ _ hx
THEOREM sdOp_mem_smallSpan · IndisputableMonolith/Foundation/SingularMayerVietoris.lean
/-- The singular subdivision operator preserves the small span. -/
lemma sdOp_mem_smallSpan {U V : Set X} {n : ℕ} {z : Cgrp X n}
    (hz : z ∈ smallSpan U V n) : sdOp X n z ∈ smallSpan U V n := by
  refine Submodule.span_induction ?_ ?_ ?_ ?_ hz
  · rintro _ ⟨s, hs, rfl⟩
    rw [genUnit_eq, ← ModuleCat.comp_apply, gen_sdOp]
    show ev1 (toChain (simplexEquiv X n s) n
      (asub (baryFn n) n (asimplex (idTuple n)))) ∈ smallSpan U V n
    exact toChain_one_mem_smallSpan _ _ fun w _ => small_pushSimplex hs w
  · rw [map_zero]; exact Submodule.zero_mem _
  · intro x y _ _ hx hy
    rw [map_add]; exact Submodule.add_mem _ hx hy
  · intro c x _ hx
    rw [mapSmul]; exact Submodule.smul_mem _ _ hx

What this page does not claim

The declaration does not prove the Mayer-Vietoris sequence is exact. The declaration does not show that the small subcomplex has trivial homology. The declaration does not identify the small subcomplex with the full singular chain complex.

Verify this page

Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:

$ lake env lean IndisputableMonolith/Foundation/SingularMayerVietoris.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)

A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.

Derived articles

This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:

MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND