Documentation

InfinityCosmos.ForMathlib.AlgebraicTopology.Quasicategory.TwoTruncated

@[reducible, inline]
abbrev SSet.Truncated.Edge.edgeMap {S : SSet} {y₀ y₁ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (e : Edge y₀ y₁) :
Equations
Instances For

    A 2-truncated quasicategory is a 2-truncated simplicial set with 3 properties: (2, 1)-filling: any path of length 2 in may be filled to a 2-simplex whose spine equals the given path. (3, 1)-filling: given any path f of length 3, 2-simplices σ₃ and σ₀ filling the restricted paths f₀₁₂ and f₁₂₃ respectively, and a 2-simplex σ₂ filling the path formed by f₀₁ and the diagonal of σ₀, there is a 2-simplex σ₁ filling the path formed by the diagonal of σ₃ and f₂₃ and whose diagonal is the diagonal of σ₂. (3, 2)-filling: given any path f of length 3, 2-simplices σ₃ and σ₀ filling the restricted paths f₀₁₂ and f₁₂₃ respectively, and a 2-simplex σ₁ filling the path formed by f₂₃ and the diagonal of σ₃, there is a 2-simplex σ₂ filling the path formed by f₀₁ and the diagonal of σ₀ and whose diagonal is the diagonal of σ₁.

    Instances
      theorem SSet.horn₂₁.path_edges_comm {S : SSet} {x₀ x₁ x₂ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (e₀₁ : Truncated.Edge x₀ x₁) (e₁₂ : Truncated.Edge x₁ x₂) :
      def SSet.horn₂₁.fromEdges {S : SSet} {x₀ x₁ x₂ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (e₀₁ : Truncated.Edge x₀ x₁) (e₁₂ : Truncated.Edge x₁ x₂) :
      (horn 2 1).toSSet S

      Given the data of two consecutive edges e₀₁ and e₁₂, construct a map Λ[2, 1].toSSet ⟶ S which restricts to maps Δ[1] ⟶ S corresponding to the two edges (this is made precise in the lemmas horn_from_edges_restr₀ and horn_from_edges_restr₁).

      Equations
      Instances For
        theorem SSet.horn₂₁.horn_from_edges_restr₀ {S : SSet} {x₀ x₁ x₂ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (e₀₁ : Truncated.Edge x₀ x₁) (e₁₂ : Truncated.Edge x₁ x₂) :

        See horn_from_edges for details.

        theorem SSet.horn₂₁.horn_from_edges_restr₁ {S : SSet} {x₀ x₁ x₂ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (e₀₁ : Truncated.Edge x₀ x₁) (e₁₂ : Truncated.Edge x₁ x₂) :

        See horn_from_edges for details.

        def SSet.horn₂₁.fromHornExtension {S : SSet} {x₀ x₁ x₂ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (e₀₁ : Truncated.Edge x₀ x₁) (e₁₂ : Truncated.Edge x₁ x₂) (g : stdSimplex.obj (SimplexCategory.mk 2) S) (comm : fromEdges e₀₁ e₁₂ = CategoryTheory.CategoryStruct.comp (horn 2 1).ι g) :
        (e₀₂ : Truncated.Edge x₀ x₂) × e₀₁.CompStruct e₁₂ e₀₂

        Given a map Δ[2] ⟶ S extending the horn given by horn_from_edges, construct and edge e₀₂ such that e₀₁, e₁₂, e₀₂ bound a 2-simplex of S (this is witnessed by CompStruct e₀₁ e₁₂ e₀₂).

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def SSet.horn₃₁.chooseFace {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₂ : e₀₁.CompStruct e₁₃ e₀₃) (a : R) :

          Choose the i-th face from the given faces, where i is represented by a : horn₃₁.R, i.e. a is 0, 2 or 3

          Equations
          Instances For
            def SSet.horn₃₁.chooseFace' {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₂ : e₀₁.CompStruct e₁₃ e₀₃) (a : R) :
            Equations
            Instances For
              def SSet.horn₃₁.multicoforkFromFaces {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₂ : e₀₁.CompStruct e₁₃ e₀₃) :
              Equations
              Instances For
                def SSet.horn₃₁.fromFaces {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₂ : e₀₁.CompStruct e₁₃ e₀₃) :
                (horn 3 1).toSSet S

                Use the fact that Λ[3, 1] is the coequalizer of multicoforkFromFaces allows the construction of a map Λ[3, 1].toSSet ⟶ S.

                Equations
                Instances For
                  theorem SSet.horn₃₁.horn_extension_face₀ {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₂ : e₀₁.CompStruct e₁₃ e₀₃) {g : stdSimplex.obj (SimplexCategory.mk 3) S} (comm : fromFaces f₃ f₀ f₂ = CategoryTheory.CategoryStruct.comp (horn 3 1).ι g) :
                  theorem SSet.horn₃₁.horn_extension_face₂ {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₂ : e₀₁.CompStruct e₁₃ e₀₃) {g : stdSimplex.obj (SimplexCategory.mk 3) S} (comm : fromFaces f₃ f₀ f₂ = CategoryTheory.CategoryStruct.comp (horn 3 1).ι g) :
                  theorem SSet.horn₃₁.horn_extension_face₃ {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₂ : e₀₁.CompStruct e₁₃ e₀₃) {g : stdSimplex.obj (SimplexCategory.mk 3) S} (comm : fromFaces f₃ f₀ f₂ = CategoryTheory.CategoryStruct.comp (horn 3 1).ι g) :
                  def SSet.horn₃₁.fromHornExtension {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₂ : e₀₁.CompStruct e₁₃ e₀₃) (g : stdSimplex.obj (SimplexCategory.mk 3) S) (comm : fromFaces f₃ f₀ f₂ = CategoryTheory.CategoryStruct.comp (horn 3 1).ι g) :
                  e₀₂.CompStruct e₂₃ e₀₃

                  Given a map Δ[3] ⟶ S extending the horn given by fromFaces, obtain a 2-simplex bounded by edges e₀₂, e₂₃ and e₀₃. See also Quasicategory₂.fill31.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def SSet.horn₃₂.chooseFace {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₁ : e₀₂.CompStruct e₂₃ e₀₃) (a : R) :

                    Choose the i-th face from the given faces, where i is represented by a : horn₃₂.R, i.e. a is 0, 1 or 3

                    Equations
                    Instances For
                      def SSet.horn₃₂.chooseFace' {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₁ : e₀₂.CompStruct e₂₃ e₀₃) (a : R) :
                      Equations
                      Instances For
                        def SSet.horn₃₂.multicoforkFromFaces {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₁ : e₀₂.CompStruct e₂₃ e₀₃) :
                        Equations
                        Instances For
                          def SSet.horn₃₂.fromFaces {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₁ : e₀₂.CompStruct e₂₃ e₀₃) :
                          (horn 3 2).toSSet S

                          Use the fact that Λ[3, 2] is the coequalizer of multicoforkFromFaces allows the construction of a map Λ[3, 2].toSSet ⟶ S.

                          Equations
                          Instances For
                            theorem SSet.horn₃₂.horn_extension_face₀ {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₁ : e₀₂.CompStruct e₂₃ e₀₃) {g : stdSimplex.obj (SimplexCategory.mk 3) S} (comm : fromFaces f₃ f₀ f₁ = CategoryTheory.CategoryStruct.comp (horn 3 2).ι g) :
                            theorem SSet.horn₃₂.horn_extension_face₁ {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₁ : e₀₂.CompStruct e₂₃ e₀₃) {g : stdSimplex.obj (SimplexCategory.mk 3) S} (comm : fromFaces f₃ f₀ f₁ = CategoryTheory.CategoryStruct.comp (horn 3 2).ι g) :
                            theorem SSet.horn₃₂.horn_extension_face₃ {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₁ : e₀₂.CompStruct e₂₃ e₀₃) {g : stdSimplex.obj (SimplexCategory.mk 3) S} (comm : fromFaces f₃ f₀ f₁ = CategoryTheory.CategoryStruct.comp (horn 3 2).ι g) :
                            def SSet.horn₃₂.fromHornExtension {S : SSet} {x₀ x₁ x₂ x₃ : ((truncation 2).obj S).obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {e₀₁ : Truncated.Edge x₀ x₁} {e₁₂ : Truncated.Edge x₁ x₂} {e₂₃ : Truncated.Edge x₂ x₃} {e₀₂ : Truncated.Edge x₀ x₂} {e₁₃ : Truncated.Edge x₁ x₃} {e₀₃ : Truncated.Edge x₀ x₃} (f₃ : e₀₁.CompStruct e₁₂ e₀₂) (f₀ : e₁₂.CompStruct e₂₃ e₁₃) (f₁ : e₀₂.CompStruct e₂₃ e₀₃) (g : stdSimplex.obj (SimplexCategory.mk 3) S) (comm : fromFaces f₃ f₀ f₁ = CategoryTheory.CategoryStruct.comp (horn 3 2).ι g) :
                            e₀₁.CompStruct e₁₃ e₀₃

                            Given a map Δ[3] ⟶ S extending the horn given by fromFaces, obtain a 2-simplex bounded by edges e₀₁, e₁₃ and e₀₃. See also Quasicategory₂.fill32.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              The 2-truncation of a quasi-category is a 2-truncated quasi-category.

                              @[reducible, inline]
                              abbrev SSet.Truncated.HomotopicL {A : Truncated 2} {x y : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (f g : Edge x y) :

                              Two edges f and g are left homotopic if there is a 2-simplex with (0, 1)-edge f, (0, 2)-edge g and (1, 2)-edge id. We use Nonempty to have a Prop valued HomotopicL.

                              Equations
                              Instances For
                                @[reducible, inline]
                                abbrev SSet.Truncated.HomotopicR {A : Truncated 2} {x y : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (f g : Edge x y) :

                                Two edges f and g are right homotopic if there is a 2-simplex with (0, 1)-edge id, (0, 2)-edge g and (1, 2)-edge f. We use Nonempty to have a Prop valued HomotopicL.

                                Equations
                                Instances For

                                  Left homotopy relation is reflexive

                                  Equations
                                  • =
                                  Instances For

                                    Left homotopy relation is symmetric

                                    Equations
                                    • =
                                    Instances For

                                      Left homotopy relation is transitive

                                      Equations
                                      • =
                                      Instances For

                                        Right homotopy relation is reflexive

                                        Equations
                                        • =
                                        Instances For

                                          Right homotopy relation is symmetric

                                          Equations
                                          • =
                                          Instances For

                                            Right homotopy relation is transitive

                                            Equations
                                            • =
                                            Instances For

                                              The right and left homotopy relations coincide

                                              theorem SSet.Quasicategory₂.comp_unique {A : Truncated 2} [A.Quasicategory₂] {x y z : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {f : Truncated.Edge x y} {g : Truncated.Edge y z} {h h' : Truncated.Edge x z} (s : f.CompStruct g h) (s' : f.CompStruct g h') :
                                              theorem SSet.Quasicategory₂.comp_unique' {A : Truncated 2} [A.Quasicategory₂] {x y z : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {f : Truncated.Edge x y} {g : Truncated.Edge y z} {h h' : Truncated.Edge x z} (s : Nonempty (f.CompStruct g h)) (s' : Nonempty (f.CompStruct g h')) :
                                              theorem SSet.Quasicategory₂.transport_edge₀ {A : Truncated 2} [A.Quasicategory₂] {x y z : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {f : Truncated.Edge x y} {g g' : Truncated.Edge y z} {h : Truncated.Edge x z} (s : f.CompStruct g h) (htpy : Truncated.HomotopicL g g') :
                                              theorem SSet.Quasicategory₂.transport_edge₁ {A : Truncated 2} [A.Quasicategory₂] {x y z : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {f : Truncated.Edge x y} {g : Truncated.Edge y z} {h h' : Truncated.Edge x z} (s : f.CompStruct g h) (htpy : Truncated.HomotopicL h h') :
                                              theorem SSet.Quasicategory₂.transport_edge₂ {A : Truncated 2} [A.Quasicategory₂] {x y z : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {f f' : Truncated.Edge x y} {g : Truncated.Edge y z} {h : Truncated.Edge x z} (s : f.CompStruct g h) (htpy : Truncated.HomotopicL f f') :
                                              theorem SSet.Quasicategory₂.transport_all_edges {A : Truncated 2} [A.Quasicategory₂] {x y z : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {f f' : Truncated.Edge x y} {g g' : Truncated.Edge y z} {h h' : Truncated.Edge x z} (hf : Truncated.HomotopicL f f') (hg : Truncated.HomotopicL g g') (hh : Truncated.HomotopicL h h') (s : f.CompStruct g h) :
                                              Nonempty (f'.CompStruct g' h')

                                              The homotopy category of a 2-truncated quasicategory A has as objects the 0-simplices of A

                                              Equations
                                              Instances For
                                                instance SSet.Quasicategory₂.instSetoidEdge {A : Truncated 2} [A.Quasicategory₂] (x₀ x₁ : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })) :
                                                Equations
                                                def SSet.Quasicategory₂.HEdge {A : Truncated 2} [A.Quasicategory₂] (x₀ x₁ : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })) :
                                                Type u_1

                                                The morphisms between two vertices x₀, x₁ in HomotopyCategory₂ A are homotopy classes of 1-simplices between x₀ and x₁.

                                                Equations
                                                Instances For
                                                  noncomputable def SSet.Quasicategory₂.composeEdges {A : Truncated 2} [A.Quasicategory₂] {x₀ x₁ x₂ : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (f : Truncated.Edge x₀ x₁) (g : Truncated.Edge x₁ x₂) :
                                                  Truncated.Edge x₀ x₂

                                                  Given two consecutive edges f, g in a 2-truncated quasicategory, nonconstructively choose an edge that is the diagonal of a 2-simplex with spine given by f and g.

                                                  Equations
                                                  Instances For
                                                    noncomputable def SSet.Quasicategory₂.composeEdgesIsComposition {A : Truncated 2} [A.Quasicategory₂] {x₀ x₁ x₂ : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (f : Truncated.Edge x₀ x₁) (g : Truncated.Edge x₁ x₂) :
                                                    Equations
                                                    Instances For
                                                      theorem SSet.Quasicategory₂.composeEdges_unique {A : Truncated 2} [A.Quasicategory₂] {x₀ x₁ x₂ : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {f : Truncated.Edge x₀ x₁} {g : Truncated.Edge x₁ x₂} {h : Truncated.Edge x₀ x₂} (s : f.CompStruct g h) :

                                                      The edge composeEdges f g is the unique edge up to homotopy such that there is a 2-simplex with spine given by f and g.

                                                      theorem SSet.Quasicategory₂.composeEdges_homotopic {A : Truncated 2} [A.Quasicategory₂] {x₀ x₁ x₂ : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} {f f' : Truncated.Edge x₀ x₁} {g g' : Truncated.Edge x₁ x₂} (hf : Truncated.HomotopicL f f') (hg : Truncated.HomotopicL g g') :

                                                      The compositions of homotopic edges are homotopic

                                                      noncomputable def SSet.Quasicategory₂.composeHEdges {A : Truncated 2} [A.Quasicategory₂] {x₀ x₁ x₂ : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (f : HEdge x₀ x₁) (g : HEdge x₁ x₂) :
                                                      HEdge x₀ x₂

                                                      Composition of morphisms in HomotopyCategory₂ A is given by lifting composeEdges.

                                                      Equations
                                                      Instances For
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.

                                                        The reflexive prefunctor sending edges (in the 1-truncation) of A to their homotopy class.

                                                        Equations
                                                        Instances For

                                                          By the adjunction ReflQuiv.adj, we obtain a functor from the free category on the reflexive quiver underlying A to the homotopy category corresponding to quotientReflPrefunctor₂.

                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            def SSet.Quasicategory₂.edgeToHom {A : Truncated 2} {x₀ x₁ : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (f : Truncated.Edge x₀ x₁) :
                                                            x₀ x₁

                                                            An edge from x₀ to x₁ in a 2-truncated simplicial set defines an arrow in the refl quiver OneTruncation₂.{u} A) from x₀ to x₁.

                                                            Equations
                                                            Instances For
                                                              def SSet.Quasicategory₂.edgeToFreeHom {A : Truncated 2} {x₀ x₁ : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (f : Truncated.Edge x₀ x₁) :
                                                              { as := x₀ } { as := x₁ }

                                                              An edge from x₀ to x₁ in a 2-truncated simplicial set defines an arrow in the free category generated from the refl quiver OneTruncation₂.{u} A) from x₀ to x₁.

                                                              Equations
                                                              Instances For
                                                                theorem SSet.Quasicategory₂.homotopic_edges_are_equiv {A : Truncated 2} [A.Quasicategory₂] {x₀ x₁ : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := })} (f g : Truncated.Edge x₀ x₁) (htpy : Truncated.HomotopicL f g) :
                                                                Truncated.HoRel₂ { as := x₀ } { as := x₁ } (edgeToFreeHom f) (edgeToFreeHom g)

                                                                Two (left) homotopic edges f, g are equivalent under the hom-relation HoRel₂ generated by 2-simplices.

                                                                If a reflexive prefunctor F : FreeRefl (OneTruncation₂ A) ⥤rq C respects the hom-relation HoRel₂, then it can be lifted to HomotopyCategory₂ A.

                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For

                                                                  If a functor F : FreeRefl (OneTruncation₂ A) ⥤ C respects the hom-relation HoRel₂, then it can be lifted to HomotopyCategory₂ A (see the weaker statement liftRq₂).

                                                                  Equations
                                                                  • One or more equations did not get rendered due to their size.
                                                                  Instances For

                                                                    Since both HomotopyCategory A and HomotopyCategory₂ A satisfy the same universal property, they are isomorphic.

                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For