Documentation

Mathlib.AlgebraicTopology.SimplicialSet.Path

Paths in simplicial sets #

A path in a simplicial set X of length n is a directed path comprised of n + 1 0-simplices and n 1-simplices, together with identifications between 0-simplices and the sources and targets of the 1-simplices.

An n-simplex has a maximal path, the spine of the simplex, which is a path of length n.

structure SSet.Path (X : SSet) (n : ) :

A path in a simplicial set X of length n is a directed path of n edges.

Instances For
    theorem SSet.Path.ext {X : SSet} {n : } {x y : X.Path n} (vertex : x.vertex = y.vertex) (arrow : x.arrow = y.arrow) :
    x = y
    def SSet.Path.interval {X : SSet} {n : } (f : X.Path n) (j l : ) (hjl : j + l n) :
    X.Path l

    For j + l ≤ n, a path of length n restricts to a path of length l, namely the subpath spanned by the vertices j ≤ i ≤ j + l and edges j ≤ i < j + l.

    Equations
    • f.interval j l hjl = { vertex := fun (i : Fin (l + 1)) => f.vertex j + i, , arrow := fun (i : Fin l) => f.arrow j + i, , arrow_src := , arrow_tgt := }
    Instances For
      def SSet.spine (X : SSet) (n : ) (Δ : X.obj (Opposite.op (SimplexCategory.mk n))) :
      X.Path n

      The spine of an n-simplex in X is the path of edges of length n formed by traversing through its vertices in order.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem SSet.spine_arrow (X : SSet) (n : ) (Δ : X.obj (Opposite.op (SimplexCategory.mk n))) (i : Fin n) :
        (X.spine n Δ).arrow i = X.map (SimplexCategory.mkOfSucc i).op Δ
        @[simp]
        theorem SSet.spine_vertex (X : SSet) (n : ) (Δ : X.obj (Opposite.op (SimplexCategory.mk n))) (i : Fin (n + 1)) :
        (X.spine n Δ).vertex i = X.map ((SimplexCategory.mk 0).const (SimplexCategory.mk n) i).op Δ
        theorem SSet.spine_map_vertex (X : SSet) {n : } (x : X.obj (Opposite.op (SimplexCategory.mk n))) {m : } (φ : SimplexCategory.mk m SimplexCategory.mk n) (i : Fin (m + 1)) :
        (X.spine m (X.map φ.op x)).vertex i = (X.spine n x).vertex ((SimplexCategory.Hom.toOrderHom φ) i)
        theorem SSet.spine_map_subinterval (X : SSet) {n : } (j l : ) (hjl : j + l n) (Δ : X.obj (Opposite.op (SimplexCategory.mk n))) :
        X.spine l (X.map (SimplexCategory.subinterval j l ).op Δ) = (X.spine n Δ).interval j l
        theorem SSet.Path.ext' (X : SSet) {n : } {f g : X.Path (n + 1)} (h : ∀ (i : Fin (n + 1)), f.arrow i = g.arrow i) :
        f = g

        Two paths of the same nonzero length are equal if all of their arrows are equal.

        def SSet.Path.map {X Y : SSet} {n : } (f : X.Path n) (σ : X Y) :
        Y.Path n

        Maps of simplicial sets induce maps of paths in a simplicial set.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem SSet.Path.map_arrow {X Y : SSet} {n : } (f : X.Path n) (σ : X Y) (i : Fin n) :
          (f.map σ).arrow i = σ.app (Opposite.op (SimplexCategory.mk 1)) (f.arrow i)
          @[simp]
          theorem SSet.Path.map_vertex {X Y : SSet} {n : } (f : X.Path n) (σ : X Y) (i : Fin (n + 1)) :
          (f.map σ).vertex i = σ.app (Opposite.op (SimplexCategory.mk 0)) (f.vertex i)
          theorem SSet.map_interval {X Y : SSet} {n : } (f : X.Path n) (σ : X Y) (j l : ) (hjl : j + l n) :
          (f.map σ).interval j l hjl = (f.interval j l hjl).map σ

          Path.map respects subintervals of paths.

          The spine of the unique non-degenerate n-simplex in Δ[n].

          Equations
          Instances For
            def SSet.horn.spineId {n : } (i : Fin (n + 3)) (h₀ : 0 < i) (hₙ : i < Fin.last (n + 2)) :
            (SSet.horn (n + 2) i).Path (n + 2)

            Any inner horn contains the spine of the unique non-degenerate n-simplex in Δ[n].

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem SSet.horn.spineId_vertex_coe {n : } (i : Fin (n + 3)) (h₀ : 0 < i) (hₙ : i < Fin.last (n + 2)) (j : Fin (n + 2 + 1)) :
              ((SSet.horn.spineId i h₀ hₙ).vertex j) = (SSet.standardSimplex.spineId (n + 2)).vertex j
              @[simp]
              theorem SSet.horn.spineId_arrow_coe {n : } (i : Fin (n + 3)) (h₀ : 0 < i) (hₙ : i < Fin.last (n + 2)) (j : Fin (n + 2)) :
              ((SSet.horn.spineId i h₀ hₙ).arrow j) = (SSet.standardSimplex.spineId (n + 2)).arrow j
              @[simp]
              theorem SSet.horn.spineId_map_hornInclusion {n : } (i : Fin (n + 3)) (h₀ : 0 < i) (hₙ : i < Fin.last (n + 2)) :