Documentation

Mathlib.AlgebraicTopology.Quasicategory.TwoTruncated

2-truncated quasicategories and homotopy relations #

We define 2-truncated quasicategories Quasicategory₂ by three horn-filling properties, and the left and right homotopy relations HomotopicL and HomotopicR on the edges in a 2-truncated simplicial set.

We prove that for 2-truncated quasicategories, both homotopy relations are equivalence relations, and that the left and right homotopy relations coincide.

For a 2-truncated quasicategory A, we define a category HomotopyCategory₂ A whose morphisms are given by (left) homotopy classes of edges. The construction of this category is different from HomotopyCategory A in AlgebraicTopology.SimplicialSet.HomotopyCat:

The two constructions agree for 2-truncated quasicategories (TODO: handled by future PR).

Implementation notes #

Throughout this file, we make use of Edge and CompStruct to conveniently deal with edges and triangles in a 2-truncated simplicial set.

A 2-truncated quasicategory is a 2-truncated simplicial set with the properties:

  • (2, 1)-filling: given two consecutive Edges e₀₁ and e₁₂, there exists a CompStruct with (0, 1)-edge e₀₁ and (0, 2)-edge e₁₂.
  • (3, 1)-filling: given three CompStructs f₃, f₀ and f₂ which form a (3, 1)-horn, there exists a fourth CompStruct such that the four faces form the boundary ∂Δ[3] of a 3-simplex.
  • (3, 2)-filling: given three CompStructs f₃, f₀ and f₁ which form a (3, 2)-horn, there exists a fourth CompStruct such that the four faces form the boundary ∂Δ[3] of a 3-simplex.
Instances
    @[reducible, inline]
    abbrev SSet.Truncated.HomotopicL {X : Truncated 2} {x y : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Quasicategory₂._proof_1 })} (f g : Edge x y) :

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

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

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

        Equations
          Instances For

            The left homotopy relation is reflexive.

            theorem SSet.Truncated.HomotopicL.symm {X : Truncated 2} [X.Quasicategory₂] {x y : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Quasicategory₂._proof_1 })} {f g : Edge x y} (hfg : HomotopicL f g) :

            The left homotopy relation is symmetric.

            theorem SSet.Truncated.HomotopicL.trans {X : Truncated 2} [X.Quasicategory₂] {x y : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Quasicategory₂._proof_1 })} {f g h : Edge x y} (hfg : HomotopicL f g) (hgh : HomotopicL g h) :

            The left homotopy relation is transitive.

            The right homotopy relation is reflexive.

            theorem SSet.Truncated.HomotopicR.symm {X : Truncated 2} [X.Quasicategory₂] {x y : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Quasicategory₂._proof_1 })} {f g : Edge x y} (hfg : HomotopicR f g) :

            The right homotopy relation is symmetric.

            theorem SSet.Truncated.HomotopicR.trans {X : Truncated 2} [X.Quasicategory₂] {x y : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Quasicategory₂._proof_1 })} {f g h : Edge x y} (hfg : HomotopicR f g) (hgh : HomotopicR g h) :

            The right homotopy relation is transitive.

            In a 2-truncated quasicategory, left homotopy implies right homotopy.

            In a 2-truncated quasicategory, right homotopy implies left homotopy.

            In a 2-truncated quasicategory, the right and left homotopy relations coincide.

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

            Given CompStruct f g h and CompStruct f' g' h' with the same vertices and edges such that ff' and gg', then the long diagonal edges h and h' are also homotopic.

            noncomputable def SSet.Truncated.Edge.comp {A : Truncated 2} [A.Quasicategory₂] {x y z : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Quasicategory₂._proof_1 })} (f : Edge x y) (g : Edge y z) :
            Edge x z

            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. The CompStruct witnessing this property is given by Edge.composeStruct.

            Equations
              Instances For
                noncomputable def SSet.Truncated.Edge.compStruct {A : Truncated 2} [A.Quasicategory₂] {x y z : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Quasicategory₂._proof_1 })} (f : Edge x y) (g : Edge y z) :
                f.CompStruct g (f.comp g)

                See Edge.comp

                Equations
                  Instances For

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

                    Instances For

                      Left homotopy is an equivalence relation on the edges of A. Remark: We could have equivalently chosen right homotopy, as shown by homotopicL_iff_homotopicR.

                      Equations

                        The morphisms between two vertices x, y in HomotopyCategory₂ A are homotopy classes of edges between x and y.

                        Equations
                          Instances For

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

                            Equations

                              The function HomotopyCategory₂.mk taking a vertex of A and sending it to the corresponding object of HomotopyCategory₂ A is surjective.

                              def SSet.Truncated.HomotopyCategory₂.homMk {A : Truncated 2} [A.Quasicategory₂] {x y : A.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Quasicategory₂._proof_1 })} (f : Edge x y) :
                              { pt := x } { pt := y }

                              Any edge in the 2-truncated simplicial set A defines a morphism in the homotopy category by taking its equivalence class.

                              Equations
                                Instances For

                                  Every morphism in the homotopy category HomotopyCategory₂ A is the equivalence class of an edge of A.

                                  @[simp]

                                  The trivial (degenerate) edge at a vertex x is a representative for the identity morphism x ⟶ x.

                                  Left homotopic edges represent the same morphism in the homotopy category.

                                  Right homotopic edges represent the same morphism in the homotopy category.

                                  A CompStruct f g h is a witness for the fact that the morphisms represented by f and g compose to the morphism represented by h.

                                  If we have a factorization homMk f ≫ homMk g = homMk h, this is the choice of a structure CompStruct f g h.

                                  Equations
                                    Instances For

                                      Given edges f, g and h of a 2-truncated quasicategory, there exists a structure CompStruct f g h iff homMk f ≫ homMk g = homMk h holds in the homotopy category.