The monoidal category structure on simplicial sets #
This file defines an instance of chosen finite products
for the category SSet. It follows from the fact
the SSet if a category of functors to the category
of types and that the category of types have chosen
finite products. As a result, we obtain a monoidal
category structure on SSet.
@[simp]
theorem
SSet.leftUnitor_hom_app_apply
(K : SSet)
{Δ : SimplexCategoryᵒᵖ}
(x : (CategoryTheory.MonoidalCategoryStruct.tensorObj (CategoryTheory.MonoidalCategoryStruct.tensorUnit SSet) K).obj Δ)
:
(CategoryTheory.MonoidalCategoryStruct.leftUnitor K).hom.app Δ x = x.2
@[simp]
theorem
SSet.leftUnitor_inv_app_apply
(K : SSet)
{Δ : SimplexCategoryᵒᵖ}
(x : K.obj Δ)
:
(CategoryTheory.MonoidalCategoryStruct.leftUnitor K).inv.app Δ x = (PUnit.unit, x)
@[simp]
theorem
SSet.rightUnitor_hom_app_apply
(K : SSet)
{Δ : SimplexCategoryᵒᵖ}
(x : (CategoryTheory.MonoidalCategoryStruct.tensorObj K (CategoryTheory.MonoidalCategoryStruct.tensorUnit SSet)).obj Δ)
:
(CategoryTheory.MonoidalCategoryStruct.rightUnitor K).hom.app Δ x = x.1
@[simp]
theorem
SSet.rightUnitor_inv_app_apply
(K : SSet)
{Δ : SimplexCategoryᵒᵖ}
(x : K.obj Δ)
:
(CategoryTheory.MonoidalCategoryStruct.rightUnitor K).inv.app Δ x = (x, PUnit.unit)
@[simp]
theorem
SSet.tensorHom_app_apply
{K K' L L' : SSet}
(f : K ⟶ K')
(g : L ⟶ L')
{Δ : SimplexCategoryᵒᵖ}
(x : (CategoryTheory.MonoidalCategoryStruct.tensorObj K L).obj Δ)
:
(CategoryTheory.MonoidalCategoryStruct.tensorHom f g).app Δ x = (f.app Δ x.1, g.app Δ x.2)
@[simp]
theorem
SSet.whiskerLeft_app_apply
(K : SSet)
{L L' : SSet}
(g : L ⟶ L')
{Δ : SimplexCategoryᵒᵖ}
(x : (CategoryTheory.MonoidalCategoryStruct.tensorObj K L).obj Δ)
:
(CategoryTheory.MonoidalCategoryStruct.whiskerLeft K g).app Δ x = (x.1, g.app Δ x.2)
@[simp]
theorem
SSet.whiskerRight_app_apply
{K K' : SSet}
(f : K ⟶ K')
(L : SSet)
{Δ : SimplexCategoryᵒᵖ}
(x : (CategoryTheory.MonoidalCategoryStruct.tensorObj K L).obj Δ)
:
(CategoryTheory.MonoidalCategoryStruct.whiskerRight f L).app Δ x = (f.app Δ x.1, x.2)
@[simp]
theorem
SSet.associator_hom_app_apply
(K L M : SSet)
{Δ : SimplexCategoryᵒᵖ}
(x : (CategoryTheory.MonoidalCategoryStruct.tensorObj (CategoryTheory.MonoidalCategoryStruct.tensorObj K L) M).obj Δ)
:
(CategoryTheory.MonoidalCategoryStruct.associator K L M).hom.app Δ x = (x.1.1, x.1.2, x.2)
@[simp]
theorem
SSet.associator_inv_app_apply
(K L M : SSet)
{Δ : SimplexCategoryᵒᵖ}
(x : (CategoryTheory.MonoidalCategoryStruct.tensorObj K (CategoryTheory.MonoidalCategoryStruct.tensorObj L M)).obj Δ)
:
(CategoryTheory.MonoidalCategoryStruct.associator K L M).inv.app Δ x = ((x.1, x.2.1), x.2.2)
theorem
SSet.stdSimplex.ext₀_iff
{X : SSet}
{f g : X ⟶ stdSimplex.obj (SimplexCategory.mk 0)}
:
f = g ↔ True
instance
SSet.instFiniteObjOppositeSimplexCategoryTensorObj
(X Y : SSet)
(n : SimplexCategoryᵒᵖ)
[Finite (X.obj n)]
[Finite (Y.obj n)]
:
The external product of subcomplexes of simplicial sets.
Instances For
@[simp]
theorem
SSet.Subcomplex.prod_obj
{X Y : SSet}
(A : X.Subcomplex)
(B : Y.Subcomplex)
(Δ : SimplexCategoryᵒᵖ)
:
theorem
SSet.Subcomplex.prod_monotone
{X Y : SSet}
{A₁ A₂ : X.Subcomplex}
(hX : A₁ ≤ A₂)
{B₁ B₂ : Y.Subcomplex}
(hY : B₁ ≤ B₂)
:
theorem
SSet.Subcomplex.range_tensorHom
{X₁ X₂ Y₁ Y₂ : SSet}
(f₁ : X₁ ⟶ Y₁)
(f₂ : X₂ ⟶ Y₂)
:
range (CategoryTheory.MonoidalCategoryStruct.tensorHom f₁ f₂) = (range f₁).prod (range f₂)
The isomorphism (A.prod B).toSSet ≅ A.toSSet ⊗ B.toSSet.
Instances For
@[simp]
@[simp]
@[simp]
@[simp]
theorem
SSet.ι₀_comp_assoc
{X Y : SSet}
(f : X ⟶ Y)
{Z : SSet}
(h : CategoryTheory.MonoidalCategoryStruct.tensorObj Y (stdSimplex.obj (SimplexCategory.mk 1)) ⟶ Z)
:
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
SSet.ι₀_app_snd_apply
{X : SSet}
{m : ℕ}
(x : X.obj (Opposite.op (SimplexCategory.mk m)))
(k : Fin (m + 1))
:
(ι₀.app (Opposite.op (SimplexCategory.mk m)) x).2 k = 0
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
SSet.ι₁_comp_assoc
{X Y : SSet}
(f : X ⟶ Y)
{Z : SSet}
(h : CategoryTheory.MonoidalCategoryStruct.tensorObj Y (stdSimplex.obj (SimplexCategory.mk 1)) ⟶ Z)
:
@[simp]
@[simp]
theorem
SSet.ι₁_app_snd_apply
{X : SSet}
{m : ℕ}
(x : X.obj (Opposite.op (SimplexCategory.mk m)))
(k : Fin (m + 1))
:
(ι₁.app (Opposite.op (SimplexCategory.mk m)) x).2 k = 1
@[simp]
theorem
SSet.prod_map_fst
(X Y : SSet)
{m n : SimplexCategoryᵒᵖ}
(f : m ⟶ n)
(z : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).obj m)
:
((CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).map f z).1 = X.map f z.1
@[simp]
theorem
SSet.prod_map_snd
(X Y : SSet)
{m n : SimplexCategoryᵒᵖ}
(f : m ⟶ n)
(z : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).obj m)
:
((CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).map f z).2 = Y.map f z.2
@[simp]
theorem
SSet.prod_δ_fst
(X Y : SSet)
{n : ℕ}
(i : Fin (n + 2))
(z : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).obj (Opposite.op (SimplexCategory.mk (n + 1))))
:
@[simp]
theorem
SSet.prod_δ_snd
(X Y : SSet)
{n : ℕ}
(i : Fin (n + 2))
(z : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).obj (Opposite.op (SimplexCategory.mk (n + 1))))
:
@[simp]
theorem
SSet.prod_σ_fst
(X Y : SSet)
{n : ℕ}
(i : Fin (n + 1))
(z : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).obj (Opposite.op (SimplexCategory.mk n)))
:
@[simp]
theorem
SSet.prod_σ_snd
(X Y : SSet)
{n : ℕ}
(i : Fin (n + 1))
(z : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).obj (Opposite.op (SimplexCategory.mk n)))
:
Given S ≤ X and T ≤ Y, this is the subcomplex of X ⊗ Y given by (X ⊗ T) ⊔ (S ⊗ Y).
Instances For
theorem
SSet.Subcomplex.mem_unionProd_iff
{X Y : SSet}
(S : X.Subcomplex)
(T : Y.Subcomplex)
{n : SimplexCategoryᵒᵖ}
(x : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).obj n)
:
The inclusion X ⊗ T ⟶ S.unionProd T as simplicial sets.
Instances For
The inclusion S ⊗ Y ⟶ S.unionProd T as simplicial sets
Instances For
@[simp]
@[simp]
theorem
SSet.Subcomplex.unionProd.ι₁_ι_assoc
{X Y : SSet}
(S : X.Subcomplex)
(T : Y.Subcomplex)
{Z : SSet}
(h : CategoryTheory.MonoidalCategoryStruct.tensorObj X Y ⟶ Z)
:
@[simp]
@[simp]
theorem
SSet.Subcomplex.unionProd.ι₂_ι_assoc
{X Y : SSet}
(S : X.Subcomplex)
(T : Y.Subcomplex)
{Z : SSet}
(h : CategoryTheory.MonoidalCategoryStruct.tensorObj X Y ⟶ Z)
:
@[simp]
theorem
SSet.Subcomplex.unionProd.preimage_β_hom
{X Y : SSet}
(S : X.Subcomplex)
(T : Y.Subcomplex)
:
@[simp]
theorem
SSet.Subcomplex.unionProd.preimage_β_inv
{X Y : SSet}
(S : X.Subcomplex)
(T : Y.Subcomplex)
:
@[simp]
@[simp]
noncomputable def
SSet.Subcomplex.unionProd.symmIso
{X Y : SSet}
(S : X.Subcomplex)
(T : Y.Subcomplex)
:
The isomorphism unionProd S T ≅ unionProd T S as simplicial sets.
Instances For
@[simp]
@[simp]
@[implicit_reducible]
@[simp]
theorem
SSet.Truncated.tensor_map_apply_fst
{n : ℕ}
{X Y : Truncated n}
{d e : (SimplexCategory.Truncated n)ᵒᵖ}
(f : d ⟶ e)
(x : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).obj d)
:
((CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).map f x).1 = X.map f x.1
@[simp]
theorem
SSet.Truncated.tensor_map_apply_snd
{n : ℕ}
{X Y : Truncated n}
{d e : (SimplexCategory.Truncated n)ᵒᵖ}
(f : d ⟶ e)
(x : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).obj d)
:
((CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).map f x).2 = Y.map f x.2