IndisputableMonolith.Foundation.SingularSubdivision
Defines the free abelian group of affine n-chains on a set α, together with the affine boundary, cone, and elementary subdivision operators needed for singular homology. Algebraic topologists working the RS foundation cite it when building Mayer–Vietoris sequences or computing sphere homology. The module is largely definitional: it packages Mathlib singular-simplex data with explicit affine maps and verifies the usual chain-homotopy identities by direct Fin-arithmetic.
claimFor a set $\alpha$ and $n\in\mathbb{N}$, let $AC_n(\alpha)$ be the free abelian group on maps $\mathrm{Fin}(n+1)\to\alpha$ (affine $n$-simplices). The module supplies the affine boundary $\partial:AC_n\to AC_{n-1}$, the cone operator from a basepoint, and the elementary subdivision operator $\varepsilon$, satisfying the standard identities $\partial\circ\mathrm{cone}+\mathrm{cone}\circ\partial=\mathrm{id}$ and $\partial\varepsilon=\varepsilon\partial$.
background
Singular homology in Mathlib is built from continuous maps out of the standard simplex. For Recognition Science foundation work one often needs a purely combinatorial intermediate: affine chains whose vertices lie in an arbitrary set $\alpha$ (typically a convex subset of a real vector space). The group $AC_n(\alpha)$ is the free $\mathbb{Z}$-module on all functions $\mathrm{Fin}(n+1)\to\alpha$.
The upstream module SingularPrism supplies the prism operator that realises the chain homotopy between the identity and a subdivision. The present module specialises that apparatus to the affine setting: it defines the affine simplex constructor, the induced boundary $\partial$, the cone from a fixed vertex, and the elementary subdivision map $\varepsilon$ that inserts barycentres.
Local conventions follow Mathlib's SingularHomology.Basic: chains are finitely supported, coefficients are $\mathbb{Z}$, and face maps are realised by precomposition with the standard coface embeddings $\mathrm{succAbove}$.
proof idea
This is primarily a definition module. The core objects (AC, asimplex, abnd, acone, eps) are introduced by direct constructors. The few lemmas (cons_comp_succAbove_*, abnd_comp_acone, and the corresponding statements for eps) are proved by unfolding the Fin-arithmetic of face and degeneracy maps and applying the corresponding identities already available from SingularPrism and Mathlib's simplex category. No deep homological algebra is required; the arguments are equational.
why it matters in Recognition Science
Affine subdivision is the technical engine that lets the foundation compute singular homology of spheres and run Mayer–Vietoris arguments without leaving the combinatorial category. Downstream, SingularMayerVietoris imports the cone and subdivision operators to obtain the long exact sequence of a pair, while SingularSphere uses the same operators to identify $H_n(S^n)$ with $\mathbb{Z}$. In the broader RS forcing chain these homology computations underwrite topological constraints (dimension, orientability) that feed the T8 derivation of $D=3$ spatial dimensions and the eight-tick octave structure.
scope and limits
- Does not construct continuous singular chains; only affine combinatorial chains on a set.
- Does not prove the full Eilenberg–Steenrod axioms; only supplies operators used by later modules.
- Does not identify AC with Mathlib's singular chain complex; that comparison lives elsewhere.
- Does not treat infinite or locally finite chains; support remains finite.
- Does not address coefficients other than $\mathbb{Z}$.
used by (2)
depends on (1)
declarations in this module (114)
-
abbrev
AC -
def
asimplex -
lemma
lift_asimplex -
def
abnd -
lemma
abnd_asimplex -
def
acone -
lemma
acone_asimplex -
def
eps -
lemma
eps_asimplex -
lemma
cons_comp_succAbove_zero -
lemma
cons_comp_succAbove_succ -
theorem
abnd_comp_acone -
theorem
abnd_comp_acone_zero -
theorem
abnd_comp_abnd -
theorem
eps_comp_abnd -
def
asub -
lemma
asub_zero -
lemma
asub_asimplex -
theorem
abnd_comp_asub -
def
atee -
lemma
atee_zero -
lemma
atee_asimplex -
theorem
abnd_comp_atee_zero -
theorem
abnd_comp_atee -
def
asubIter -
lemma
asubIter_zero -
lemma
asubIter_succ -
theorem
abnd_comp_asubIter -
def
ateeIter -
lemma
ateeIter_zero -
lemma
ateeIter_succ -
lemma
asubIter_comp_asub -
theorem
abnd_comp_ateeIter -
def
amap -
lemma
amap_asimplex -
lemma
amap_comp_abnd -
lemma
amap_comp_acone -
theorem
amap_comp_asub -
theorem
amap_comp_atee -
def
affineMapFun -
lemma
affineMapFun_mem -
lemma
continuous_affineMapFun -
def
affineMap -
lemma
affineMap_apply_coe -
lemma
affineMap_vertex -
theorem
affineMap_comp -
def
idTuple -
lemma
affineMap_idTuple -
lemma
affineMap_comp_idTuple -
lemma
stdSimplex_map_eq_affineMap -
lemma
affineMap_comp_face -
def
sbary -
lemma
sbary_apply -
lemma
sbary_affineMap -
def
postComp -
def
simplexEquiv -
lemma
simplexEquiv_ -
lemma
simplexEquiv_map -
def
pushSimplex -
lemma
simplexEquiv_pushSimplex -
def
toChain -
lemma
toChain_asimplex -
lemma
pushSimplex_idTuple -
lemma
toChain_asimplex_idTuple -
lemma
toChain_comp_abnd -
lemma
toChain_comp_chainMap -
lemma
toChain_amap -
def
baryFn -
def
sdGen -
def
sdOp -
lemma
gen_sdOp -
def
tGen -
def
tOp -
lemma
gen_tOp -
lemma
gen_pushSimplex_comp_sdOp -
lemma
gen_pushSimplex_comp_tOp -
theorem
sdOp_comp_bnd -
theorem
sdOp_zero -
theorem
tOp_zero -
theorem
tOp_chain_homotopy_succ