OAI/AlgebraicTopology/Cubical/PathChains.lean
133 declarations, 0 contain sorry, 0 declared as axioms
- structure
OAI.EilenbergGanea.PathTransport.Localline 16 - def
OAI.EilenbergGanea.PathTransport.Local.foldline 26 - def
OAI.EilenbergGanea.PathTransport.Local.Good₁line 30 - def
OAI.EilenbergGanea.PathTransport.Local.Good₂line 32 - theorem
OAI.EilenbergGanea.PathTransport.Local.small_compline 36 - theorem
OAI.EilenbergGanea.PathTransport.Local.good₁_zeroline 45 - theorem
OAI.EilenbergGanea.PathTransport.Local.good₂_zeroline 49 - theorem
OAI.EilenbergGanea.PathTransport.Local.good₁_cutline 54 - theorem
OAI.EilenbergGanea.PathTransport.Local.good₂_cutline 68 - theorem
OAI.EilenbergGanea.PathTransport.Local.fold_smallline 80 - theorem
OAI.EilenbergGanea.PathTransport.Local.fold_stableline 88 - theorem
OAI.EilenbergGanea.PathTransport.Local.good₁_eventuallyline 102 - theorem
OAI.EilenbergGanea.PathTransport.Local.good₂_eventuallyline 107 - def
OAI.EilenbergGanea.PathTransport.Local.depthline 113 - theorem
OAI.EilenbergGanea.PathTransport.Local.depth_goodline 115 - def
OAI.EilenbergGanea.PathTransport.Local.transportline 118 - theorem
OAI.EilenbergGanea.PathTransport.Local.transport_eq_foldline 120 - theorem
OAI.EilenbergGanea.PathTransport.Local.transport_smallline 126 - theorem
OAI.EilenbergGanea.PathTransport.Local.transport_constline 129 - theorem
OAI.EilenbergGanea.PathTransport.Local.four_squaresline 138 - theorem
OAI.EilenbergGanea.PathTransport.Local.fold_squareline 152 - theorem
OAI.EilenbergGanea.PathTransport.Local.transport_squareline 165 - theorem
OAI.EilenbergGanea.PathTransport.Local.good₁_monoline 188 - theorem
OAI.EilenbergGanea.PathTransport.Local.transport_splitline 197 - theorem
OAI.EilenbergGanea.PathTransport.Local.cut_trans_leftline 207 - theorem
OAI.EilenbergGanea.PathTransport.Local.cut_trans_rightline 219 - theorem
OAI.EilenbergGanea.PathTransport.Local.transport_transline 230 - theorem
OAI.EilenbergGanea.PathTransport.Local.transport_homotopyline 235 - def
OAI.EilenbergGanea.PathTransport.Local.quotientTransportline 245 - theorem
OAI.EilenbergGanea.PathTransport.Local.quotientTransport_mkline 249 - theorem
OAI.EilenbergGanea.PathTransport.Local.quotientTransport_reflline 253 - theorem
OAI.EilenbergGanea.PathTransport.Local.quotientTransport_transline 256 - def
OAI.EilenbergGanea.PathTransport.Local.fundamentalHomline 266Source documentation
Traversal-order labels are a homomorphism to the opposite, because Mathlib's fundamental group multiplication is categorical (right path first).
def fundamentalHom (x : X) : FundamentalGroup X x →* Gᵐᵒᵖ where …
- theorem
OAI.EilenbergGanea.PathTransport.Local.transport_uniqueline 274Source documentation
Any multiplicative global path label is completely determined on a sufficiently small open-cover mesh. This is the uniqueness half of low-dimensional descent.
theorem transport_unique (v : Cube₁ X → G) (hsplit : ∀ γ, v γ = v (cut₁ γ false) * v (cut₁ γ true)) (hsmall : ∀ γ ∈ CubicalMesh.small U, v γ = l.value γ) (γ : Cube₁ X) : v γ = l.transport hU hcover γ := by …Mentions: OAI.EilenbergGanea.CubicalMesh.small
- abbrev
OAI.EilenbergGanea.PathTransport.PQline 295 - def
OAI.EilenbergGanea.PathTransport.cubePathline 297 - abbrev
OAI.EilenbergGanea.PathTransport.asClassline 298 - def
OAI.EilenbergGanea.PathTransport.basedline 300 - theorem
OAI.EilenbergGanea.PathTransport.based_transline 303 - theorem
OAI.EilenbergGanea.PathTransport.based_reflline 313 - def
OAI.EilenbergGanea.PathTransport.basedPathline 320 - theorem
OAI.EilenbergGanea.PathTransport.basedPath_congrline 323 - theorem
OAI.EilenbergGanea.PathTransport.basedPath_homotopicline 331 - theorem
OAI.EilenbergGanea.PathTransport.basedPath_transline 335 - theorem
OAI.EilenbergGanea.PathTransport.basedPath_reflline 338 - def
OAI.EilenbergGanea.PathTransport.holonomyline 340 - theorem
OAI.EilenbergGanea.PathTransport.holonomy_pathline 343 - theorem
OAI.EilenbergGanea.PathTransport.holonomy_constline 345 - def
OAI.EilenbergGanea.PathTransport.halfPath₀line 348 - def
OAI.EilenbergGanea.PathTransport.halfPath₁line 349 - theorem
OAI.EilenbergGanea.PathTransport.holonomy_splitline 351 - def
OAI.EilenbergGanea.PathTransport.bottomline 363 - def
OAI.EilenbergGanea.PathTransport.rightSideline 364 - def
OAI.EilenbergGanea.PathTransport.leftSideline 365 - def
OAI.EilenbergGanea.PathTransport.topSideline 366 - theorem
OAI.EilenbergGanea.PathTransport.square_pathsline 368 - theorem
OAI.EilenbergGanea.PathTransport.holonomy_squareline 374 - def
OAI.EilenbergGanea.PathTransport.holonomyLocalline 387Source documentation
Actual based-loop holonomy is flat; this is derived from square homotopy in I², rather than supplied as a geometric assumption.
def holonomyLocal {r : X} (q : ∀ x, Path r x) (U : Set (Set X)) : Local (G:=(FundamentalGroup X r)ᵐᵒᵖ) U where …Mentions: OAI.EilenbergGanea.PathTransport.Local
- theorem
OAI.EilenbergGanea.CubicalSingular.mayerVietoris_injectiveline 400Source documentation
Low-dimensional Mayer–Vietoris injectivity, derived by subdivision.
theorem mayerVietoris_injective [ContractibleSpace X] (U V : Set X) (hU : IsOpen U) (hV : IsOpen V) (hUV : U ∪ V = univ) {z : N₁ X} (hz : z ∈ L₁ (U ∩ V)) {a b : N₂ X} (ha : a ∈ L₂ U) (hb : b ∈ L₂ V) (hda : d₂ a = z) (hdb : d₂ b = z) : ∃ c ∈ L₂ (U ∩ V), d₂ c = z := by …Mentions: OAI.EilenbergGanea.CubicalSingular.N₁, OAI.EilenbergGanea.CubicalSingular.L₁, OAI.EilenbergGanea.CubicalSingular.N₂, OAI.EilenbergGanea.CubicalSingular.L₂, OAI.EilenbergGanea.CubicalSingular.d₂
- theorem
OAI.EilenbergGanea.CubicalSingular.mayerVietoris_surjectiveline 432Source documentation
The other half of the same exact sequence, with literal supported chains.
theorem mayerVietoris_surjective [ContractibleSpace X] (U V : Set X) (hU : IsOpen U) (hV : IsOpen V) (hUV : U ∪ V = univ) {z : N₁ X} (hzU : z ∈ L₁ U) (hz : d₁ z = 0) : ∃ t ∈ L₁ (U ∩ V), d₁ t = 0 ∧ (∃ b ∈ L₂ U, d₂ b = t-z) ∧ (∃ b ∈ L₂ V, d₂ b = t) := by …Mentions: OAI.EilenbergGanea.CubicalSingular.N₁, OAI.EilenbergGanea.CubicalSingular.L₁, OAI.EilenbergGanea.CubicalSingular.d₁, OAI.EilenbergGanea.CubicalSingular.L₂, OAI.EilenbergGanea.CubicalSingular.d₂
- def
OAI.EilenbergGanea.CubicalSingular.cyclesOnline 454Source documentation
Cycles and boundaries are actual submodules of normalized singular chains.
def cyclesOn (U : Set X) : Submodule ℤ (N₁ X) := L₁ U ⊓ LinearMap.ker d₁
Mentions: OAI.EilenbergGanea.CubicalSingular.N₁, OAI.EilenbergGanea.CubicalSingular.L₁, OAI.EilenbergGanea.CubicalSingular.d₁
- def
OAI.EilenbergGanea.CubicalSingular.boundsOnline 455 - theorem
OAI.EilenbergGanea.CubicalSingular.boundsOn_le_cyclesOnline 457 - def
OAI.EilenbergGanea.CubicalSingular.boundariesline 461 - abbrev
OAI.EilenbergGanea.CubicalSingular.Homology₁line 462 - def
OAI.EilenbergGanea.CubicalSingular.cycleInclusionline 464 - theorem
OAI.EilenbergGanea.CubicalSingular.cycleInclusion_boundsline 467 - def
OAI.EilenbergGanea.CubicalSingular.homologyInclusionline 472 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyInclusion_injectiveline 475 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyInclusion_surjectiveline 491 - def
OAI.EilenbergGanea.CubicalSingular.mayerVietoris_equivline 505Source documentation
No cellular theorem is assumed: this is the comparison for actual open sets in an actually contractible space, proved by finite singular subdivision.
def mayerVietoris_equiv [ContractibleSpace X] (U V : Set X) (hU : IsOpen U) (hV : IsOpen V) (hUV : U ∪ V = univ) (hVex : ∀ z : N₁ X, z ∈ L₁ V → d₁ z = 0 → ∃ b ∈ L₂ V, d₂ b = z) : Homology₁ (U ∩ V) ≃ₗ[ℤ] Homology₁ U := …Mentions: OAI.EilenbergGanea.CubicalSingular.N₁, OAI.EilenbergGanea.CubicalSingular.L₁, OAI.EilenbergGanea.CubicalSingular.d₁, OAI.EilenbergGanea.CubicalSingular.L₂, OAI.EilenbergGanea.CubicalSingular.d₂, OAI.EilenbergGanea.CubicalSingular.Homology₁
- theorem
OAI.EilenbergGanea.CubicalSingular.pushN₁_mapsToline 518 - theorem
OAI.EilenbergGanea.CubicalSingular.pushN₂_mapsToline 528 - theorem
OAI.EilenbergGanea.CubicalSingular.L₁_univline 538 - theorem
OAI.EilenbergGanea.CubicalSingular.L₂_univline 541 - def
OAI.EilenbergGanea.CubicalSingular.cycleMapline 545 - theorem
OAI.EilenbergGanea.CubicalSingular.cycleMap_boundsline 551 - def
OAI.EilenbergGanea.CubicalSingular.homologyMapline 557 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyMap_mkline 561 - def
OAI.EilenbergGanea.CubicalSingular.normalizedPrismline 565 - theorem
OAI.EilenbergGanea.CubicalSingular.normalizedPrism_mkline 570 - theorem
OAI.EilenbergGanea.CubicalSingular.normalizedPrism_boundaryline 573 - theorem
OAI.EilenbergGanea.CubicalSingular.normalizedPrism_supportline 584 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyMap_homotopicline 594 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyMap_idline 609 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyMap_compline 618 - abbrev
OAI.EilenbergGanea.CubicalSingular.HomologyOneline 629 - def
OAI.EilenbergGanea.CubicalSingular.homologyOneMapline 630 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyOneMap_idline 631 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyOneMap_compline 632 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyOneMap_homotopicline 635 - def
OAI.EilenbergGanea.CubicalSingular.homologyOneEquivline 639Source documentation
Actual homotopy equivalences induce integral cubical H1 isomorphisms.
def homologyOneEquiv (f : C(X,Y)) (g : C(Y,X)) (Hgf : (g.comp f).Homotopy (ContinuousMap.id X)) (Hfg : (f.comp g).Homotopy (ContinuousMap.id Y)) : HomologyOne X ≃ₗ[ℤ] HomologyOne Y := … - abbrev
OAI.EilenbergGanea.CubicalSingular.PathChainsline 652 - def
OAI.EilenbergGanea.CubicalSingular.chainClassline 653 - def
OAI.EilenbergGanea.CubicalSingular.pathClassline 654 - theorem
OAI.EilenbergGanea.CubicalSingular.chainClass_boundaryline 656 - theorem
OAI.EilenbergGanea.CubicalSingular.gen₁_constline 658 - theorem
OAI.EilenbergGanea.CubicalSingular.pathClass_reflline 660 - theorem
OAI.EilenbergGanea.CubicalSingular.chainClass_subdivisionline 664 - theorem
OAI.EilenbergGanea.CubicalSingular.pathClass_transline 669 - theorem
OAI.EilenbergGanea.CubicalSingular.pathClass_homotopyline 677 - def
OAI.EilenbergGanea.CubicalSingular.quotientPathClassline 691 - theorem
OAI.EilenbergGanea.CubicalSingular.quotientPathClass_mkline 693 - theorem
OAI.EilenbergGanea.CubicalSingular.quotientPathClass_transline 695 - theorem
OAI.EilenbergGanea.CubicalSingular.quotientPathClass_reflline 700 - theorem
OAI.EilenbergGanea.CubicalSingular.quotientPathClass_symmline 702 - def
OAI.EilenbergGanea.CubicalSingular.loopChainHomline 708 - abbrev
OAI.EilenbergGanea.CubicalSingular.AbLoopsline 713 - def
OAI.EilenbergGanea.CubicalSingular.loopToChainsline 715 - theorem
OAI.EilenbergGanea.CubicalSingular.loopToChains_ofline 718 - def
OAI.EilenbergGanea.CubicalSingular.abHolonomyline 721 - theorem
OAI.EilenbergGanea.CubicalSingular.abHolonomy_constline 723 - def
OAI.EilenbergGanea.CubicalSingular.abHolonomyRawline 727 - def
OAI.EilenbergGanea.CubicalSingular.abHolonomyMapline 730 - theorem
OAI.EilenbergGanea.CubicalSingular.abHolonomyMap_genline 736 - theorem
OAI.EilenbergGanea.CubicalSingular.abHolonomy_squareline 739 - theorem
OAI.EilenbergGanea.CubicalSingular.abHolonomyMap_boundaryline 746 - def
OAI.EilenbergGanea.CubicalSingular.chainsToLoopsline 766 - theorem
OAI.EilenbergGanea.CubicalSingular.chainsToLoops_classline 770 - theorem
OAI.EilenbergGanea.CubicalSingular.chainsToLoops_pathline 772 - theorem
OAI.EilenbergGanea.CubicalSingular.quotientPathClass_basedline 781 - def
OAI.EilenbergGanea.CubicalSingular.anchorChainsline 785 - theorem
OAI.EilenbergGanea.CubicalSingular.loopToChains_abHolonomyline 788 - theorem
OAI.EilenbergGanea.CubicalSingular.loops_chains_identityline 797 - theorem
OAI.EilenbergGanea.CubicalSingular.ab_based_loopline 812 - theorem
OAI.EilenbergGanea.CubicalSingular.chains_loops_identityline 820 - def
OAI.EilenbergGanea.CubicalSingular.homologyChainsMapline 840 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyChainsMap_mkline 846 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyChainsMap_injectiveline 849 - def
OAI.EilenbergGanea.CubicalSingular.homologyToLoopsline 860 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyToLoops_injectiveline 863 - theorem
OAI.EilenbergGanea.CubicalSingular.homologyToLoops_surjectiveline 874 - def
OAI.EilenbergGanea.CubicalSingular.hurewiczOneline 895Source documentation
Integral degree-one Hurewicz for actual paths, with no cellular hypothesis: finite singular 1-cycles equal the abelianized topological fundamental group.
def hurewiczOne {r : X} (q : ∀ x, Path r x) : HomologyOne X ≃ₗ[ℤ] AbLoops X r := …Mentions: OAI.EilenbergGanea.CubicalSingular.HomologyOne, OAI.EilenbergGanea.CubicalSingular.AbLoops