Documentation

Mathlib.AlgebraicTopology.SimplicialSet.HoFunctorMonoidal

The homotopy category functor is monoidal #

Given 2-truncated simplicial sets X and Y, we introduce ad operation Truncated.Edge.tensor : Edge x x' → Edge y y' → Edge (x, y) (x', y'). We use this in order to construct an equivalence of categories (X ⊗ Y).HomotopyCategory ≌ X.HomotopyCategory × Y.HomotopyCategory.

def SSet.Truncated.Edge.tensor {X Y : Truncated 2} {x x' : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₁ : Edge x x') {y y' : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₂ : Edge y y') :
Edge (x, y) (x', y')

The external product of edges of 2-truncated simplicial sets.

Equations
Instances For
    @[simp]
    theorem SSet.Truncated.Edge.tensor_edge {X Y : Truncated 2} {x x' : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₁ : Edge x x') {y y' : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₂ : Edge y y') :
    (e₁.tensor e₂).edge = (e₁.edge, e₂.edge)
    theorem SSet.Truncated.Edge.tensor_surjective {X Y : Truncated 2} {x x' : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} {y y' : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e : Edge (x, y) (x', y')) :
    ∃ (e₁ : Edge x x') (e₂ : Edge y y'), e₁.tensor e₂ = e
    @[simp]
    theorem SSet.Truncated.Edge.id_tensor_id {X Y : Truncated 2} (x : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })) (y : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })) :
    (id x).tensor (id y) = id (x, y)
    @[simp]
    theorem SSet.Truncated.Edge.map_tensorHom {X Y X' Y' : Truncated 2} {x x' : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₁ : Edge x x') {y y' : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₂ : Edge y y') (f : X X') (g : Y Y') :
    @[simp]
    theorem SSet.Truncated.Edge.map_whiskerRight {X Y X' : Truncated 2} {x x' : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₁ : Edge x x') {y y' : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₂ : Edge y y') (f : X X') :
    @[simp]
    theorem SSet.Truncated.Edge.map_whiskerLeft {X Y Y' : Truncated 2} {x x' : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₁ : Edge x x') {y y' : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₂ : Edge y y') (g : Y Y') :
    @[simp]
    theorem SSet.Truncated.Edge.map_associator_hom {X Y Z : Truncated 2} {x x' : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₁ : Edge x x') {y y' : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₂ : Edge y y') {z z' : Z.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₃ : Edge z z') :
    @[simp]
    theorem SSet.Truncated.Edge.map_fst {X Y : Truncated 2} {x x' : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₁ : Edge x x') {y y' : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₂ : Edge y y') :
    @[simp]
    theorem SSet.Truncated.Edge.map_snd {X Y : Truncated 2} {x x' : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₁ : Edge x x') {y y' : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := tensor._proof_1 })} (e₂ : Edge y y') :
    def SSet.Truncated.Edge.CompStruct.tensor {X Y : Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} {e₀₁ : Edge x₀ x₁} {e₁₂ : Edge x₁ x₂} {e₀₂ : Edge x₀ x₂} (hx : e₀₁.CompStruct e₁₂ e₀₂) {y₀ y₁ y₂ : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} {e'₀₁ : Edge y₀ y₁} {e'₁₂ : Edge y₁ y₂} {e'₀₂ : Edge y₀ y₂} (hy : e'₀₁.CompStruct e'₁₂ e'₀₂) :
    (e₀₁.tensor e'₀₁).CompStruct (e₁₂.tensor e'₁₂) (e₀₂.tensor e'₀₂)

    The external product of CompStruct between edges of 2-truncated simplicial sets.

    Equations
    Instances For
      @[simp]
      theorem SSet.Truncated.Edge.CompStruct.tensor_simplex_snd {X Y : Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} {e₀₁ : Edge x₀ x₁} {e₁₂ : Edge x₁ x₂} {e₀₂ : Edge x₀ x₂} (hx : e₀₁.CompStruct e₁₂ e₀₂) {y₀ y₁ y₂ : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} {e'₀₁ : Edge y₀ y₁} {e'₁₂ : Edge y₁ y₂} {e'₀₂ : Edge y₀ y₂} (hy : e'₀₁.CompStruct e'₁₂ e'₀₂) :
      (hx.tensor hy).simplex.2 = hy.simplex
      @[simp]
      theorem SSet.Truncated.Edge.CompStruct.tensor_simplex_fst {X Y : Truncated 2} {x₀ x₁ x₂ : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} {e₀₁ : Edge x₀ x₁} {e₁₂ : Edge x₁ x₂} {e₀₂ : Edge x₀ x₂} (hx : e₀₁.CompStruct e₁₂ e₀₂) {y₀ y₁ y₂ : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} {e'₀₁ : Edge y₀ y₁} {e'₁₂ : Edge y₁ y₂} {e'₀₂ : Edge y₀ y₂} (hy : e'₀₁.CompStruct e'₁₂ e'₀₂) :
      (hx.tensor hy).simplex.1 = hx.simplex

      If X : Truncated 2 has a unique 0-simplex and (at most) one 1-simplex, this is the isomorphism Cat.of X.HomotopyCategory ≅ Cat.chosenTerminal in Cat.

      Equations
      Instances For
        theorem SSet.Truncated.HomotopyCategory.BinaryProduct.square {X Y : Truncated 2} {x₀ x₁ : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} (ex : Edge x₀ x₁) {y₀ y₁ : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} (ey : Edge y₀ y₁) :

        The functor (X ⊗ Y).HomotopyCategory ⥤ X.HomotopyCategory × Y.HomotopyCategory when X and Y are 2-truncated simplicial sets.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem SSet.Truncated.HomotopyCategory.BinaryProduct.functor_map {X Y : Truncated 2} {x₀ x₁ : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} (e : Edge x₀ x₁) {y₀ y₁ : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} (e' : Edge y₀ y₁) :
          (functor X Y).map (homMk (e.tensor e')) = (homMk e, homMk e')

          The functor X.HomotopyCategory ⥤ Y.HomotopyCategory ⥤ (X ⊗ Y).HomotopyCategory when X and Y are 2-truncated simplicial sets.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem SSet.Truncated.HomotopyCategory.BinaryProduct.inverse_map_mkHom_homMk_homMk {X Y : Truncated 2} {x₀ x₁ : X.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} (e : Edge x₀ x₁) {y₀ y₁ : Y.obj (Opposite.op { obj := SimplexCategory.mk 0, property := Edge.tensor._proof_1 })} (e' : Edge y₀ y₁) :

            Auxiliary definition for equivalence.

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

              Auxiliary definition for equivalence.

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

                The equivalence (X ⊗ Y).HomotopyCategory ≌ X.HomotopyCategory ⥤ Y.HomotopyCategory when X and Y are 2-truncated simplicial sets.

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

                  The isomorphism of categories between (X ⊗ Y).HomotopyCategory and X.HomotopyCategory ⥤ Y.HomotopyCategory.

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

                    The naturality of HomotopyCategory.BinaryProduct.inverse with respect to the first variable.

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

                      The naturality of HomotopyCategory.BinaryProduct.inverse with respect to the second variable.

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

                        The compatibility of HomotopyCategory.BinaryProduct.inverse with respect to the first projection.

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

                          The compatibility of HomotopyCategory.BinaryProduct.inverse with respect to the second projection.

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

                            The homotopy category functor hoFunctor : SSet.{u} ⥤ Cat.{u, u} is (cartesian) monoidal.

                            Equations