Documentation

Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback

Pullbacks and pushouts in a monoidal category #

For numerous simp lemmas of the form f ≫ g = h, we add accompanying simp lemmas of the form Q ◁ f ≫ Q ◁ g = Q ◁ h and f ▷ Q ≫ g ▷ Q = h ▷ Q. This file and Mathlib.CategoryTheory.Monoidal.Limits.HasLimits are needed to define a monoidal category structure in Mathlib.CategoryTheory.Monoidal.Arrow.

TODO #

An attribute should be developed to automatically generate lemmas of this form.

@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inl_desc {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {W : C} (h : X W) (k : Y W) (w : CategoryStruct.comp f h = CategoryStruct.comp g k) {Q : C} :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inl_desc_assoc {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {W : C} (h : X W) (k : Y W) (w : CategoryStruct.comp f h = CategoryStruct.comp g k) {Q Z✝ : C} (h✝ : tensorObj Q W Z✝) :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inr_desc {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {W : C} (h : X W) (k : Y W) (w : CategoryStruct.comp f h = CategoryStruct.comp g k) {Q : C} :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inr_desc_assoc {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {W : C} (h : X W) (k : Y W) (w : CategoryStruct.comp f h = CategoryStruct.comp g k) {Q Z✝ : C} (h✝ : tensorObj Q W Z✝) :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.inl_desc_whiskerRight {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {W : C} (h : X W) (k : Y W) (w : CategoryStruct.comp f h = CategoryStruct.comp g k) {Q : C} :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.inl_desc_whiskerRight_assoc {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {W : C} (h : X W) (k : Y W) (w : CategoryStruct.comp f h = CategoryStruct.comp g k) {Q Z✝ : C} (h✝ : tensorObj W Q Z✝) :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.inr_desc_whiskerRight {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {W : C} (h : X W) (k : Y W) (w : CategoryStruct.comp f h = CategoryStruct.comp g k) {Q : C} :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.inr_desc_whiskerRight_assoc {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {W : C} (h : X W) (k : Y W) (w : CategoryStruct.comp f h = CategoryStruct.comp g k) {Q Z✝ : C} (h✝ : tensorObj W Q Z✝) :
theorem CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_w {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {Q : C} :
theorem CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_w_assoc {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {Q Z✝ : C} (h : tensorObj Q P Z✝) :
theorem CategoryTheory.MonoidalCategory.IsPushout.w_whiskerRight {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {Q : C} :
theorem CategoryTheory.MonoidalCategory.IsPushout.w_whiskerRight_assoc {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) {Q Z✝ : C} (h : tensorObj P Q Z✝) :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inl_isoPushout_inv {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) [Limits.HasPushout f g] {Q : C} :
@[simp]
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inr_isoPushout_inv {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) [Limits.HasPushout f g] {Q : C} :
@[simp]
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inl_isoPushout_hom {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) [Limits.HasPushout f g] {Q : C} :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inr_isoPushout_hom {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) [Limits.HasPushout f g] {Q : C} :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.inl_isoPushout_inv_whiskerRight {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) [Limits.HasPushout f g] {Q : C} :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.inr_isoPushout_inv_whiskerRight {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) [Limits.HasPushout f g] {Q : C} :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.inl_isoPushout_hom_whiskerRight {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) [Limits.HasPushout f g] {Q : C} :
@[simp]
theorem CategoryTheory.MonoidalCategory.IsPushout.inr_isoPushout_hom_whiskerRight {C : Type u} [Category.{v, u} C] [MonoidalCategory C] {Z X Y P : C} {f : Z X} {g : Z Y} {inl : X P} {inr : Y P} (hP : IsPushout f g inl inr) [Limits.HasPushout f g] {Q : C} :