Encyclopedia Foundation Foundation Arc Complement Acyclic Arc Complements Acyclic

ARTICLE 1 claim 1 theorem

Foundation Arc Complement Acyclic Arc Complements Acyclic

A machine-checked theorem shows that removing any arc from a sphere leaves a space with no holes, a fact with a long classical history.

A topological fact

An arc is the image of a closed interval under a continuous one-to-one map, a simple curved line segment with two distinct endpoints. The theorem arcComplementsAcyclic, proved in the framework's machine-checked library of formal theorems, states that for any dimension D, the complement of an arc in a D-dimensional sphere has trivial homology in all positive degrees. In plain language, cutting an arc out of a sphere leaves a space with no holes, no tunnels, and no higher-dimensional voids; every closed loop in the complement can be filled in by a disk, and the same holds for cycles of every dimension.

This is a classical result in algebraic topology. For a sphere of dimension two, the complement of an arc is homeomorphic to a disk, a fact known since the early twentieth century through the work of Schoenflies. The general statement for all dimensions is a theorem of Morton Brown and others from the 1960s, often called the generalized Schoenflies theorem. The framework's contribution is to give a fully formal, machine-checked proof of this statement within its own foundational system, using its definitions of spheres, arcs, and homology groups.

The proof in the library proceeds by constructing a sequence of approximations to the arc, called segments, and showing that the homology of the complement stabilizes. The key technical step is a lemma that any homology class in the complement of a segment can be pushed into the complement of a larger segment, and that this pushing map is injective. The theorem then follows by a limiting argument. This is a standard approach in algebraic topology, and the formal proof follows it closely.

In Recognition Science, this theorem is one of the building blocks for the framework's account of how three-dimensional space arises from more primitive structures. The framework models physical space as a sphere of some dimension, and the claim that removing an arc leaves no holes is a step toward showing that the sphere itself has the right kind of topological structure. The theorem is used in the framework's library to support later results about linking and the structure of space, though the full physical interpretation is a separate matter.

The theorem does not claim that the complement of an arc is homeomorphic to a disk in all dimensions; that stronger statement is false in general. It also does not claim that the complement of a more general set, such as a knot or a wild arc, is acyclic. The result is specific to arcs, which are tame by definition. Finally, the theorem says nothing about the physical interpretation of spheres or arcs in the framework; it is a purely topological statement.

THEOREM arcComplementsAcyclic · IndisputableMonolith/Foundation/ArcComplementAcyclic.lean
/-- **Arc-complement acyclicity** (Hatcher 2B.1, arc case, formal):
every topological embedding of the unit interval into `S^D` has
`H₁`-acyclic complement, in every dimension `D`. -/
theorem arcComplementsAcyclic (D : ℕ) :
    LinkingVanishingHighDim.ArcComplementsAcyclic D := by
  intro a hemb
  by_contra hH
  haveI : T2Space ↥(Sph D) :=
    inferInstanceAs (T2Space (sphere (0 : Esp D) 1))
  obtain ⟨z, hz, hznb⟩ := exists_nonbounding hH
  have hinj : Function.Injective ⇑a := hemb.injective
  -- the initial bad interval
  have h0 : Bad a z 0 1 := by
    refine ⟨le_refl 0, le_refl 1, zero_le_one, ?_⟩
    intro hb
    apply hznb
    refine bounds_of_retract (cInc (seg_subset_range a 0 1))
      (cInc (range_subset_seg a)) (cInc_cInc_id _ _) z ?_
    exact hb
  -- the nested bad intervals and their limit point
  set s : ℕ → ℝ := fun k => (badSeq a z hinj hz h0 k).1.1 with hs
  set t : ℕ → ℝ := fun k => (badSeq a z hinj hz h0 k).1.2 with ht
  have hbdd : BddAbove (Set.range s) := by
    refine ⟨1, ?_⟩
    rintro _ ⟨k, rfl⟩
    exact ((badSeq a z hinj hz h0 k).2.2.2.1).trans (badSeq a z hinj hz h0 k).2.2.1
  set tstar : ℝ := ⨆ k, s k with htstar
  have hst : ∀ k, s k ≤ tstar := fun k => le_ciSup hbdd k
  have hts : ∀ k, tstar ≤ t k := fun k =>
    ciSup_le fun j => badSeq_le a z hinj hz h0 j k
  have h0t : (0 : ℝ) ≤ tstar := by
    have h := hst 0
    rw [show s 0 = 0 from congrArg Prod.fst (badSeq_zero a z hinj hz h0)] at h
    exact h
  have ht1 : tstar ≤ 1 := by
    have h := hts 0
    rw [show t 0 = 1 from congrArg Prod.snd (badSeq_zero a z hinj hz h0)] at h
    exact h
  set tI : unitInterval := ⟨tstar, h0t, ht1⟩ with htI
  set p : ↥(Sph D) := a tI with hp
  -- the point complement is contractible, so the pushforward bounds there
  have hpr : ({p} : Set ↥(Sph D)) ⊆ Set.range ⇑a := by
    intro x hx
    rw [Set.mem_singleton_iff] at hx
    exact ⟨tI, hx.symm⟩
  haveI hcontr : ContractibleSpace
      ↥((({p} : Set ↥(Sph D))ᶜ : Set ↥(Sph D))) :=
    contractibleSpace_compl_singleton_sphere p
  have hzero : IsZero (Hgrp (TopCat.of
      {y : ↥(Sph D) // y ∉ ({p} : Set ↥(Sph D))}) 1) := by
    have h := isZero_homology_of_contractible
      (TopCat.of ((({p} : Set ↥(Sph D))ᶜ : Set ↥(Sph D)))) one_ne_zero
    exact h
  obtain ⟨w, hw⟩ := bounds_of_isZero hzero (chainMap (cInc hpr) 1 z)
    (chainMap_cycle _ z hz)
  -- the compact support of the bounding chain misses `a(t*)`
  set Kc : Set ↥(Sph D) :=
    ⋃ i ∈ suppOf w, Set.range ⇑(simplexEquiv (Sph D) 2 (cPush i)) with hKc
  have hKc_compact : IsCompact Kc := by
    rw [hKc]
    exact (suppOf w).isCompact_biUnion fun i _ => isCompact_range (map_continuous _)
  have hKc_closed : IsClosed Kc := hKc_compact.isClosed
  have hKc_avoids : ∀ x ∈ Kc, x ∉ ({p} : Set ↥(Sph D)) := by
    intro x hx
    rw [hKc, Set.mem_iUnion₂] at hx
    obtain ⟨i, _, hxi⟩ := hx
    exact range_cPush i x hxi
  -- an ε-neighbourhood of `t*` avoids the support
  have hA_closed : IsClosed (⇑a ⁻¹' Kc) := hKc_closed.preimage (map_continuous a)
  have htA : tI ∈ (⇑a ⁻¹' Kc)ᶜ := by
    intro hmem
    exact hKc_avoids (a tI) hmem (by rw [hp]; exact Set.mem_singleton _)
  obtain ⟨ε, hε, hball⟩ := Metric.isOpen_iff.mp hA_closed.isOpen_compl tI htA
  obtain ⟨k, hk⟩ := exists_pow_lt_of_lt_one hε (by norm_num : (1 / 2 : ℝ) < 1)
  -- the k-th interval's arc image avoids the support
  have hclaim : ∀ x ∈ seg a (s k) (t k), x ∉ Kc := by
    rintro _ ⟨q, ⟨hq1, hq2⟩, rfl⟩ hxK
    have hqball : q ∈ Metric.ball tI ε := by
      rw [Metric.mem_ball, Subtype.dist_eq, Real.dist_eq]
      have hwidth : t k - s k = (1 / 2 : ℝ) ^ k := badSeq_width a z hinj hz h0 k
      have h1 : s k ≤ tstar := hst k
      have h2 : tstar ≤ t k := hts k
      have habs : |(q : ℝ) - tstar| ≤ (1 / 2 : ℝ) ^ k := by
        rw [abs_le]
        constructor
        · linarith
        · linarith
      show |(q : ℝ) - tstar| < ε
      exact lt_of_le_of_lt habs hk
    exact hball hqball hxK
  -- lift the bounding chain below the k-th arc complement
  obtain ⟨w', hw'⟩ := exists_chain_lift (S := ({p} : Set ↥(Sph D)))
    (T := seg a (s k) (t k)) w
    (fun i hi x hx hxT => hclaim x hxT (Set.mem_biUnion hi hx))
  -- contradiction with the k-th bad interval
  apply (badSeq a z hinj hz h0 k).2.2.2.2
  refine ⟨w', ?_⟩
  apply chainMap_injective (cVal (seg a (s k) (t k))) (cVal_injective _) 1
  have hL : chainMap (cVal (seg a (s k) (t k))) 1 (zSeg a z (s k) (t k)) =
      chainMap (cVal (Set.range ⇑a)) 1 z := by
    unfold zSeg
    rw [chainMap_chainMap, cInc_comp_cVal]
  have hR : chainMap (cVal (seg a (s k) (t k))) 1
      (bnd (TopCat.of {y : ↥(Sph D) // y ∉ seg a (s k) (t k)}) 1 w') =
      chainMap (cVal (Set.range ⇑a)) 1 z := by
    rw [← chainMap_bnd (cVal (seg a (s k) (t k))) 1 w', hw',
      chainMap_bnd (cVal ({p} : Set ↥(Sph D))) 1 w, ← hw,
      chainMap_chainMap, cInc_comp_cVal]
  rw [hL, hR]

What this page does not claim

The complement of an arc is homeomorphic to a disk in all dimensions. The complement of a knot or a wild arc is acyclic. The theorem has any direct physical interpretation within the framework.

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