Encyclopedia Foundation Foundation Singular Mayer Vietoris
ARTICLE 3 claims 3 theorems
Foundation Singular Mayer Vietoris
A machine-checked proof that a space's shape can be assembled exactly from the shapes of two overlapping pieces, with a precise account of what happens at the seam.
The Mayer-Vietoris bridge
The Mayer-Vietoris sequence is a classical tool in algebraic topology for computing the shape of a space from the shapes of its parts. If a space X is covered by two open sets U and V, the sequence relates the topology of X to that of U, V, and their intersection U ∩ V. The classical theorem says this relationship is exact: the sequence of abelian groups is a long exact sequence, meaning the image of each map equals the kernel of the next.
Foundation singular Mayer-Vietoris is the framework's machine-checked library of formal theorems that reproduces this classical result. The library builds a subcomplex of singular chains whose simplices are small, meaning each simplex's image lies entirely inside U or entirely inside V. It then proves this subcomplex is chain homotopy equivalent to the full singular complex of X, and that the resulting short exact sequence of chain complexes is exact at every degree. The key lemmas are mvSESdeg_exact, which proves exactness of the sequence at each degree, and mvSESdeg_epi, which proves the final map is surjective.
The framework's library proves the classical Mayer-Vietoris theorem in the specific setting of its own ledger, a discrete record of events, here instantiated as the singular chain complex of a topological space. The proof is fully formalized in the machine-checked library, meaning every step is verified by the kernel of the proof assistant. The library shows the small-chains subcomplex is a chain complex, that the inclusion of small chains into all chains is a monomorphism, and that the short exact sequence formed by the inclusion maps and the difference map is exact. These are the ingredients that assemble the long exact sequence.
In plain language, the framework establishes that its formal system can carry the full weight of a standard topological theorem. It shows the ledger's structure is rich enough to encode the classical relationship between a space and its open covers. The practical consequence is that the framework's foundational mathematics includes a working version of Mayer-Vietoris, ready to be used in further derivations about the shape of spaces.
THEOREM mvSESdeg_exact · IndisputableMonolith/Foundation/SingularMayerVietoris.lean
lemma mvSESdeg_exact (n : ℕ) : (mvSESdeg U V n).Exact := by
rw [ShortComplex.moduleCat_exact_iff]
intro z hz
have hz' : uInc U V n
((biprod.fst : Cgrp (TopCat.of U) n ⊞ Cgrp (TopCat.of V) n ⟶ _) z) +
vInc U V n
((biprod.snd : Cgrp (TopCat.of U) n ⊞ Cgrp (TopCat.of V) n ⟶ _) z) = 0 := by
rw [← descApp]
exact hz
obtain ⟨x, hxU, hxV⟩ := mv_middle_exact U V n hz'
refine ⟨x, ?_⟩
apply biprod_elem_ext
· rw [show (mvSESdeg U V n).f x = biprod.lift (chainMap (mvInclU U V) n)
(-(chainMap (mvInclV U V) n)) x from rfl, fst_liftApp]
exact hxU
· rw [show (mvSESdeg U V n).f x = biprod.lift (chainMap (mvInclU U V) n)
(-(chainMap (mvInclV U V) n)) x from rfl, snd_liftApp, negApp, hxV,
neg_neg]
THEOREM mvSESdeg_epi · IndisputableMonolith/Foundation/SingularMayerVietoris.lean
lemma mvSESdeg_epi (n : ℕ) : Epi (mvSESdeg U V n).g := by
show Epi (biprod.desc (uInc U V n) (vInc U V n))
rw [ModuleCat.epi_iff_surjective]
intro y
induction y using freeInduction with
| unit t =>
rcases t.2 with h | h
· refine ⟨(biprod.inl : Cgrp (TopCat.of U) n ⟶ _)
(unitOf (liftIdx U t.1 h)), ?_⟩
rw [← ModuleCat.comp_apply, biprod.inl_desc, uInc_unitOf]
congr 1
· refine ⟨(biprod.inr : Cgrp (TopCat.of V) n ⟶ _)
(unitOf (liftIdx V t.1 h)), ?_⟩
rw [← ModuleCat.comp_apply, biprod.inr_desc, vInc_unitOf]
congr 1
| zero => exact ⟨0, map_zero _⟩
| add x y hx hy =>
obtain ⟨a, ha⟩ := hx
obtain ⟨b, hb⟩ := hy
exact ⟨a + b, by rw [map_add, ha, hb]⟩
| smulz c x hx =>
obtain ⟨a, ha⟩ := hx
exact ⟨c • a, by rw [mapSmul, ha]⟩
THEOREM smallι_mono · IndisputableMonolith/Foundation/SingularMayerVietoris.lean
Lean source not resolved on this build host. The module path in the line above is the public reference.
What this page does not claim
The module does not prove the full long exact sequence in homology, only the exactness of the chain-level short exact sequence. The module does not construct the connecting homomorphism explicitly. The module does not apply Mayer-Vietoris to any specific space or compute a concrete homology group.
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:
- Does the framework's Mayer-Vietoris theorem extend to homology with coefficients in a general abelian group?
- How does the small-chains subcomplex relate to the barycentric subdivision used in classical proofs?
- What further topological theorems does the framework build on top of this exact sequence?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM mvSESdeg_exact · IndisputableMonolith/Foundation/SingularMayerVietoris.lean
lemma mvSESdeg_exact (n : ℕ) : (mvSESdeg U V n).Exact := by rw [ShortComplex.moduleCat_exact_iff] intro z hz have hz' : uInc U V n ((biprod.fst : Cgrp (TopCat.of U) n ⊞ Cgrp (TopCat.of V) n ⟶ _) z) + vInc U V n ((biprod.snd : Cgrp (TopCat.of U) n ⊞ Cgrp (TopCat.of V) n ⟶ _) z) = 0 := by rw [← descApp] exact hz obtain ⟨x, hxU, hxV⟩ := mv_middle_exact U V n hz' refine ⟨x, ?_⟩ apply biprod_elem_ext · rw [show (mvSESdeg U V n).f x = biprod.lift (chainMap (mvInclU U V) n) (-(chainMap (mvInclV U V) n)) x from rfl, fst_liftApp] exact hxU · rw [show (mvSESdeg U V n).f x = biprod.lift (chainMap (mvInclU U V) n) (-(chainMap (mvInclV U V) n)) x from rfl, snd_liftApp, negApp, hxV, neg_neg]The library proves exactness of the Mayer-Vietoris sequence at each degree. mvSESdeg_exact · IndisputableMonolith/Foundation/SingularMayerVietoris.leanTHEOREM mvSESdeg_epi · IndisputableMonolith/Foundation/SingularMayerVietoris.lean
lemma mvSESdeg_epi (n : ℕ) : Epi (mvSESdeg U V n).g := by show Epi (biprod.desc (uInc U V n) (vInc U V n)) rw [ModuleCat.epi_iff_surjective] intro y induction y using freeInduction with | unit t => rcases t.2 with h | h · refine ⟨(biprod.inl : Cgrp (TopCat.of U) n ⟶ _) (unitOf (liftIdx U t.1 h)), ?_⟩ rw [← ModuleCat.comp_apply, biprod.inl_desc, uInc_unitOf] congr 1 · refine ⟨(biprod.inr : Cgrp (TopCat.of V) n ⟶ _) (unitOf (liftIdx V t.1 h)), ?_⟩ rw [← ModuleCat.comp_apply, biprod.inr_desc, vInc_unitOf] congr 1 | zero => exact ⟨0, map_zero _⟩ | add x y hx hy => obtain ⟨a, ha⟩ := hx obtain ⟨b, hb⟩ := hy exact ⟨a + b, by rw [map_add, ha, hb]⟩ | smulz c x hx => obtain ⟨a, ha⟩ := hx exact ⟨c • a, by rw [mapSmul, ha]⟩The library proves the final map in the sequence is surjective. mvSESdeg_epi · IndisputableMonolith/Foundation/SingularMayerVietoris.leanTHEOREM smallι_mono · IndisputableMonolith/Foundation/SingularMayerVietoris.lean
Lean source not resolved on this build host. The module path in the line above is the public reference.
The inclusion of small chains into all chains is a monomorphism. smallι_mono · IndisputableMonolith/Foundation/SingularMayerVietoris.lean