Homology of a punctured closed simply connected -manifold
OpenSP4Mission.punctured_closed_manifold_homologyLet be a closed (compact Hausdorff) topological -manifold which is simply connected, let and . Then the inclusion induces isomorphisms
and the top homology of the punctured manifold vanishes, .
This is the classical computation of the homology of a punctured closed orientable manifold. The long exact sequence of the pair reads , and by excision the relative groups are the local homology groups , which vanish for and equal for . Hence is an isomorphism in all degrees . In the remaining degrees one uses that is orientable — a simply connected manifold is orientable (Hatcher, Proposition 3.25) — so that the map is an isomorphism (Hatcher, Theorem 3.26(a)); exactness then gives zero and injective, i.e. , and an isomorphism. The orientability hypothesis is necessary in degree : for the punctured surface is a Möbius band with , while . In the mission the statement is applied to a homotopy -sphere and gives and for .
Formalization Note The manifold hypothesis is a topological atlas ChartedSpace (EuclideanSpace ℝ (Fin n)) M with T2Space M and CompactSpace M; simple connectivity is Mathlib's SimplyConnectedSpace M and is used only to guarantee orientability, for which Mathlib has no definition. The punctured manifold is the subtype {x : M // x ≠ p}, the inclusion is the continuous map Subtype.val, and "induces an isomorphism" is IsIso (SP4Homology.map k ι) in ModuleCat ℤ. The statement covers all (for it is trivial or vacuous).
import Definitions.Def_SP4Sphere import Definitions.Def_SP4WeakHomotopy import Definitions.Def_SP4Homology import Definitions.Def_SP4HomologyMap set_option autoImplicit false open scoped Manifold ContDiff open SP4Mission CategoryTheory Limits
theorem SP4Mission.punctured_closed_manifold_homology
(n : ℕ) (M : Type) [TopologicalSpace M] [T2Space M] [CompactSpace M] [SimplyConnectedSpace M]
[ChartedSpace (EuclideanSpace ℝ (Fin n)) M] (p : M) :
(∀ k : ℕ, k ≠ n →
IsIso (SP4Homology.map k (⟨Subtype.val, continuous_subtype_val⟩ : C({x : M // x ≠ p}, M)))) ∧
IsZero (SP4Homology.H n {x : M // x ≠ p}) := by sorry