CartesianMonoidalCategory for Over X #
We provide a CartesianMonoidalCategory (Over X) instance via pullbacks, and provide simp lemmas
for the induced MonoidalCategory (Over X) instance.
@[reducible, inline]
noncomputable abbrev CategoryTheory.Over.cartesianMonoidalCategory {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] (X : C) :
A choice of finite products of Over X given by Limits.pullback.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
noncomputable abbrev CategoryTheory.Over.braidedCategory {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] (X : C) :
BraidedCategory (Over X)
Over X is braided w.r.t. the Cartesian monoidal structure given by Limits.pullback.
Equations
Instances For
theorem CategoryTheory.Over.tensorObj_ext {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R : C} {S T : Over X} (f₁ f₂ : R ⟶ (MonoidalCategoryStruct.tensorObj S T).left) (e₁ :
CategoryStruct.comp f₁ (Limits.pullback.fst S.hom T.hom) = CategoryStruct.comp f₂ (Limits.pullback.fst S.hom T.hom)) (e₂ :
CategoryStruct.comp f₁ (Limits.pullback.snd S.hom T.hom) = CategoryStruct.comp f₂ (Limits.pullback.snd S.hom T.hom)) :
theorem CategoryTheory.Over.tensorObj_ext_iff {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R : C} {S T : Over X} {f₁ f₂ : R ⟶ (MonoidalCategoryStruct.tensorObj S T).left} :
f₁ = f₂ ↔ CategoryStruct.comp f₁ (Limits.pullback.fst S.hom T.hom) = CategoryStruct.comp f₂ (Limits.pullback.fst S.hom T.hom) ∧ CategoryStruct.comp f₁ (Limits.pullback.snd S.hom T.hom) = CategoryStruct.comp f₂ (Limits.pullback.snd S.hom T.hom)
@[simp]
theorem CategoryTheory.Over.tensorObj_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S : Over X) :
@[simp]
theorem CategoryTheory.Over.tensorObj_hom {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S : Over X) :
(MonoidalCategoryStruct.tensorObj R S).hom = CategoryStruct.comp (Limits.pullback.fst R.hom S.hom) R.hom
@[simp]
theorem CategoryTheory.Over.tensorUnit_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} :
@[simp]
theorem CategoryTheory.Over.tensorUnit_hom {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} :
@[simp]
theorem CategoryTheory.Over.lift_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T : Over X} (f : R ⟶ S) (g : R ⟶ T) :
@[simp]
theorem CategoryTheory.Over.fst_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S : Over X} :
@[simp]
theorem CategoryTheory.Over.snd_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S : Over X} :
@[simp]
theorem CategoryTheory.Over.toUnit_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R : Over X} :
@[simp]
theorem CategoryTheory.Over.associator_hom_left_fst {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).hom)
(Limits.pullback.fst R.hom (CategoryStruct.comp (Limits.pullback.fst S.hom T.hom) S.hom)) = CategoryStruct.comp (Limits.pullback.fst (MonoidalCategoryStruct.tensorObj R S).hom T.hom)
(Limits.pullback.fst R.hom S.hom)
@[simp]
theorem CategoryTheory.Over.associator_hom_left_fst_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) {Z : C} (h : R.left ⟶ Z) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).hom)
(CategoryStruct.comp (Limits.pullback.fst R.hom (CategoryStruct.comp (Limits.pullback.fst S.hom T.hom) S.hom)) h) = CategoryStruct.comp (Limits.pullback.fst (MonoidalCategoryStruct.tensorObj R S).hom T.hom)
(CategoryStruct.comp (Limits.pullback.fst R.hom S.hom) h)
@[simp]
theorem CategoryTheory.Over.associator_hom_left_snd_fst {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).hom)
(CategoryStruct.comp (Limits.pullback.snd R.hom (CategoryStruct.comp (Limits.pullback.fst S.hom T.hom) S.hom))
(Limits.pullback.fst S.hom T.hom)) = CategoryStruct.comp (Limits.pullback.fst (MonoidalCategoryStruct.tensorObj R S).hom T.hom)
(Limits.pullback.snd R.hom S.hom)
@[simp]
theorem CategoryTheory.Over.associator_hom_left_snd_fst_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) {Z : C} (h : S.left ⟶ Z) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).hom)
(CategoryStruct.comp (Limits.pullback.snd R.hom (CategoryStruct.comp (Limits.pullback.fst S.hom T.hom) S.hom))
(CategoryStruct.comp (Limits.pullback.fst S.hom T.hom) h)) = CategoryStruct.comp (Limits.pullback.fst (MonoidalCategoryStruct.tensorObj R S).hom T.hom)
(CategoryStruct.comp (Limits.pullback.snd R.hom S.hom) h)
@[simp]
theorem CategoryTheory.Over.associator_hom_left_snd_snd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).hom)
(CategoryStruct.comp (Limits.pullback.snd R.hom (CategoryStruct.comp (Limits.pullback.fst S.hom T.hom) S.hom))
(Limits.pullback.snd S.hom T.hom)) = Limits.pullback.snd (MonoidalCategoryStruct.tensorObj R S).hom T.hom
@[simp]
theorem CategoryTheory.Over.associator_hom_left_snd_snd_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) {Z : C} (h : T.left ⟶ Z) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).hom)
(CategoryStruct.comp (Limits.pullback.snd R.hom (CategoryStruct.comp (Limits.pullback.fst S.hom T.hom) S.hom))
(CategoryStruct.comp (Limits.pullback.snd S.hom T.hom) h)) = CategoryStruct.comp (Limits.pullback.snd (MonoidalCategoryStruct.tensorObj R S).hom T.hom) h
@[simp]
theorem CategoryTheory.Over.associator_inv_left_fst_fst {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).inv)
(CategoryStruct.comp (Limits.pullback.fst (CategoryStruct.comp (Limits.pullback.fst R.hom S.hom) R.hom) T.hom)
(Limits.pullback.fst R.hom S.hom)) = Limits.pullback.fst R.hom (MonoidalCategoryStruct.tensorObj S T).hom
@[simp]
theorem CategoryTheory.Over.associator_inv_left_fst_fst_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) {Z : C} (h : R.left ⟶ Z) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).inv)
(CategoryStruct.comp (Limits.pullback.fst (CategoryStruct.comp (Limits.pullback.fst R.hom S.hom) R.hom) T.hom)
(CategoryStruct.comp (Limits.pullback.fst R.hom S.hom) h)) = CategoryStruct.comp (Limits.pullback.fst R.hom (MonoidalCategoryStruct.tensorObj S T).hom) h
@[simp]
theorem CategoryTheory.Over.associator_inv_left_fst_snd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).inv)
(CategoryStruct.comp (Limits.pullback.fst (CategoryStruct.comp (Limits.pullback.fst R.hom S.hom) R.hom) T.hom)
(Limits.pullback.snd R.hom S.hom)) = CategoryStruct.comp (Limits.pullback.snd R.hom (MonoidalCategoryStruct.tensorObj S T).hom)
(Limits.pullback.fst S.hom T.hom)
@[simp]
theorem CategoryTheory.Over.associator_inv_left_fst_snd_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) {Z : C} (h : S.left ⟶ Z) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).inv)
(CategoryStruct.comp (Limits.pullback.fst (CategoryStruct.comp (Limits.pullback.fst R.hom S.hom) R.hom) T.hom)
(CategoryStruct.comp (Limits.pullback.snd R.hom S.hom) h)) = CategoryStruct.comp (Limits.pullback.snd R.hom (MonoidalCategoryStruct.tensorObj S T).hom)
(CategoryStruct.comp (Limits.pullback.fst S.hom T.hom) h)
@[simp]
theorem CategoryTheory.Over.associator_inv_left_snd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).inv)
(Limits.pullback.snd (CategoryStruct.comp (Limits.pullback.fst R.hom S.hom) R.hom) T.hom) = CategoryStruct.comp (Limits.pullback.snd R.hom (MonoidalCategoryStruct.tensorObj S T).hom)
(Limits.pullback.snd S.hom T.hom)
@[simp]
theorem CategoryTheory.Over.associator_inv_left_snd_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (R S T : Over X) {Z : C} (h : T.left ⟶ Z) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.associator R S T).inv)
(CategoryStruct.comp (Limits.pullback.snd (CategoryStruct.comp (Limits.pullback.fst R.hom S.hom) R.hom) T.hom) h) = CategoryStruct.comp (Limits.pullback.snd R.hom (MonoidalCategoryStruct.tensorObj S T).hom)
(CategoryStruct.comp (Limits.pullback.snd S.hom T.hom) h)
@[simp]
theorem CategoryTheory.Over.leftUnitor_hom_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (Y : Over X) :
@[simp]
theorem CategoryTheory.Over.leftUnitor_inv_left_fst {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (Y : Over X) :
@[simp]
theorem CategoryTheory.Over.leftUnitor_inv_left_fst_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (Y : Over X) {Z : C} (h : X ⟶ Z) :
@[simp]
theorem CategoryTheory.Over.leftUnitor_inv_left_snd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (Y : Over X) :
@[simp]
theorem CategoryTheory.Over.leftUnitor_inv_left_snd_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (Y : Over X) {Z : C} (h : Y.left ⟶ Z) :
@[simp]
theorem CategoryTheory.Over.rightUnitor_hom_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (Y : Over X) :
@[simp]
theorem CategoryTheory.Over.rightUnitor_inv_left_fst {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (Y : Over X) :
@[simp]
theorem CategoryTheory.Over.rightUnitor_inv_left_fst_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (Y : Over X) {Z : C} (h : Y.left ⟶ Z) :
@[simp]
theorem CategoryTheory.Over.rightUnitor_inv_left_snd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (Y : Over X) :
@[simp]
theorem CategoryTheory.Over.rightUnitor_inv_left_snd_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} (Y : Over X) {Z : C} (h : X ⟶ Z) :
theorem CategoryTheory.Over.whiskerLeft_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T : Over X} (f : S ⟶ T) :
Hom.left (MonoidalCategoryStruct.whiskerLeft R f) = Limits.pullback.map R.hom S.hom R.hom T.hom (CategoryStruct.id R.left) (Hom.left f) (CategoryStruct.id X) ⋯ ⋯
@[simp]
theorem CategoryTheory.Over.whiskerLeft_left_fst {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T : Over X} (f : S ⟶ T) :
@[simp]
theorem CategoryTheory.Over.whiskerLeft_left_fst_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T : Over X} (f : S ⟶ T) {Z : C} (h : R.left ⟶ Z) :
@[simp]
theorem CategoryTheory.Over.whiskerLeft_left_snd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T : Over X} (f : S ⟶ T) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.whiskerLeft R f)) (Limits.pullback.snd R.hom T.hom) = CategoryStruct.comp (Limits.pullback.snd R.hom S.hom) (Hom.left f)
@[simp]
theorem CategoryTheory.Over.whiskerLeft_left_snd_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T : Over X} (f : S ⟶ T) {Z : C} (h : T.left ⟶ Z) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.whiskerLeft R f))
(CategoryStruct.comp (Limits.pullback.snd R.hom T.hom) h) = CategoryStruct.comp (Limits.pullback.snd R.hom S.hom) (CategoryStruct.comp (Hom.left f) h)
theorem CategoryTheory.Over.whiskerRight_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T : Over X} (f : S ⟶ T) :
Hom.left (MonoidalCategoryStruct.whiskerRight f R) = Limits.pullback.map S.hom R.hom T.hom R.hom (Hom.left f) (CategoryStruct.id R.left) (CategoryStruct.id X) ⋯ ⋯
@[simp]
theorem CategoryTheory.Over.whiskerRight_left_fst {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T : Over X} (f : S ⟶ T) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.whiskerRight f R)) (Limits.pullback.fst T.hom R.hom) = CategoryStruct.comp (Limits.pullback.fst S.hom R.hom) (Hom.left f)
@[simp]
theorem CategoryTheory.Over.whiskerRight_left_fst_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T : Over X} (f : S ⟶ T) {Z : C} (h : T.left ⟶ Z) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.whiskerRight f R))
(CategoryStruct.comp (Limits.pullback.fst T.hom R.hom) h) = CategoryStruct.comp (Limits.pullback.fst S.hom R.hom) (CategoryStruct.comp (Hom.left f) h)
@[simp]
theorem CategoryTheory.Over.whiskerRight_left_snd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T : Over X} (f : S ⟶ T) :
@[simp]
theorem CategoryTheory.Over.whiskerRight_left_snd_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T : Over X} (f : S ⟶ T) {Z : C} (h : R.left ⟶ Z) :
theorem CategoryTheory.Over.tensorHom_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S T U : Over X} (f : R ⟶ S) (g : T ⟶ U) :
Hom.left (MonoidalCategoryStruct.tensorHom f g) = Limits.pullback.map R.hom T.hom S.hom U.hom (Hom.left f) (Hom.left g) (CategoryStruct.id X) ⋯ ⋯
@[simp]
theorem CategoryTheory.Over.tensorHom_left_fst {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X S U : C} {R T : Over X} (fS : S ⟶ X) (fU : U ⟶ X) (f : R ⟶ mk fS) (g : T ⟶ mk fU) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.tensorHom f g)) (Limits.pullback.fst fS fU) = CategoryStruct.comp (Limits.pullback.fst R.hom T.hom) (Hom.left f)
@[simp]
theorem CategoryTheory.Over.tensorHom_left_fst_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X S U : C} {R T : Over X} (fS : S ⟶ X) (fU : U ⟶ X) (f : R ⟶ mk fS) (g : T ⟶ mk fU) {Z : C} (h : S ⟶ Z) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.tensorHom f g))
(CategoryStruct.comp (Limits.pullback.fst fS fU) h) = CategoryStruct.comp (Limits.pullback.fst R.hom T.hom) (CategoryStruct.comp (Hom.left f) h)
@[simp]
theorem CategoryTheory.Over.tensorHom_left_snd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X S U : C} {R T : Over X} (fS : S ⟶ X) (fU : U ⟶ X) (f : R ⟶ mk fS) (g : T ⟶ mk fU) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.tensorHom f g)) (Limits.pullback.snd fS fU) = CategoryStruct.comp (Limits.pullback.snd R.hom T.hom) (Hom.left g)
@[simp]
theorem CategoryTheory.Over.tensorHom_left_snd_assoc {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X S U : C} {R T : Over X} (fS : S ⟶ X) (fU : U ⟶ X) (f : R ⟶ mk fS) (g : T ⟶ mk fU) {Z : C} (h : U ⟶ Z) :
CategoryStruct.comp (Hom.left (MonoidalCategoryStruct.tensorHom f g))
(CategoryStruct.comp (Limits.pullback.snd fS fU) h) = CategoryStruct.comp (Limits.pullback.snd R.hom T.hom) (CategoryStruct.comp (Hom.left g) h)
@[simp]
theorem CategoryTheory.Over.braiding_hom_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S : Over X} :
@[simp]
theorem CategoryTheory.Over.braiding_inv_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X : C} {R S : Over X} :
@[instance_reducible]
noncomputable instance CategoryTheory.Over.instBraidedPullback {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R : C} {f : R ⟶ X} :
@[simp]
theorem CategoryTheory.Over.η_pullback_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R : C} {f : R ⟶ X} :
@[simp]
theorem CategoryTheory.Over.ε_pullback_left {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R : C} {f : R ⟶ X} :
theorem CategoryTheory.Over.μ_pullback_left_fst_fst {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R : C} {f : R ⟶ X} (R✝ S : Over X) :
CategoryStruct.comp (Hom.left (Functor.LaxMonoidal.μ (pullback f) R✝ S))
(CategoryStruct.comp (Limits.pullback.fst (MonoidalCategoryStruct.tensorObj R✝ S).hom f)
(Limits.pullback.fst R✝.hom S.hom)) = CategoryStruct.comp (Limits.pullback.fst ((pullback f).obj R✝).hom ((pullback f).obj S).hom)
(Limits.pullback.fst R✝.hom f)
theorem CategoryTheory.Over.μ_pullback_left_fst_snd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R : C} {f : R ⟶ X} (R✝ S : Over X) :
CategoryStruct.comp (Hom.left (Functor.LaxMonoidal.μ (pullback f) R✝ S))
(CategoryStruct.comp (Limits.pullback.fst (MonoidalCategoryStruct.tensorObj R✝ S).hom f)
(Limits.pullback.snd R✝.hom S.hom)) = CategoryStruct.comp (Limits.pullback.snd ((pullback f).obj R✝).hom ((pullback f).obj S).hom)
(Limits.pullback.fst S.hom f)
theorem CategoryTheory.Over.μ_pullback_left_snd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R : C} {f : R ⟶ X} (R✝ S : Over X) :
CategoryStruct.comp (Hom.left (Functor.LaxMonoidal.μ (pullback f) R✝ S))
(Limits.pullback.snd (MonoidalCategoryStruct.tensorObj R✝ S).hom f) = CategoryStruct.comp (Limits.pullback.snd ((pullback f).obj R✝).hom ((pullback f).obj S).hom)
(Limits.pullback.snd S.hom f)
@[simp]
theorem CategoryTheory.Over.μ_pullback_left_fst_fst' {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R Y Z : C} {f : R ⟶ X} (g₁ : Y ⟶ X) (g₂ : Z ⟶ X) :
CategoryStruct.comp (Hom.left (Functor.LaxMonoidal.μ (pullback f) (mk g₁) (mk g₂)))
(CategoryStruct.comp (Limits.pullback.fst (CategoryStruct.comp (Limits.pullback.fst g₁ g₂) g₁) f)
(Limits.pullback.fst g₁ g₂)) = CategoryStruct.comp (Limits.pullback.fst ((pullback f).obj (mk g₁)).hom ((pullback f).obj (mk g₂)).hom)
(Limits.pullback.fst (mk g₁).hom f)
@[simp]
theorem CategoryTheory.Over.μ_pullback_left_fst_snd' {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R Y Z : C} {f : R ⟶ X} (g₁ : Y ⟶ X) (g₂ : Z ⟶ X) :
CategoryStruct.comp (Hom.left (Functor.LaxMonoidal.μ (pullback f) (mk g₁) (mk g₂)))
(CategoryStruct.comp (Limits.pullback.fst (CategoryStruct.comp (Limits.pullback.fst g₁ g₂) g₁) f)
(Limits.pullback.snd g₁ g₂)) = CategoryStruct.comp (Limits.pullback.snd ((pullback f).obj (mk g₁)).hom ((pullback f).obj (mk g₂)).hom)
(Limits.pullback.fst (mk g₂).hom f)
@[simp]
theorem CategoryTheory.Over.μ_pullback_left_snd' {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R Y Z : C} {f : R ⟶ X} (g₁ : Y ⟶ X) (g₂ : Z ⟶ X) :
CategoryStruct.comp (Hom.left (Functor.LaxMonoidal.μ (pullback f) (mk g₁) (mk g₂)))
(Limits.pullback.snd (CategoryStruct.comp (Limits.pullback.fst g₁ g₂) g₁) f) = CategoryStruct.comp (Limits.pullback.snd ((pullback f).obj (mk g₁)).hom ((pullback f).obj (mk g₂)).hom)
(Limits.pullback.snd (mk g₂).hom f)
@[simp]
theorem CategoryTheory.Over.preservesTerminalIso_pullback {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {R S : C} (f : R ⟶ S) :
@[simp]
theorem CategoryTheory.Over.prodComparisonIso_pullback_inv_left_fst_fst {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X Y : C} (f : X ⟶ Y) (A B : Over Y) :
CategoryStruct.comp (Hom.left (CartesianMonoidalCategory.prodComparisonIso (pullback f) A B).inv)
(CategoryStruct.comp (Limits.pullback.fst (CategoryStruct.comp (Limits.pullback.fst A.hom B.hom) A.hom) f)
(Limits.pullback.fst A.hom B.hom)) = CategoryStruct.comp (Limits.pullback.fst (Limits.pullback.snd A.hom f) (Limits.pullback.snd B.hom f))
(Limits.pullback.fst A.hom f)
@[simp]
theorem CategoryTheory.Over.prodComparisonIso_pullback_Spec_inv_left_fst_fst' {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X A B Y : C} (f : X ⟶ Y) (gA : A ⟶ Y) (gB : B ⟶ Y) :
CategoryStruct.comp (Hom.left (CartesianMonoidalCategory.prodComparisonIso (pullback f) (mk gA) (mk gB)).inv)
(CategoryStruct.comp (Limits.pullback.fst (CategoryStruct.comp (Limits.pullback.fst gA gB) gA) f)
(Limits.pullback.fst gA gB)) = CategoryStruct.comp (Limits.pullback.fst (Limits.pullback.snd gA f) (Limits.pullback.snd gB f))
(Limits.pullback.fst gA f)
@[simp]
theorem CategoryTheory.Over.prodComparisonIso_pullback_inv_left_fst_snd' {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X A B Y : C} (f : X ⟶ Y) (gA : A ⟶ Y) (gB : B ⟶ Y) :
CategoryStruct.comp (Hom.left (CartesianMonoidalCategory.prodComparisonIso (pullback f) (mk gA) (mk gB)).inv)
(CategoryStruct.comp (Limits.pullback.fst (CategoryStruct.comp (Limits.pullback.fst gA gB) gA) f)
(Limits.pullback.snd gA gB)) = CategoryStruct.comp (Limits.pullback.snd ((pullback f).obj (mk gA)).hom ((pullback f).obj (mk gB)).hom)
(Limits.pullback.fst (mk gB).hom f)
@[simp]
theorem CategoryTheory.Over.prodComparisonIso_pullback_inv_left_snd' {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X A B Y : C} (f : X ⟶ Y) (gA : A ⟶ Y) (gB : B ⟶ Y) :
CategoryStruct.comp (Hom.left (CartesianMonoidalCategory.prodComparisonIso (pullback f) (mk gA) (mk gB)).inv)
(Limits.pullback.snd (CategoryStruct.comp (Limits.pullback.fst gA gB) gA) f) = CategoryStruct.comp (Limits.pullback.snd ((pullback f).obj (mk gA)).hom ((pullback f).obj (mk gB)).hom)
(Limits.pullback.snd (mk gB).hom f)
@[reducible, inline]
noncomputable abbrev CategoryTheory.Over.monObjMkPullbackSnd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R S : C} {f : R ⟶ X} {g : S ⟶ X} [MonObj (mk f)] :
MonObj (mk (Limits.pullback.snd f g))
The pullback of a monoid object is a monoid object.
Equations
- CategoryTheory.Over.monObjMkPullbackSnd = ((CategoryTheory.Over.pullback g).mapMon.obj { X := CategoryTheory.Over.mk f, mon := inst✝ }).mon
Instances For
theorem CategoryTheory.Over.monObjMkPullbackSnd_mul {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R S : C} {f : R ⟶ X} {g : S ⟶ X} [MonObj (mk f)] :
MonObj.mul = CategoryStruct.comp (Functor.LaxMonoidal.μ (pullback g) (mk f) (mk f)) ((pullback g).map MonObj.mul)
theorem CategoryTheory.Over.monObjMkPullbackSnd_one {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R S : C} {f : R ⟶ X} {g : S ⟶ X} [MonObj (mk f)] :
instance CategoryTheory.Over.isCommMonObj_mk_pullbackSnd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R S : C} {f : R ⟶ X} {g : S ⟶ X} [MonObj (mk f)] [IsCommMonObj (mk f)] :
IsCommMonObj (mk (Limits.pullback.snd f g))
@[reducible, inline]
noncomputable abbrev CategoryTheory.Over.grpObjMkPullbackSnd {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R S : C} {f : R ⟶ X} {g : S ⟶ X} [GrpObj (mk f)] :
GrpObj (mk (Limits.pullback.snd f g))
The pullback of a monoid object is a monoid object.
Equations
- CategoryTheory.Over.grpObjMkPullbackSnd = ((CategoryTheory.Over.pullback g).mapGrp.obj { X := CategoryTheory.Over.mk f, grp := inst✝ }).grp
Instances For
theorem CategoryTheory.Over.grpObjMkPullbackSnd_mul {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R S : C} {f : R ⟶ X} {g : S ⟶ X} [GrpObj (mk f)] :
MonObj.mul = CategoryStruct.comp (Functor.LaxMonoidal.μ (pullback g) (mk f) (mk f)) ((pullback g).map MonObj.mul)
theorem CategoryTheory.Over.grpObjMkPullbackSnd_one {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R S : C} {f : R ⟶ X} {g : S ⟶ X} [GrpObj (mk f)] :
instance CategoryTheory.Over.isMonHom_pullbackFst_id_right {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasPullbacks C] {X R : C} {f : R ⟶ X} [MonObj (mk f)] :
IsMonHom (homMk (Limits.pullback.fst f (CategoryStruct.id X)) ⋯)