OAI/AlgebraicTopology/IntegralHomology/Subdivision.lean
59 declarations, 0 contain sorry, 0 declared as axioms
Singular subdivision, small-chain homotopies, and iterated mesh bounds.
- def
OAI.Kaplansky.simplexTupleHullline 18Source documentation
The ambient convex hull of a tuple's vertices.
def simplexTupleHull {n : ℕ} (v : Fin (n+1) → StdSimplex ℝ κ) : Set (κ → ℝ) := … - theorem
OAI.Kaplansky.simplexTupleHull_vertexline 21 - theorem
OAI.Kaplansky.simplexTupleHull_faceline 24 - theorem
OAI.Kaplansky.simplexTupleCenter_mem_hullline 32 - theorem
OAI.Kaplansky.simplexTupleCenter_hull_dist_leline 43Source documentation
The barycenter contraction estimate holds on the entire old convex hull.
theorem simplexTupleCenter_hull_dist_le {n : ℕ} (v : Fin (n+2) → StdSimplex ℝ κ) (D : ℝ) (hv : ∀ i j, dist (v i) (v j) ≤ D) (x : StdSimplex ℝ κ) (hx : ⇑x.weights ∈ simplexTupleHull v) : dist (simplexTupleCenter n v) x ≤ ((n+1 : ℝ)/(n+2))*D := by …Mentions: OAI.Kaplansky.simplexTupleHull, OAI.Kaplansky.simplexTupleCenter
- def
OAI.Kaplansky.tupleHullMeshline 56Source documentation
Support condition recording both the original hull and the new mesh.
def tupleHullMesh {n m : ℕ} (v : Fin (n+1) → StdSimplex ℝ κ) (D : ℝ) (w : Fin (m+1) → StdSimplex ℝ κ) : Prop := … - theorem
OAI.Kaplansky.tupleSubdivision_meshline 62Source documentation
Every simplex in one barycentric subdivision has mesh at most n/(n+1) times the old vertex mesh. Support is expressed in the actual free chain group.
theorem tupleSubdivision_mesh (n : ℕ) (v : Fin (n+1) → StdSimplex ℝ κ) (D : ℝ) (hD : 0 ≤ D) (hv : ∀ i j, dist (v i) (v j) ≤ D) : tupleSubdivisionMap simplexTupleCenter n (tupleGen v (1 : ℤ)) ∈ tupleChainSpan (tupleHullMesh v (((n : ℝ)/(n+1))*D)) := by …Mentions: OAI.Kaplansky.tupleSubdivisionMap, OAI.Kaplansky.simplexTupleCenter, OAI.Kaplansky.tupleGen, OAI.Kaplansky.tupleChainSpan, OAI.Kaplansky.tupleHullMesh
- def
OAI.Kaplansky.singularSimplexTopMapline 111Source documentation
The actual map represented by a singular simplex, with unlifted domain.
def singularSimplexTopMap {X : TopCat.{0}} {n : ℕ} (σ : (TopCat.toSSet.obj X) _⦋n⦌) : standardSimplexSpace n ⟶ X := …Mentions: OAI.Kaplansky.standardSimplexSpace
- theorem
OAI.Kaplansky.singularGen_mapline 116 - theorem
OAI.Kaplansky.singularGen_boundaryline 124 - theorem
OAI.Kaplansky.singularSimplexTopMap_faceline 131 - theorem
OAI.Kaplansky.singularSimplexTopMap_mapline 137 - theorem
OAI.Kaplansky.singularGen_identity_mapline 142 - def
OAI.Kaplansky.singularSubdivisionMapline 150Source documentation
Barycentric subdivision on the existing integral singular chains.
def singularSubdivisionMap (X : TopCat.{0}) (n : ℕ) : (integralSingularChains.obj X).X n ⟶ (integralSingularChains.obj X).X n := … - theorem
OAI.Kaplansky.singularGen_subdivisionline 156 - theorem
OAI.Kaplansky.singularSubdivisionMap_dline 163 - def
OAI.Kaplansky.singularSubdivisionline 176Source documentation
Constructed chain endomorphism, with no subdivision or excision hypothesis.
def singularSubdivision (X : TopCat.{0}) : integralSingularChains.obj X ⟶ integralSingularChains.obj X := … - theorem
OAI.Kaplansky.singularSubdivision_naturalityline 181 - def
OAI.Kaplansky.singularSubdivisionPrismline 194Source documentation
The universal prism transported along each actual singular simplex.
def singularSubdivisionPrism (X : TopCat.{0}) (n : ℕ) : (integralSingularChains.obj X).X n ⟶ (integralSingularChains.obj X).X (n+1) := … - theorem
OAI.Kaplansky.singularGen_prismline 200 - theorem
OAI.Kaplansky.singularSubdivisionPrism_zeroline 207 - theorem
OAI.Kaplansky.singularSubdivisionMap_zeroline 214 - theorem
OAI.Kaplansky.singularSubdivisionPrism_equationline 221Source documentation
The chain homotopy equation on actual singular chains in all positive degrees.
theorem singularSubdivisionPrism_equation (X : TopCat.{0}) (n : ℕ) : singularSubdivisionPrism X (n+1) ≫ (integralSingularChains.obj X).d (n+2) (n+1) = 𝟙 _ - singularSubdivisionMap X (n+1) - (integralSingularChains.obj X).d (n+1) n ≫ singularSubdivisionPrism X n := by …Mentions: OAI.Kaplansky.singularSubdivisionPrism, OAI.Kaplansky.singularSubdivisionMap
- def
OAI.Kaplansky.singularSubdivisionHomotopyline 238Source documentation
An explicit homotopy between the identity and barycentric subdivision.
def singularSubdivisionHomotopy (X : TopCat.{0}) : Homotopy (𝟙 (integralSingularChains.obj X)) (singularSubdivision X) := …Mentions: OAI.Kaplansky.singularSubdivision
- theorem
OAI.Kaplansky.singularSubdivisionPrism_naturalityline 247 - theorem
OAI.Kaplansky.singularSubdivision_homologyMapline 256Source documentation
Subdivision acts as the identity on actual integral singular homology.
theorem singularSubdivision_homologyMap (X : TopCat.{0}) (n : ℕ) : HomologicalComplex.homologyMap (singularSubdivision X) n = 𝟙 _ := by …Mentions: OAI.Kaplansky.singularSubdivision
- theorem
OAI.Kaplansky.smallSimplex_carrierline 264Source documentation
Every singular simplex inside the image of a small simplex remains small. The statement uses the entire simplex image, so it also controls the prism.
theorem smallSimplex_carrier {n : ℕ} (σ : (smallSingularSet U V) _⦋n⦌) : SSet.Subcomplex.range (TopCat.toSSet.map (singularSimplexTopMap σ.val)) ≤ singularSubset U ⊔ singularSubset V := by …Mentions: OAI.Kaplansky.smallSingularSet, OAI.Kaplansky.singularSimplexTopMap, OAI.Kaplansky.singularSubset
- def
OAI.Kaplansky.smallSimplexCarrierline 279 - def
OAI.Kaplansky.smallSimplexChainsline 284 - theorem
OAI.Kaplansky.smallSimplexChains_inclusionline 289 - abbrev
OAI.Kaplansky.smallSingularGenline 295 - theorem
OAI.Kaplansky.smallSingularChains_hom_extline 300Source documentation
Maps from small chains are determined by their values on small singular simplices.
theorem smallSingularChains_hom_ext {n : ℕ} {T : ModuleCat.{0} ℤ} {f g : (smallSingularChains U V).X n ⟶ T} (h : ∀ σ : (smallSingularSet U V) _⦋n⦌, smallSingularGen U V σ ≫ f = smallSingularGen U V σ ≫ g) : f = g := …Mentions: OAI.Kaplansky.smallSingularChains, OAI.Kaplansky.smallSingularSet, OAI.Kaplansky.smallSingularGen
- theorem
OAI.Kaplansky.smallSingularGen_inclusionline 307 - def
OAI.Kaplansky.smallSubdivisionMapline 313Source documentation
Subdivision restricted to the actual small chain groups.
def smallSubdivisionMap (n : ℕ) : (smallSingularChains U V).X n ⟶ (smallSingularChains U V).X n := …
Mentions: OAI.Kaplansky.smallSingularChains
- def
OAI.Kaplansky.smallSubdivisionPrismline 317Source documentation
The prism restricted to the same small chain groups.
def smallSubdivisionPrism (n : ℕ) : (smallSingularChains U V).X n ⟶ (smallSingularChains U V).X (n+1) := …Mentions: OAI.Kaplansky.smallSingularChains
- theorem
OAI.Kaplansky.smallGen_subdivisionline 322 - theorem
OAI.Kaplansky.smallGen_prismline 328 - theorem
OAI.Kaplansky.smallSubdivisionMap_inclusionline 334 - theorem
OAI.Kaplansky.smallSubdivisionPrism_inclusionline 345 - theorem
OAI.Kaplansky.smallSubdivisionMap_dline 356Source documentation
The restriction remains a chain map, proved by injectivity of inclusion.
theorem smallSubdivisionMap_d (n : ℕ) : smallSubdivisionMap U V (n+1) ≫ (smallSingularChains U V).d (n+1) n = (smallSingularChains U V).d (n+1) n ≫ smallSubdivisionMap U V n := by …Mentions: OAI.Kaplansky.smallSubdivisionMap, OAI.Kaplansky.smallSingularChains
- def
OAI.Kaplansky.smallSubdivisionline 364 - theorem
OAI.Kaplansky.simplexCombination_assocline 372Source documentation
Composition of affine interpolations is affine interpolation of the images.
theorem simplexCombination_assoc {ι κ μ : Type} [Fintype ι] [Fintype κ] [Fintype μ] (w : κ → StdSimplex ℝ μ) (v : ι → StdSimplex ℝ κ) (t : StdSimplex ℝ ι) : simplexCombination w (simplexCombination v t) = simplexCombination (simplexCombination w ∘ v) t := by …Mentions: OAI.Kaplansky.simplexCombination
- theorem
OAI.Kaplansky.simplexTupleCenter_combinationline 379 - theorem
OAI.Kaplansky.simplexAffineChains_combinationline 386Source documentation
Naturality of interpolation for all affine simplex maps, not only cofaces.
theorem simplexAffineChains_combination {k l : ℕ} (v : Fin (k+1) → StdSimplex ℝ (Fin (l+1))) : tupleChainMap (simplexCombination v) ≫ simplexAffineChains l = simplexAffineChains k ≫ integralSingularChains.map (TopCat.ofHom (simplexCombinationMap v)) := by …Mentions: OAI.Kaplansky.tupleChainMap, OAI.Kaplansky.simplexCombination, OAI.Kaplansky.simplexAffineChains, OAI.Kaplansky.simplexCombinationMap
- theorem
OAI.Kaplansky.simplexAffineChains_subdivisionline 407Source documentation
Interpolation intertwines tuple subdivision with singular subdivision. This is needed for iterating the geometric mesh estimate.
theorem simplexAffineChains_subdivision (k : ℕ) : simplexAffineChains k ≫ singularSubdivision (standardSimplexSpace k) = tupleSubdivision simplexTupleCenter ≫ simplexAffineChains k := by …Mentions: OAI.Kaplansky.simplexAffineChains, OAI.Kaplansky.singularSubdivision, OAI.Kaplansky.standardSimplexSpace, OAI.Kaplansky.tupleSubdivision, OAI.Kaplansky.simplexTupleCenter
- theorem
OAI.Kaplansky.smallSubdivisionMap_zeroline 436 - theorem
OAI.Kaplansky.smallSubdivisionPrism_zeroline 442 - theorem
OAI.Kaplansky.smallSubdivisionPrism_equationline 448Source documentation
The homotopy equation also holds before inclusion into full chains.
theorem smallSubdivisionPrism_equation (n : ℕ) : smallSubdivisionPrism U V (n+1) ≫ (smallSingularChains U V).d (n+2) (n+1) = 𝟙 _ - smallSubdivisionMap U V (n+1) - (smallSingularChains U V).d (n+1) n ≫ smallSubdivisionPrism U V n := by …Mentions: OAI.Kaplansky.smallSubdivisionPrism, OAI.Kaplansky.smallSingularChains, OAI.Kaplansky.smallSubdivisionMap
- def
OAI.Kaplansky.smallSubdivisionHomotopyline 460 - theorem
OAI.Kaplansky.smallSubdivision_homologyMapline 469Source documentation
Small-chain subdivision induces the identity on homology, without any cover hypothesis. Comparison to full homology still needs eventual smallness.
theorem smallSubdivision_homologyMap (n : ℕ) : HomologicalComplex.homologyMap (smallSubdivision U V) n = 𝟙 _ := by …Mentions: OAI.Kaplansky.smallSubdivision
- theorem
OAI.Kaplansky.smallSubdivision_inclusionline 474 - def
OAI.Kaplansky.tupleMeshSpanline 485 - theorem
OAI.Kaplansky.tupleSubdivision_mem_meshline 490Source documentation
Subdivision contracts the mesh of an arbitrary supported affine chain.
theorem tupleSubdivision_mem_mesh {n : ℕ} (D : ℝ) (hD : 0 ≤ D) {c : (tupleChains (StdSimplex ℝ κ)).X n} (hc : c ∈ tupleMeshSpan n D) : tupleSubdivisionMap simplexTupleCenter n c ∈ tupleMeshSpan n (((n : ℝ)/(n+1))*D) := by …Mentions: OAI.Kaplansky.tupleChains, OAI.Kaplansky.tupleMeshSpan, OAI.Kaplansky.tupleSubdivisionMap, OAI.Kaplansky.simplexTupleCenter
- theorem
OAI.Kaplansky.tupleSubdivision_iterate_meshline 498Source documentation
Actual geometric decay for every iterated barycentric subdivision, including repeated or degenerate vertices and the degree-zero case.
theorem tupleSubdivision_iterate_mesh {n : ℕ} (D : ℝ) (hD : 0 ≤ D) {c : (tupleChains (StdSimplex ℝ κ)).X n} (hc : c ∈ tupleMeshSpan n D) (k : ℕ) : (tupleSubdivisionMap simplexTupleCenter n)^[k] c ∈ tupleMeshSpan n (D * ((n : ℝ)/(n+1))^k) := by …Mentions: OAI.Kaplansky.tupleChains, OAI.Kaplansky.tupleMeshSpan, OAI.Kaplansky.tupleSubdivisionMap, OAI.Kaplansky.simplexTupleCenter
- theorem
OAI.Kaplansky.simplexVertices_mem_meshline 512Source documentation
The universal vertex tuple starts with mesh at most one in the actual sup metric of the library's standard simplex.
theorem simplexVertices_mem_mesh (n : ℕ) : tupleGen (StdSimplex.single (R := ℝ) (X := Fin (n+1))) (1 : ℤ) ∈ …Mentions: OAI.Kaplansky.tupleGen
- theorem
OAI.Kaplansky.universalTupleSubdivision_meshline 525Source documentation
Geometric mesh estimate for the universal subdivided simplex.
theorem universalTupleSubdivision_mesh (n k : ℕ) : (tupleSubdivisionMap simplexTupleCenter n)^[k] (tupleGen (StdSimplex.single (R := ℝ) (X := Fin (n+1))) (1 : ℤ)) ∈ …Mentions: OAI.Kaplansky.tupleSubdivisionMap, OAI.Kaplansky.simplexTupleCenter, OAI.Kaplansky.tupleGen
- theorem
OAI.Kaplansky.simplexMeshFactor_lt_oneline 532Source documentation
The mesh factor is strictly less than one in every fixed degree.
theorem simplexMeshFactor_lt_one (n : ℕ) : (n : ℝ)/(n+1) < 1 := by …
- theorem
OAI.Kaplansky.singularSubdivision_iterate_genline 543Source documentation
Iteration on an actual singular simplex agrees with the constructed iterated affine subdivision inside its domain.
theorem singularSubdivision_iterate_gen {X : TopCat.{0}} {n : ℕ} (σ : (TopCat.toSSet.obj X) _⦋n⦌) (k : ℕ) : (singularSubdivisionMap X n)^[k] (singularGen σ (1 : ℤ)) = (integralSingularChains.map (singularSimplexTopMap σ)).f n ((simplexAffineChains n).f n ((tupleSubdivisionMap simplexTupleCenter n)^[k] (tupleGen (StdSimplex.single (R := ℝ) (X := Fin (n+1))) (1 : ℤ)))) := by …Mentions: OAI.Kaplansky.singularSubdivisionMap, OAI.Kaplansky.singularGen, OAI.Kaplansky.singularSimplexTopMap, OAI.Kaplansky.simplexAffineChains, OAI.Kaplansky.tupleSubdivisionMap, OAI.Kaplansky.simplexTupleCenter, OAI.Kaplansky.tupleGen
- theorem
OAI.Kaplansky.small_singularGen_mem_rangeline 572Source documentation
A singular generator that is small belongs to the actual image of the small-chain inclusion.
theorem small_singularGen_mem_range {X : Type} [TopologicalSpace X] (U V : Set X) {n : ℕ} (σ : (TopCat.toSSet.obj (TopCat.of X)) _⦋n⦌) (hσ : σ ∈ (singularSubset U ⊔ singularSubset V).obj (Opposite.op ⦋n⦌)) : singularGen σ (1 : ℤ) ∈ LinearMap.range ((smallSingularChainInclusion U V).f n).hom := by …Mentions: OAI.Kaplansky.singularSubset, OAI.Kaplansky.singularGen, OAI.Kaplansky.smallSingularChainInclusion