Encyclopedia Foundation Foundation Singular Sphere Geometry

ARTICLE 4 claims 4 theorems

Foundation Singular Sphere Geometry

A machine-checked library builds the geometry of spheres from two poles and an open cover, then proves which homology groups vanish.

The sphere model

In mathematics, an n-dimensional sphere is the set of points at a fixed distance from a center in (n+1)-dimensional space. The circle is the 1-sphere, the surface of a ball is the 2-sphere, and so on. This construction in the Recognition Science framework's machine-checked library of formal theorems builds these spheres as topological spaces and proves their basic separation and contractibility properties. It defines the north and south poles, shows they are distinct, and proves the 0-sphere consists of exactly those two points.

The construction proceeds by an open cover: coverU is the sphere minus the north pole, coverV is the sphere minus the south pole. Both are open sets, and their intersection is the sphere with both poles removed. The construction proves this intersection is homeomorphic to a punctured hyperplane, and that each cover set is contractible. These are the standard ingredients for computing homology via the Mayer-Vietoris sequence.

The central theorem is homology vanishing: for any n-sphere, the k-th homology group is zero whenever k is not 0 or n. This is the formal statement that a sphere has exactly one "hole" in its top dimension and none elsewhere. For the 1-sphere, the construction also proves a specific non-vanishing result: the first homology group is not zero, confirming the circle has a single loop.

In Recognition Science, this sphere geometry is foundational. The framework models recognition events on spheres, and the homology computations provide the topological invariants used in later forcing arguments. The construction establishes these facts once, in a machine-checked form, so that subsequent results can rely on them without re-deriving the topology. The key payoff is that the sphere's homology is now a proved fact in the library, not an assumed one.

THEOREM sphere_homology_vanish · IndisputableMonolith/Foundation/SingularSphereGeometry.lean
/-- **Stage D vanishing.** `H_k(Sⁿ) = 0` for `1 ≤ k`, `k ≠ n`. -/
theorem sphere_homology_vanish :
    ∀ n k : ℕ, 1 ≤ k → k ≠ n → IsZero (Hgrp (Sph n) k) := by
  intro n
  induction n with
  | zero =>
      intro k hk _
      exact isZero_sph0 (by omega)
  | succ n ih =>
      intro k hk hkn
      match k, hk with
      | 1, _ =>
          have hn : n ≠ 0 := by omega
          obtain ⟨m, rfl⟩ := Nat.exists_eq_succ_of_ne_zero hn
          exact isZero_h1_of_contractible (isOpen_coverU (m + 2))
            (isOpen_coverV (m + 2)) (coverU_union_coverV (m + 2))
      | (k + 2), _ =>
          exact (ih (k + 1) (by omega) (by omega)).of_iso (suspensionIso n k)
THEOREM h1_s1_ne_zero · IndisputableMonolith/Foundation/SingularSphereGeometry.lean
/-- **`H₁(S¹) ≠ 0`.** If it vanished, the Mayer-Vietoris connecting map
out of it would be zero, and exactness would kill the point-difference
class, contradicting its nonzero pairing. -/
theorem h1_s1_ne_zero : ¬ IsZero (Hgrp (Sph 1) 1) := by
  intro hZ
  have hδ : mvδ (isOpen_coverU 1) (isOpen_coverV 1)
      (coverU_union_coverV 1) 0 = 0 :=
    hZ.eq_of_src _ _
  have hex := mv_exact₁ (isOpen_coverU 1) (isOpen_coverV 1)
    (coverU_union_coverV 1) 0
  rw [ShortComplex.moduleCat_exact_iff] at hex
  have hker : mvPair (coverU 1) (coverV 1) 0 (diffClass (1 : ℤ)) = 0 := by
    rw [← ModuleCat.comp_apply, diffClass_mvPair, zeroApp]
  obtain ⟨w, hw⟩ := hex (diffClass (1 : ℤ)) hker
  have hw' : mvδ (isOpen_coverU 1) (isOpen_coverV 1)
      (coverU_union_coverV 1) 0 w = diffClass (1 : ℤ) := hw
  rw [hδ, zeroApp] at hw'
  have h1 : augH Wc arcA isClopen_arcA (diffClass (1 : ℤ)) = (1 : ℤ) := by
    rw [← ModuleCat.comp_apply, diffClass_pairing, ModuleCat.id_apply]
  rw [← hw', map_zero] at h1
  exact one_ne_zero h1.symm
THEOREM sph0_eq_pole · IndisputableMonolith/Foundation/SingularSphereGeometry.lean
/-- A point of `S⁰` is one of the two poles. -/
lemma sph0_eq_pole (x : ↥(Sph 0)) : x = northP 0 ∨ x = southP 0 := by
  have hx : ‖amb x‖ = 1 := norm_amb x
  have hsq : amb x 0 ^ 2 = 1 := by
    have hs := EuclideanSpace.norm_sq_eq (amb x)
    rw [hx, Fin.sum_univ_one, Real.norm_eq_abs, sq_abs] at hs
    linarith [hs]
  have habs : |amb x 0| = 1 := abs_eq_one_of_sq_eq_one hsq
  have hlast : (0 : Fin 1) = Fin.last 0 := by decide
  rcases (abs_eq zero_le_one).mp habs with h | h
  · left
    apply amb_injective
    apply esp0_ext
    rw [h]
    show (1 : ℝ) = northV 0 0
    rw [northV, EuclideanSpace.single_apply, if_pos hlast]
  · right
    apply amb_injective
    rw [amb_southP 0]
    apply esp0_ext
    rw [h]
    show (-1 : ℝ) = -(northV 0 0)
    rw [northV, EuclideanSpace.single_apply, if_pos hlast]
THEOREM interHomeoPunctured · IndisputableMonolith/Foundation/SingularSphereGeometry.lean
/-- Stereographic projection at the north pole restricts to a homeomorphism
from the doubly punctured sphere onto the punctured hyperplane (the south
pole goes to the origin). -/
noncomputable def interHomeoPunctured (n : ℕ) :
    ↥(coverU n ∩ coverV n) ≃ₜ ↥(({0}ᶜ : Set (Hyp n))) := by
  have hnv : ‖northV n‖ = 1 := norm_northV n
  have hsource : ∀ y : ↥(Sph n), y ≠ northP n →
      y ∈ (stereographic hnv).source := by
    intro y hy
    show y ∈ ({(⟨northV n, _⟩ : sphere (0 : Esp n) 1)}ᶜ : Set _)
    exact hy
  have hst_south : stereographic hnv (southP n) = 0 :=
    stereographic_apply_neg (northP n)
  refine Homeomorph.mk (Equiv.mk ?_ ?_ ?_ ?_) ?_ ?_
  · -- forward map
    refine fun x => ⟨stereographic hnv x.1, ?_⟩
    obtain ⟨hS, hN⟩ := (mem_inter_iff n x.1).mp x.2
    intro h0
    apply hS
    refine (stereographic hnv).injOn (hsource x.1 hN)
      (hsource (southP n) (fun h => northP_ne_southP n h.symm)) ?_
    rw [hst_south]
    exact h0
  · -- inverse map
    refine fun y => ⟨(stereographic hnv).symm y.1, ?_⟩
    have hmem : (stereographic hnv).symm y.1 ∈ (stereographic hnv).source :=
      (stereographic hnv).map_target (by
        rw [stereographic_target]; exact Set.mem_univ _)
    refine (mem_inter_iff n _).mpr ⟨?_, hmem⟩
    intro hS
    apply y.2
    have := (stereographic hnv).right_inv (x := y.1) (by
      rw [stereographic_target]; exact Set.mem_univ _)
    rw [← this, hS, hst_south]
    rfl
  · -- left inverse
    intro x
    obtain ⟨_, hN⟩ := (mem_inter_iff n x.1).mp x.2
    exact Subtype.ext (Subtype.ext (congrArg Subtype.val
      ((stereographic hnv).left_inv (hsource x.1 hN))))
  · -- right inverse
    intro y
    exact Subtype.ext ((stereographic hnv).right_inv (x := y.1) (by
      rw [stereographic_target]; exact Set.mem_univ _))
  · -- continuity, forward
    refine Continuous.subtype_mk ?_ _
    refine ContinuousOn.comp_continuous
      (stereographic hnv).continuousOn continuous_subtype_val ?_
    intro x
    exact hsource x.1 ((mem_inter_iff n x.1).mp x.2).2
  · -- continuity, inverse
    refine Continuous.subtype_mk ?_ _
    refine ContinuousOn.comp_continuous
      (stereographic hnv).continuousOn_symm continuous_subtype_val ?_
    intro y
    rw [stereographic_target]
    exact Set.mem_univ _

What this page does not claim

The construction does not prove that physical space is a sphere. The construction does not derive the dimension of space from the sphere's homology. The construction does not define recognition events; it only provides the sphere topology they are modeled on.

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/SingularSphereGeometry.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