Loogle!
Result
Found 400 declarations mentioning CategoryTheory.Functor.whiskerLeft. Of these, only the first 200 are shown.
- CategoryTheory.Functor.whiskerLeft 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (α : G ⟶ H) : F.comp G ⟶ F.comp H - CategoryTheory.Functor.whiskerLeft_id 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} : F.whiskerLeft (CategoryTheory.NatTrans.id G) = CategoryTheory.NatTrans.id (F.comp G) - CategoryTheory.Functor.isIso_whiskerLeft 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (α : G ⟶ H) [CategoryTheory.IsIso α] : CategoryTheory.IsIso (F.whiskerLeft α) - CategoryTheory.Functor.whiskerLeft_id' 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} : F.whiskerLeft (CategoryTheory.CategoryStruct.id G) = CategoryTheory.CategoryStruct.id (F.comp G) - CategoryTheory.Functor.id_hcomp 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (α : G ⟶ H) : CategoryTheory.CategoryStruct.id F ◫ α = F.whiskerLeft α - CategoryTheory.Functor.whiskerLeft_app 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (α : G ⟶ H) (X : C) : (F.whiskerLeft α).app X = α.app (F.obj X) - CategoryTheory.Functor.isoWhiskerLeft_hom 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (α : G ≅ H) : (F.isoWhiskerLeft α).hom = F.whiskerLeft α.hom - CategoryTheory.Functor.isoWhiskerLeft_inv 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (α : G ≅ H) : (F.isoWhiskerLeft α).inv = F.whiskerLeft α.inv - CategoryTheory.Functor.inv_whiskerLeft 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (α : G ⟶ H) [CategoryTheory.IsIso α] : CategoryTheory.inv (F.whiskerLeft α) = F.whiskerLeft (CategoryTheory.inv α) - CategoryTheory.Functor.whiskeringLeft_obj_map 📋 Mathlib.CategoryTheory.Whiskering
(C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] (D : Type u₂) [CategoryTheory.Category.{v₂, u₂} D] (E : Type u₃) [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {X✝ Y✝ : CategoryTheory.Functor D E} (α : X✝ ⟶ Y✝) : ((CategoryTheory.Functor.whiskeringLeft C D E).obj F).map α = F.whiskerLeft α - CategoryTheory.Functor.NatTrans.hcomp_eq_whiskerLeft_comp_whiskerRight 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : CategoryTheory.Functor C D} {H K : CategoryTheory.Functor D E} (α : F ⟶ G) (β : H ⟶ K) : α ◫ β = CategoryTheory.CategoryStruct.comp (F.whiskerLeft β) (CategoryTheory.Functor.whiskerRight α K) - CategoryTheory.Functor.NatTrans.hcomp_eq_whiskerRight_comp_whiskerLeft 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : CategoryTheory.Functor C D} {H K : CategoryTheory.Functor D E} (α : G ⟶ F) (β : K ⟶ H) : α ◫ β = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α K) (F.whiskerLeft β) - CategoryTheory.Functor.whiskerLeft_comp 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H K : CategoryTheory.Functor D E} (α : G ⟶ H) (β : H ⟶ K) : F.whiskerLeft (CategoryTheory.CategoryStruct.comp α β) = CategoryTheory.CategoryStruct.comp (F.whiskerLeft α) (F.whiskerLeft β) - CategoryTheory.Functor.whiskerLeft_comp_whiskerRight 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : CategoryTheory.Functor C D} {H K : CategoryTheory.Functor D E} (α : F ⟶ G) (β : H ⟶ K) : CategoryTheory.CategoryStruct.comp (F.whiskerLeft β) (CategoryTheory.Functor.whiskerRight α K) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α H) (G.whiskerLeft β) - CategoryTheory.Functor.triangle 📋 Mathlib.CategoryTheory.Whiskering
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor B C) : CategoryTheory.CategoryStruct.comp (F.associator (CategoryTheory.Functor.id B) G).hom (F.whiskerLeft G.leftUnitor.hom) = CategoryTheory.Functor.whiskerRight F.rightUnitor.hom G - CategoryTheory.Functor.whiskerLeft_comp_assoc 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H K : CategoryTheory.Functor D E} (α : G ⟶ H) (β : H ⟶ K) {Z : CategoryTheory.Functor C E} (h : F.comp K ⟶ Z) : CategoryTheory.CategoryStruct.comp (F.whiskerLeft (CategoryTheory.CategoryStruct.comp α β)) h = CategoryTheory.CategoryStruct.comp (F.whiskerLeft α) (CategoryTheory.CategoryStruct.comp (F.whiskerLeft β) h) - CategoryTheory.Functor.whiskerLeft_comp_whiskerRight_assoc 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : CategoryTheory.Functor C D} {H K : CategoryTheory.Functor D E} (α : F ⟶ G) (β : H ⟶ K) {Z : CategoryTheory.Functor C E} (h : G.comp K ⟶ Z) : CategoryTheory.CategoryStruct.comp (F.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α K) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α H) (CategoryTheory.CategoryStruct.comp (G.whiskerLeft β) h) - CategoryTheory.Functor.whiskerLeft_twice 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) {H K : CategoryTheory.Functor D E} (α : H ⟶ K) : F.whiskerLeft (G.whiskerLeft α) = CategoryTheory.CategoryStruct.comp (F.associator G H).inv (CategoryTheory.CategoryStruct.comp ((F.comp G).whiskerLeft α) (F.associator G K).hom) - CategoryTheory.Functor.whiskerRight_left 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (F : CategoryTheory.Functor B C) {G H : CategoryTheory.Functor C D} (α : G ⟶ H) (K : CategoryTheory.Functor D E) : CategoryTheory.Functor.whiskerRight (F.whiskerLeft α) K = CategoryTheory.CategoryStruct.comp (F.associator G K).hom (CategoryTheory.CategoryStruct.comp (F.whiskerLeft (CategoryTheory.Functor.whiskerRight α K)) (F.associator H K).inv) - CategoryTheory.Functor.whiskeringLeft_map_app_app 📋 Mathlib.CategoryTheory.Whiskering
(C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] (D : Type u₂) [CategoryTheory.Category.{v₂, u₂} D] (E : Type u₃) [CategoryTheory.Category.{v₃, u₃} E] {X✝ Y✝ : CategoryTheory.Functor C D} (τ : X✝ ⟶ Y✝) (H : CategoryTheory.Functor D E) (c : C) : (((CategoryTheory.Functor.whiskeringLeft C D E).map τ).app H).app c = H.map (τ.app c) - CategoryTheory.Functor.pentagon 📋 Mathlib.CategoryTheory.Whiskering
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {E : Type u₅} [CategoryTheory.Category.{v₅, u₅} E] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor B C) (H : CategoryTheory.Functor C D) (K : CategoryTheory.Functor D E) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (F.associator G H).hom K) (CategoryTheory.CategoryStruct.comp (F.associator (G.comp H) K).hom (F.whiskerLeft (G.associator H K).hom)) = CategoryTheory.CategoryStruct.comp ((F.comp G).associator H K).hom (F.associator G (H.comp K)).hom - CategoryTheory.Functor.whiskeringLeft₃ObjObjMap_app 📋 Mathlib.CategoryTheory.Whiskering
{C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_4} {D₂ : Type u_5} {D₃ : Type u_6} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} C₃] [CategoryTheory.Category.{v_4, u_4} D₁] [CategoryTheory.Category.{v_5, u_5} D₂] [CategoryTheory.Category.{v_6, u_6} D₃] (E : Type u_7) [CategoryTheory.Category.{v_7, u_7} E] (F₁ : CategoryTheory.Functor C₁ D₁) (F₂ : CategoryTheory.Functor C₂ D₂) {F₃ F₃' : CategoryTheory.Functor C₃ D₃} (τ₃ : F₃ ⟶ F₃') (F : CategoryTheory.Functor D₁ (CategoryTheory.Functor D₂ (CategoryTheory.Functor D₃ E))) : (CategoryTheory.Functor.whiskeringLeft₃ObjObjMap E F₁ F₂ τ₃).app F = F₁.whiskerLeft (F.whiskerLeft (((CategoryTheory.Functor.whiskeringLeft₂ E).obj F₂).map τ₃)) - CategoryTheory.Functor.whiskeringLeft₃Map_app_app 📋 Mathlib.CategoryTheory.Whiskering
{C₁ : Type u_1} (C₂ : Type u_2) (C₃ : Type u_3) {D₁ : Type u_4} (D₂ : Type u_5) (D₃ : Type u_6) [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} C₃] [CategoryTheory.Category.{v_4, u_4} D₁] [CategoryTheory.Category.{v_5, u_5} D₂] [CategoryTheory.Category.{v_6, u_6} D₃] (E : Type u_7) [CategoryTheory.Category.{v_7, u_7} E] {F₁ F₁' : CategoryTheory.Functor C₁ D₁} (τ₁ : F₁ ⟶ F₁') (F₂ : CategoryTheory.Functor C₂ D₂) (F₃ : CategoryTheory.Functor C₃ D₃) : ((CategoryTheory.Functor.whiskeringLeft₃Map C₂ C₃ D₂ D₃ E τ₁).app F₂).app F₃ = ((CategoryTheory.Functor.whiskeringRight D₁ (CategoryTheory.Functor D₂ (CategoryTheory.Functor D₃ E)) (CategoryTheory.Functor C₂ (CategoryTheory.Functor C₃ E))).obj (((CategoryTheory.Functor.whiskeringLeft₂ E).obj F₂).obj F₃)).whiskerLeft ((CategoryTheory.Functor.whiskeringLeft C₁ D₁ (CategoryTheory.Functor C₂ (CategoryTheory.Functor C₃ E))).map τ₁) - CategoryTheory.Equivalence.congrRight_counitIso_hom_app 📋 Mathlib.CategoryTheory.Equivalence
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (e : C ≌ D) (X : CategoryTheory.Functor E D) : e.congrRight.counitIso.hom.app X = CategoryTheory.CategoryStruct.comp (X.associator e.inverse e.functor).hom (CategoryTheory.CategoryStruct.comp (X.whiskerLeft e.counitIso.hom) X.rightUnitor.hom) - CategoryTheory.Equivalence.congrRight_unitIso_inv_app 📋 Mathlib.CategoryTheory.Equivalence
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (e : C ≌ D) (X : CategoryTheory.Functor E C) : e.congrRight.unitIso.inv.app X = CategoryTheory.CategoryStruct.comp (X.associator e.functor e.inverse).inv (CategoryTheory.CategoryStruct.comp (X.whiskerLeft e.unitIso.inv) X.rightUnitor.hom) - CategoryTheory.Equivalence.congrRight_counitIso_inv_app 📋 Mathlib.CategoryTheory.Equivalence
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (e : C ≌ D) (X : CategoryTheory.Functor E D) : e.congrRight.counitIso.inv.app X = CategoryTheory.CategoryStruct.comp X.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (X.whiskerLeft e.counitIso.inv) (X.associator e.inverse e.functor).inv) - CategoryTheory.Equivalence.congrRight_unitIso_hom_app 📋 Mathlib.CategoryTheory.Equivalence
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (e : C ≌ D) (X : CategoryTheory.Functor E C) : e.congrRight.unitIso.hom.app X = CategoryTheory.CategoryStruct.comp X.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (X.whiskerLeft e.unitIso.hom) (X.associator e.functor e.inverse).hom) - CategoryTheory.NatTrans.leftOpWhiskerRight 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor C Dᵒᵖ} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] {H : CategoryTheory.Functor E C} (α : F ⟶ G) : CategoryTheory.NatTrans.leftOp (H.whiskerLeft α) = CategoryTheory.CategoryStruct.comp (H.leftOpComp G).hom (CategoryTheory.CategoryStruct.comp (H.op.whiskerLeft (CategoryTheory.NatTrans.leftOp α)) (H.leftOpComp F).inv) - CategoryTheory.NatTrans.unop_whiskerLeft 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor Cᵒᵖ Dᵒᵖ} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] {H : CategoryTheory.Functor Eᵒᵖ Cᵒᵖ} (α : F ⟶ G) : CategoryTheory.NatTrans.unop (H.whiskerLeft α) = CategoryTheory.CategoryStruct.comp (H.unopComp G).hom (CategoryTheory.CategoryStruct.comp (H.unop.whiskerLeft (CategoryTheory.NatTrans.unop α)) (H.unopComp F).inv) - CategoryTheory.NatTrans.op_whiskerLeft 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor C D} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] {H : CategoryTheory.Functor E C} (α : F ⟶ G) : CategoryTheory.NatTrans.op (H.whiskerLeft α) = CategoryTheory.CategoryStruct.comp (H.opComp G).hom (CategoryTheory.CategoryStruct.comp (H.op.whiskerLeft (CategoryTheory.NatTrans.op α)) (H.opComp F).inv) - CategoryTheory.NatTrans.unop_whiskerLeft_assoc 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor Cᵒᵖ Dᵒᵖ} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] {H : CategoryTheory.Functor Eᵒᵖ Cᵒᵖ} (α : F ⟶ G) {Z : CategoryTheory.Functor E D} (h : (H.comp F).unop ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.NatTrans.unop (H.whiskerLeft α)) h = CategoryTheory.CategoryStruct.comp (H.unopComp G).hom (CategoryTheory.CategoryStruct.comp (H.unop.whiskerLeft (CategoryTheory.NatTrans.unop α)) (CategoryTheory.CategoryStruct.comp (H.unopComp F).inv h)) - CategoryTheory.NatTrans.leftOpWhiskerRight_assoc 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor C Dᵒᵖ} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] {H : CategoryTheory.Functor E C} (α : F ⟶ G) {Z : CategoryTheory.Functor Eᵒᵖ D} (h : (H.comp F).leftOp ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.NatTrans.leftOp (H.whiskerLeft α)) h = CategoryTheory.CategoryStruct.comp (H.leftOpComp G).hom (CategoryTheory.CategoryStruct.comp (H.op.whiskerLeft (CategoryTheory.NatTrans.leftOp α)) (CategoryTheory.CategoryStruct.comp (H.leftOpComp F).inv h)) - CategoryTheory.NatTrans.op_whiskerLeft_assoc 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor C D} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] {H : CategoryTheory.Functor E C} (α : F ⟶ G) {Z : CategoryTheory.Functor Eᵒᵖ Dᵒᵖ} (h : (H.comp F).op ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.NatTrans.op (H.whiskerLeft α)) h = CategoryTheory.CategoryStruct.comp (H.opComp G).hom (CategoryTheory.CategoryStruct.comp (H.op.whiskerLeft (CategoryTheory.NatTrans.op α)) (CategoryTheory.CategoryStruct.comp (H.opComp F).inv h)) - CategoryTheory.Adjunction.ofNatIsoLeft_counit 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor C D} {H : CategoryTheory.Functor D C} (adj : F ⊣ H) (iso : F ≅ G) : (adj.ofNatIsoLeft iso).counit = CategoryTheory.CategoryStruct.comp (H.whiskerLeft iso.inv) adj.counit - CategoryTheory.Adjunction.ofNatIsoRight_unit 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor C D} {H : CategoryTheory.Functor D C} (adj : H ⊣ F) (iso : F ≅ G) : (adj.ofNatIsoRight iso).unit = CategoryTheory.CategoryStruct.comp adj.unit (H.whiskerLeft iso.hom) - CategoryTheory.Adjunction.CoreUnitCounit.left_triangle 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (self : CategoryTheory.Adjunction.CoreUnitCounit F G) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight self.unit F) (CategoryTheory.CategoryStruct.comp (F.associator G F).hom (F.whiskerLeft self.counit)) = CategoryTheory.NatTrans.id ((CategoryTheory.Functor.id C).comp F) - CategoryTheory.Adjunction.CoreUnitCounit.right_triangle 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (self : CategoryTheory.Adjunction.CoreUnitCounit F G) : CategoryTheory.CategoryStruct.comp (G.whiskerLeft self.unit) (CategoryTheory.CategoryStruct.comp (G.associator F G).inv (CategoryTheory.Functor.whiskerRight self.counit G)) = CategoryTheory.NatTrans.id (G.comp (CategoryTheory.Functor.id C)) - CategoryTheory.Adjunction.left_triangle 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F ⊣ G) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight adj.unit F) (CategoryTheory.CategoryStruct.comp (F.associator G F).hom (F.whiskerLeft adj.counit)) = CategoryTheory.CategoryStruct.comp F.leftUnitor.hom F.rightUnitor.inv - CategoryTheory.Adjunction.right_triangle 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F ⊣ G) : CategoryTheory.CategoryStruct.comp (G.whiskerLeft adj.unit) (CategoryTheory.CategoryStruct.comp (G.associator F G).inv (CategoryTheory.Functor.whiskerRight adj.counit G)) = CategoryTheory.CategoryStruct.comp G.rightUnitor.hom G.leftUnitor.inv - CategoryTheory.Adjunction.CoreUnitCounit.mk 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (unit : CategoryTheory.Functor.id C ⟶ F.comp G) (counit : G.comp F ⟶ CategoryTheory.Functor.id D) (left_triangle : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight unit F) (CategoryTheory.CategoryStruct.comp (F.associator G F).hom (F.whiskerLeft counit)) = CategoryTheory.NatTrans.id ((CategoryTheory.Functor.id C).comp F) := by cat_disch) (right_triangle : CategoryTheory.CategoryStruct.comp (G.whiskerLeft unit) (CategoryTheory.CategoryStruct.comp (G.associator F G).inv (CategoryTheory.Functor.whiskerRight counit G)) = CategoryTheory.NatTrans.id (G.comp (CategoryTheory.Functor.id C)) := by cat_disch) : CategoryTheory.Adjunction.CoreUnitCounit F G - CategoryTheory.Adjunction.comp_counit 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} {H : CategoryTheory.Functor D E} {I : CategoryTheory.Functor E D} (adj₁ : F ⊣ G) (adj₂ : H ⊣ I) : (adj₁.comp adj₂).counit = CategoryTheory.CategoryStruct.comp ((I.comp G).associator F H).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (I.associator G F).hom H) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (I.whiskerLeft adj₁.counit) H) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight I.rightUnitor.hom H) adj₂.counit))) - CategoryTheory.Adjunction.comp_unit 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} {H : CategoryTheory.Functor D E} {I : CategoryTheory.Functor E D} (adj₁ : F ⊣ G) (adj₂ : H ⊣ I) : (adj₁.comp adj₂).unit = CategoryTheory.CategoryStruct.comp adj₁.unit (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.rightUnitor.inv G) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (F.whiskerLeft adj₂.unit) G) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (F.associator H I).inv G) ((F.comp H).associator I G).hom))) - CategoryTheory.Limits.Cocone.whisker_ι 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor J C} (E : CategoryTheory.Functor K J) (c : CategoryTheory.Limits.Cocone F) : (CategoryTheory.Limits.Cocone.whisker E c).ι = E.whiskerLeft c.ι - CategoryTheory.Limits.Cone.whisker_π 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor J C} (E : CategoryTheory.Functor K J) (c : CategoryTheory.Limits.Cone F) : (CategoryTheory.Limits.Cone.whisker E c).π = E.whiskerLeft c.π - CategoryTheory.Functor.postcomposeWhiskerLeftMapCone 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') (c : CategoryTheory.Limits.Cone F) : (CategoryTheory.Limits.Cone.postcompose (F.whiskerLeft α.hom)).obj (H.mapCone c) ≅ H'.mapCone c - CategoryTheory.Functor.precomposeWhiskerLeftMapCocone 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') (c : CategoryTheory.Limits.Cocone F) : (CategoryTheory.Limits.Cocone.precompose (F.whiskerLeft α.inv)).obj (H.mapCocone c) ≅ H'.mapCocone c - CategoryTheory.Functor.functorialityCompPostcompose 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') : (CategoryTheory.Limits.Cone.functoriality F H).comp (CategoryTheory.Limits.Cone.postcompose (F.whiskerLeft α.hom)) ≅ CategoryTheory.Limits.Cone.functoriality F H' - CategoryTheory.Functor.functorialityCompPrecompose 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') : (CategoryTheory.Limits.Cocone.functoriality F H).comp (CategoryTheory.Limits.Cocone.precompose (F.whiskerLeft α.inv)) ≅ CategoryTheory.Limits.Cocone.functoriality F H' - CategoryTheory.Functor.postcomposeWhiskerLeftMapCone_hom_hom 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') (c : CategoryTheory.Limits.Cone F) : (CategoryTheory.Functor.postcomposeWhiskerLeftMapCone α c).hom.hom = α.hom.app c.pt - CategoryTheory.Functor.postcomposeWhiskerLeftMapCone_inv_hom 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') (c : CategoryTheory.Limits.Cone F) : (CategoryTheory.Functor.postcomposeWhiskerLeftMapCone α c).inv.hom = α.inv.app c.pt - CategoryTheory.Functor.precomposeWhiskerLeftMapCocone_hom_hom 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') (c : CategoryTheory.Limits.Cocone F) : (CategoryTheory.Functor.precomposeWhiskerLeftMapCocone α c).hom.hom = α.hom.app c.pt - CategoryTheory.Functor.precomposeWhiskerLeftMapCocone_inv_hom 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') (c : CategoryTheory.Limits.Cocone F) : (CategoryTheory.Functor.precomposeWhiskerLeftMapCocone α c).inv.hom = α.inv.app c.pt - CategoryTheory.Functor.functorialityCompPostcompose_hom_app_hom 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') (X : CategoryTheory.Limits.Cone F) : ((CategoryTheory.Functor.functorialityCompPostcompose α).hom.app X).hom = α.hom.app X.pt - CategoryTheory.Functor.functorialityCompPostcompose_inv_app_hom 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') (X : CategoryTheory.Limits.Cone F) : ((CategoryTheory.Functor.functorialityCompPostcompose α).inv.app X).hom = α.inv.app X.pt - CategoryTheory.Functor.functorialityCompPrecompose_hom_app_hom 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') (X : CategoryTheory.Limits.Cocone F) : ((CategoryTheory.Functor.functorialityCompPrecompose α).hom.app X).hom = α.hom.app X.pt - CategoryTheory.Functor.functorialityCompPrecompose_inv_app_hom 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] {F : CategoryTheory.Functor J C} {H H' : CategoryTheory.Functor C D} (α : H ≅ H') (X : CategoryTheory.Limits.Cocone F) : ((CategoryTheory.Functor.functorialityCompPrecompose α).inv.app X).hom = α.inv.app X.pt - CategoryTheory.Cat.whiskerLeft_toNatTrans 📋 Mathlib.CategoryTheory.Category.Cat
{C D E : CategoryTheory.Cat} (F : C ⟶ D) {G H : D ⟶ E} (η : G ⟶ H) : (CategoryTheory.Bicategory.whiskerLeft F η).toNatTrans = F.toFunctor.whiskerLeft η.toNatTrans - CategoryTheory.Limits.colimit.pre_map 📋 Mathlib.CategoryTheory.Limits.HasLimits
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor J C} [CategoryTheory.Limits.HasColimitsOfShape J C] {G : CategoryTheory.Functor J C} (α : F ⟶ G) [CategoryTheory.Limits.HasColimitsOfShape K C] (E : CategoryTheory.Functor K J) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.pre F E) (CategoryTheory.Limits.colim.map α) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colim.map (E.whiskerLeft α)) (CategoryTheory.Limits.colimit.pre G E) - CategoryTheory.Limits.limit.map_pre 📋 Mathlib.CategoryTheory.Limits.HasLimits
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor J C} [CategoryTheory.Limits.HasLimitsOfShape J C] {G : CategoryTheory.Functor J C} (α : F ⟶ G) [CategoryTheory.Limits.HasLimitsOfShape K C] (E : CategoryTheory.Functor K J) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.lim.map α) (CategoryTheory.Limits.limit.pre G E) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.pre F E) (CategoryTheory.Limits.lim.map (E.whiskerLeft α)) - CategoryTheory.Limits.piEquivalenceFunctorDiscreteCompLim_comp_functorπ 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{α : Type w₂} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasProductsOfShape α C] (a : α) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.piEquivalenceFunctorDiscreteCompLim α).hom (CategoryTheory.Limits.Pi.functorπ a) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.piEquivalenceFunctorDiscrete α C).functor.whiskerLeft (CategoryTheory.Limits.lim.π { as := a })) (CategoryTheory.piEquivalenceFunctorDiscreteCompEvaluationIso C a).hom - CategoryTheory.Limits.piEquivalenceFunctorDiscreteCompColim_comp_functorι 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{α : Type w₂} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproductsOfShape α C] (a : α) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.piEquivalenceFunctorDiscrete α C).functor.whiskerLeft (CategoryTheory.Limits.colim.ι { as := a })) (CategoryTheory.Limits.piEquivalenceFunctorDiscreteCompColim α).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.piEquivalenceFunctorDiscreteCompEvaluationIso C a).hom (CategoryTheory.Limits.Sigma.functorι a) - CategoryTheory.Limits.piEquivalenceFunctorDiscreteCompLim_comp_functorπ_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{α : Type w₂} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasProductsOfShape α C] (a : α) {Z : CategoryTheory.Functor (α → C) C} (h : CategoryTheory.Pi.eval (fun x => C) a ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.piEquivalenceFunctorDiscreteCompLim α).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Pi.functorπ a) h) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.piEquivalenceFunctorDiscrete α C).functor.whiskerLeft (CategoryTheory.Limits.lim.π { as := a })) (CategoryTheory.CategoryStruct.comp (CategoryTheory.piEquivalenceFunctorDiscreteCompEvaluationIso C a).hom h) - CategoryTheory.Limits.piEquivalenceFunctorDiscreteCompColim_comp_functorι_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{α : Type w₂} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproductsOfShape α C] (a : α) {Z : CategoryTheory.Functor (α → C) C} (h : CategoryTheory.Limits.Sigma.functor α ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.piEquivalenceFunctorDiscrete α C).functor.whiskerLeft (CategoryTheory.Limits.colim.ι { as := a })) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.piEquivalenceFunctorDiscreteCompColim α).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.piEquivalenceFunctorDiscreteCompEvaluationIso C a).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.functorι a) h) - CategoryTheory.CostructuredArrow.map₂Congr 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : F'.comp U ⟶ S.comp G') (β' : G'.obj T ⟶ V) (hα : CategoryTheory.CategoryStruct.comp α (S.whiskerLeft e₂.hom) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom U) α') (hβ : β = CategoryTheory.CategoryStruct.comp (e₂.hom.app T) β') : CategoryTheory.CostructuredArrow.map₂ α β ≅ CategoryTheory.CostructuredArrow.map₂ α' β' - CategoryTheory.StructuredArrow.map₂Congr 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : L' ⟶ G'.obj L) (β' : R.comp G' ⟶ F'.comp R') (hα : α = CategoryTheory.CategoryStruct.comp α' (e₂.inv.app L) := by cat_disch) (hβ : CategoryTheory.CategoryStruct.comp β (CategoryTheory.Functor.whiskerRight e₁.hom R') = CategoryTheory.CategoryStruct.comp (R.whiskerLeft e₂.hom) β' := by cat_disch) : CategoryTheory.StructuredArrow.map₂ α β ≅ CategoryTheory.StructuredArrow.map₂ α' β' - CategoryTheory.CostructuredArrow.map₂CompMap₂Iso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {C' : Type u₆} [CategoryTheory.Category.{v₆, u₆} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {R : CategoryTheory.Functor C' D'} {F' : CategoryTheory.Functor C' C} {G' : CategoryTheory.Functor D' D} {X : D'} (α' : F'.comp S ⟶ R.comp G') (β' : G'.obj X ⟶ T) : (CategoryTheory.CostructuredArrow.map₂ α' β').comp (CategoryTheory.CostructuredArrow.map₂ α β) ≅ CategoryTheory.CostructuredArrow.map₂ (CategoryTheory.CategoryStruct.comp (F'.associator F U).hom (CategoryTheory.CategoryStruct.comp (F'.whiskerLeft α) (CategoryTheory.CategoryStruct.comp (F'.associator S G).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α' G) (R.associator G' G).hom)))) (CategoryTheory.CategoryStruct.comp (G.map β') β) - CategoryTheory.StructuredArrow.map₂CompMap₂Iso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {C' : Type u₆} [CategoryTheory.Category.{v₆, u₆} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {L'' : D'} {R'' : CategoryTheory.Functor C' D'} {F' : CategoryTheory.Functor C' C} {G' : CategoryTheory.Functor D' D} (α' : L ⟶ G'.obj L'') (β' : R''.comp G' ⟶ F'.comp R) : (CategoryTheory.StructuredArrow.map₂ α' β').comp (CategoryTheory.StructuredArrow.map₂ α β) ≅ CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.comp α (G.map α')) (CategoryTheory.CategoryStruct.comp (R''.associator G' G).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G) (CategoryTheory.CategoryStruct.comp (F'.associator R G).hom (CategoryTheory.CategoryStruct.comp (F'.whiskerLeft β) (F'.associator F R').inv)))) - CategoryTheory.CostructuredArrow.map₂Congr_hom_app_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : F'.comp U ⟶ S.comp G') (β' : G'.obj T ⟶ V) (hα : CategoryTheory.CategoryStruct.comp α (S.whiskerLeft e₂.hom) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom U) α') (hβ : β = CategoryTheory.CategoryStruct.comp (e₂.hom.app T) β') (X : CategoryTheory.CostructuredArrow S T) : ((CategoryTheory.CostructuredArrow.map₂Congr α β e₁ e₂ α' β' hα hβ).hom.app X).left = e₁.hom.app X.left - CategoryTheory.CostructuredArrow.map₂Congr_inv_app_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : F'.comp U ⟶ S.comp G') (β' : G'.obj T ⟶ V) (hα : CategoryTheory.CategoryStruct.comp α (S.whiskerLeft e₂.hom) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom U) α') (hβ : β = CategoryTheory.CategoryStruct.comp (e₂.hom.app T) β') (X : CategoryTheory.CostructuredArrow S T) : ((CategoryTheory.CostructuredArrow.map₂Congr α β e₁ e₂ α' β' hα hβ).inv.app X).left = e₁.inv.app X.left - CategoryTheory.StructuredArrow.map₂Congr_hom_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : L' ⟶ G'.obj L) (β' : R.comp G' ⟶ F'.comp R') (hα : α = CategoryTheory.CategoryStruct.comp α' (e₂.inv.app L) := by cat_disch) (hβ : CategoryTheory.CategoryStruct.comp β (CategoryTheory.Functor.whiskerRight e₁.hom R') = CategoryTheory.CategoryStruct.comp (R.whiskerLeft e₂.hom) β' := by cat_disch) (X : CategoryTheory.StructuredArrow L R) : ((CategoryTheory.StructuredArrow.map₂Congr α β e₁ e₂ α' β' hα hβ).hom.app X).right = e₁.hom.app X.right - CategoryTheory.StructuredArrow.map₂Congr_inv_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : L' ⟶ G'.obj L) (β' : R.comp G' ⟶ F'.comp R') (hα : α = CategoryTheory.CategoryStruct.comp α' (e₂.inv.app L) := by cat_disch) (hβ : CategoryTheory.CategoryStruct.comp β (CategoryTheory.Functor.whiskerRight e₁.hom R') = CategoryTheory.CategoryStruct.comp (R.whiskerLeft e₂.hom) β' := by cat_disch) (X : CategoryTheory.StructuredArrow L R) : ((CategoryTheory.StructuredArrow.map₂Congr α β e₁ e₂ α' β' hα hβ).inv.app X).right = e₁.inv.app X.right - CategoryTheory.CostructuredArrow.map₂Iso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : C ≌ A} {G : D ≌ B} (α : F.functor.comp U ⟶ S.comp G.functor) (α' : F.inverse.comp S ⟶ U.comp G.inverse) (hα'α : CategoryTheory.CategoryStruct.comp S.leftUnitor.hom (CategoryTheory.CategoryStruct.comp S.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (S.whiskerLeft G.unitIso.hom) (S.associator G.functor G.inverse).inv)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom S) (CategoryTheory.CategoryStruct.comp (F.functor.associator F.inverse S).hom (CategoryTheory.CategoryStruct.comp (F.functor.whiskerLeft α') (CategoryTheory.CategoryStruct.comp (F.functor.associator U G.inverse).inv (CategoryTheory.Functor.whiskerRight α G.inverse))))) (hαα' : CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft α) (CategoryTheory.CategoryStruct.comp (F.inverse.associator S G.functor).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α' G.functor) (CategoryTheory.CategoryStruct.comp (U.associator G.inverse G.functor).hom (U.whiskerLeft G.counitIso.hom)))) = CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor U).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.counitIso.hom U) (CategoryTheory.CategoryStruct.comp U.leftUnitor.hom U.rightUnitor.inv))) (β : G.functor.obj T ⟶ V) (β' : G.inverse.obj V ⟶ T) (hββ' : CategoryTheory.CategoryStruct.comp (G.inverse.map β) β' = G.unitIso.inv.app T) (hβ'β : CategoryTheory.CategoryStruct.comp (G.functor.map β') β = G.counitIso.hom.app V) : CategoryTheory.CostructuredArrow S T ≌ CategoryTheory.CostructuredArrow U V - CategoryTheory.StructuredArrow.map₂Iso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : C ≌ A} {G : D ≌ B} (α : L' ⟶ G.functor.obj L) (α' : L ⟶ G.inverse.obj L') (β : R.comp G.functor ⟶ F.functor.comp R') (β' : R'.comp G.inverse ⟶ F.inverse.comp R) (hαα' : CategoryTheory.CategoryStruct.comp α (G.functor.map α') = G.counitIso.inv.app L') (hα'α : CategoryTheory.CategoryStruct.comp α' (G.inverse.map α) = G.unitIso.hom.app L) (hββ' : CategoryTheory.CategoryStruct.comp R.rightUnitor.hom (CategoryTheory.CategoryStruct.comp R.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom R) (F.functor.associator F.inverse R).hom)) = CategoryTheory.CategoryStruct.comp (R.whiskerLeft G.unitIso.hom) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (F.functor.whiskerLeft β'))))) (hβ'β : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor R').inv (CategoryTheory.Functor.whiskerRight F.counitIso.hom R')))) = CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).hom (CategoryTheory.CategoryStruct.comp (R'.whiskerLeft G.counitIso.hom) (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv))) : CategoryTheory.StructuredArrow L R ≌ CategoryTheory.StructuredArrow L' R' - CategoryTheory.CostructuredArrow.map₂Iso_functor 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : C ≌ A} {G : D ≌ B} (α : F.functor.comp U ⟶ S.comp G.functor) (α' : F.inverse.comp S ⟶ U.comp G.inverse) (hα'α : CategoryTheory.CategoryStruct.comp S.leftUnitor.hom (CategoryTheory.CategoryStruct.comp S.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (S.whiskerLeft G.unitIso.hom) (S.associator G.functor G.inverse).inv)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom S) (CategoryTheory.CategoryStruct.comp (F.functor.associator F.inverse S).hom (CategoryTheory.CategoryStruct.comp (F.functor.whiskerLeft α') (CategoryTheory.CategoryStruct.comp (F.functor.associator U G.inverse).inv (CategoryTheory.Functor.whiskerRight α G.inverse))))) (hαα' : CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft α) (CategoryTheory.CategoryStruct.comp (F.inverse.associator S G.functor).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α' G.functor) (CategoryTheory.CategoryStruct.comp (U.associator G.inverse G.functor).hom (U.whiskerLeft G.counitIso.hom)))) = CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor U).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.counitIso.hom U) (CategoryTheory.CategoryStruct.comp U.leftUnitor.hom U.rightUnitor.inv))) (β : G.functor.obj T ⟶ V) (β' : G.inverse.obj V ⟶ T) (hββ' : CategoryTheory.CategoryStruct.comp (G.inverse.map β) β' = G.unitIso.inv.app T) (hβ'β : CategoryTheory.CategoryStruct.comp (G.functor.map β') β = G.counitIso.hom.app V) : (CategoryTheory.CostructuredArrow.map₂Iso α α' hα'α hαα' β β' hββ' hβ'β).functor = CategoryTheory.CostructuredArrow.map₂ α β - CategoryTheory.CostructuredArrow.map₂Iso_inverse 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : C ≌ A} {G : D ≌ B} (α : F.functor.comp U ⟶ S.comp G.functor) (α' : F.inverse.comp S ⟶ U.comp G.inverse) (hα'α : CategoryTheory.CategoryStruct.comp S.leftUnitor.hom (CategoryTheory.CategoryStruct.comp S.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (S.whiskerLeft G.unitIso.hom) (S.associator G.functor G.inverse).inv)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom S) (CategoryTheory.CategoryStruct.comp (F.functor.associator F.inverse S).hom (CategoryTheory.CategoryStruct.comp (F.functor.whiskerLeft α') (CategoryTheory.CategoryStruct.comp (F.functor.associator U G.inverse).inv (CategoryTheory.Functor.whiskerRight α G.inverse))))) (hαα' : CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft α) (CategoryTheory.CategoryStruct.comp (F.inverse.associator S G.functor).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α' G.functor) (CategoryTheory.CategoryStruct.comp (U.associator G.inverse G.functor).hom (U.whiskerLeft G.counitIso.hom)))) = CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor U).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.counitIso.hom U) (CategoryTheory.CategoryStruct.comp U.leftUnitor.hom U.rightUnitor.inv))) (β : G.functor.obj T ⟶ V) (β' : G.inverse.obj V ⟶ T) (hββ' : CategoryTheory.CategoryStruct.comp (G.inverse.map β) β' = G.unitIso.inv.app T) (hβ'β : CategoryTheory.CategoryStruct.comp (G.functor.map β') β = G.counitIso.hom.app V) : (CategoryTheory.CostructuredArrow.map₂Iso α α' hα'α hαα' β β' hββ' hβ'β).inverse = CategoryTheory.CostructuredArrow.map₂ α' β' - CategoryTheory.StructuredArrow.map₂Iso_functor 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : C ≌ A} {G : D ≌ B} (α : L' ⟶ G.functor.obj L) (α' : L ⟶ G.inverse.obj L') (β : R.comp G.functor ⟶ F.functor.comp R') (β' : R'.comp G.inverse ⟶ F.inverse.comp R) (hαα' : CategoryTheory.CategoryStruct.comp α (G.functor.map α') = G.counitIso.inv.app L') (hα'α : CategoryTheory.CategoryStruct.comp α' (G.inverse.map α) = G.unitIso.hom.app L) (hββ' : CategoryTheory.CategoryStruct.comp R.rightUnitor.hom (CategoryTheory.CategoryStruct.comp R.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom R) (F.functor.associator F.inverse R).hom)) = CategoryTheory.CategoryStruct.comp (R.whiskerLeft G.unitIso.hom) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (F.functor.whiskerLeft β'))))) (hβ'β : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor R').inv (CategoryTheory.Functor.whiskerRight F.counitIso.hom R')))) = CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).hom (CategoryTheory.CategoryStruct.comp (R'.whiskerLeft G.counitIso.hom) (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv))) : (CategoryTheory.StructuredArrow.map₂Iso α α' β β' hαα' hα'α hββ' hβ'β).functor = CategoryTheory.StructuredArrow.map₂ α β - CategoryTheory.StructuredArrow.map₂Iso_inverse 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : C ≌ A} {G : D ≌ B} (α : L' ⟶ G.functor.obj L) (α' : L ⟶ G.inverse.obj L') (β : R.comp G.functor ⟶ F.functor.comp R') (β' : R'.comp G.inverse ⟶ F.inverse.comp R) (hαα' : CategoryTheory.CategoryStruct.comp α (G.functor.map α') = G.counitIso.inv.app L') (hα'α : CategoryTheory.CategoryStruct.comp α' (G.inverse.map α) = G.unitIso.hom.app L) (hββ' : CategoryTheory.CategoryStruct.comp R.rightUnitor.hom (CategoryTheory.CategoryStruct.comp R.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom R) (F.functor.associator F.inverse R).hom)) = CategoryTheory.CategoryStruct.comp (R.whiskerLeft G.unitIso.hom) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (F.functor.whiskerLeft β'))))) (hβ'β : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor R').inv (CategoryTheory.Functor.whiskerRight F.counitIso.hom R')))) = CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).hom (CategoryTheory.CategoryStruct.comp (R'.whiskerLeft G.counitIso.hom) (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv))) : (CategoryTheory.StructuredArrow.map₂Iso α α' β β' hαα' hα'α hββ' hβ'β).inverse = CategoryTheory.StructuredArrow.map₂ α' β' - CategoryTheory.CostructuredArrow.map₂CompMap₂Iso_hom_app_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {C' : Type u₆} [CategoryTheory.Category.{v₆, u₆} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {R : CategoryTheory.Functor C' D'} {F' : CategoryTheory.Functor C' C} {G' : CategoryTheory.Functor D' D} {X : D'} (α' : F'.comp S ⟶ R.comp G') (β' : G'.obj X ⟶ T) (X✝ : CategoryTheory.CostructuredArrow R X) : ((CategoryTheory.CostructuredArrow.map₂CompMap₂Iso α β α' β').hom.app X✝).left = CategoryTheory.CategoryStruct.id (F.obj (F'.obj X✝.left)) - CategoryTheory.CostructuredArrow.map₂CompMap₂Iso_inv_app_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {C' : Type u₆} [CategoryTheory.Category.{v₆, u₆} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {R : CategoryTheory.Functor C' D'} {F' : CategoryTheory.Functor C' C} {G' : CategoryTheory.Functor D' D} {X : D'} (α' : F'.comp S ⟶ R.comp G') (β' : G'.obj X ⟶ T) (X✝ : CategoryTheory.CostructuredArrow R X) : ((CategoryTheory.CostructuredArrow.map₂CompMap₂Iso α β α' β').inv.app X✝).left = CategoryTheory.CategoryStruct.id (F.obj (F'.obj X✝.left)) - CategoryTheory.StructuredArrow.map₂CompMap₂Iso_hom_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {C' : Type u₆} [CategoryTheory.Category.{v₆, u₆} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {L'' : D'} {R'' : CategoryTheory.Functor C' D'} {F' : CategoryTheory.Functor C' C} {G' : CategoryTheory.Functor D' D} (α' : L ⟶ G'.obj L'') (β' : R''.comp G' ⟶ F'.comp R) (X : CategoryTheory.StructuredArrow L'' R'') : ((CategoryTheory.StructuredArrow.map₂CompMap₂Iso α β α' β').hom.app X).right = CategoryTheory.CategoryStruct.id (F.obj (F'.obj X.right)) - CategoryTheory.StructuredArrow.map₂CompMap₂Iso_inv_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {C' : Type u₆} [CategoryTheory.Category.{v₆, u₆} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {L'' : D'} {R'' : CategoryTheory.Functor C' D'} {F' : CategoryTheory.Functor C' C} {G' : CategoryTheory.Functor D' D} (α' : L ⟶ G'.obj L'') (β' : R''.comp G' ⟶ F'.comp R) (X : CategoryTheory.StructuredArrow L'' R'') : ((CategoryTheory.StructuredArrow.map₂CompMap₂Iso α β α' β').inv.app X).right = CategoryTheory.CategoryStruct.id (F.obj (F'.obj X.right)) - CategoryTheory.StructuredArrow.map₂Iso_counitIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : C ≌ A} {G : D ≌ B} (α : L' ⟶ G.functor.obj L) (α' : L ⟶ G.inverse.obj L') (β : R.comp G.functor ⟶ F.functor.comp R') (β' : R'.comp G.inverse ⟶ F.inverse.comp R) (hαα' : CategoryTheory.CategoryStruct.comp α (G.functor.map α') = G.counitIso.inv.app L') (hα'α : CategoryTheory.CategoryStruct.comp α' (G.inverse.map α) = G.unitIso.hom.app L) (hββ' : CategoryTheory.CategoryStruct.comp R.rightUnitor.hom (CategoryTheory.CategoryStruct.comp R.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom R) (F.functor.associator F.inverse R).hom)) = CategoryTheory.CategoryStruct.comp (R.whiskerLeft G.unitIso.hom) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (F.functor.whiskerLeft β'))))) (hβ'β : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor R').inv (CategoryTheory.Functor.whiskerRight F.counitIso.hom R')))) = CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).hom (CategoryTheory.CategoryStruct.comp (R'.whiskerLeft G.counitIso.hom) (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv))) : (CategoryTheory.StructuredArrow.map₂Iso α α' β β' hαα' hα'α hββ' hβ'β).counitIso = CategoryTheory.StructuredArrow.map₂CompMap₂Iso α β α' β' ≪≫ CategoryTheory.StructuredArrow.map₂Congr (CategoryTheory.CategoryStruct.comp α (G.functor.map α')) (CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (F.inverse.associator F.functor R').inv)))) F.counitIso G.counitIso (CategoryTheory.CategoryStruct.id L') (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv) ⋯ ⋯ ≪≫ CategoryTheory.StructuredArrow.map₂IdIso L' (CategoryTheory.CategoryStruct.id L') (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv) ⋯ ⋯ - CategoryTheory.CostructuredArrow.map₂Iso_counitIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : C ≌ A} {G : D ≌ B} (α : F.functor.comp U ⟶ S.comp G.functor) (α' : F.inverse.comp S ⟶ U.comp G.inverse) (hα'α : CategoryTheory.CategoryStruct.comp S.leftUnitor.hom (CategoryTheory.CategoryStruct.comp S.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (S.whiskerLeft G.unitIso.hom) (S.associator G.functor G.inverse).inv)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom S) (CategoryTheory.CategoryStruct.comp (F.functor.associator F.inverse S).hom (CategoryTheory.CategoryStruct.comp (F.functor.whiskerLeft α') (CategoryTheory.CategoryStruct.comp (F.functor.associator U G.inverse).inv (CategoryTheory.Functor.whiskerRight α G.inverse))))) (hαα' : CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft α) (CategoryTheory.CategoryStruct.comp (F.inverse.associator S G.functor).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α' G.functor) (CategoryTheory.CategoryStruct.comp (U.associator G.inverse G.functor).hom (U.whiskerLeft G.counitIso.hom)))) = CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor U).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.counitIso.hom U) (CategoryTheory.CategoryStruct.comp U.leftUnitor.hom U.rightUnitor.inv))) (β : G.functor.obj T ⟶ V) (β' : G.inverse.obj V ⟶ T) (hββ' : CategoryTheory.CategoryStruct.comp (G.inverse.map β) β' = G.unitIso.inv.app T) (hβ'β : CategoryTheory.CategoryStruct.comp (G.functor.map β') β = G.counitIso.hom.app V) : (CategoryTheory.CostructuredArrow.map₂Iso α α' hα'α hαα' β β' hββ' hβ'β).counitIso = CategoryTheory.CostructuredArrow.map₂CompMap₂Iso α β α' β' ≪≫ CategoryTheory.CostructuredArrow.map₂Congr (CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor U).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft α) (CategoryTheory.CategoryStruct.comp (F.inverse.associator S G.functor).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α' G.functor) (U.associator G.inverse G.functor).hom)))) (CategoryTheory.CategoryStruct.comp (G.functor.map β') β) F.counitIso G.counitIso (CategoryTheory.CategoryStruct.comp U.leftUnitor.hom U.rightUnitor.inv) (CategoryTheory.CategoryStruct.id ((CategoryTheory.Functor.id B).obj V)) ⋯ ⋯ ≪≫ CategoryTheory.CostructuredArrow.map₂IdIso (CategoryTheory.CategoryStruct.comp U.leftUnitor.hom U.rightUnitor.inv) V (CategoryTheory.CategoryStruct.id ((CategoryTheory.Functor.id B).obj V)) ⋯ ⋯ - CategoryTheory.StructuredArrow.map₂Iso_unitIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : C ≌ A} {G : D ≌ B} (α : L' ⟶ G.functor.obj L) (α' : L ⟶ G.inverse.obj L') (β : R.comp G.functor ⟶ F.functor.comp R') (β' : R'.comp G.inverse ⟶ F.inverse.comp R) (hαα' : CategoryTheory.CategoryStruct.comp α (G.functor.map α') = G.counitIso.inv.app L') (hα'α : CategoryTheory.CategoryStruct.comp α' (G.inverse.map α) = G.unitIso.hom.app L) (hββ' : CategoryTheory.CategoryStruct.comp R.rightUnitor.hom (CategoryTheory.CategoryStruct.comp R.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom R) (F.functor.associator F.inverse R).hom)) = CategoryTheory.CategoryStruct.comp (R.whiskerLeft G.unitIso.hom) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (F.functor.whiskerLeft β'))))) (hβ'β : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor R').inv (CategoryTheory.Functor.whiskerRight F.counitIso.hom R')))) = CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).hom (CategoryTheory.CategoryStruct.comp (R'.whiskerLeft G.counitIso.hom) (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv))) : (CategoryTheory.StructuredArrow.map₂Iso α α' β β' hαα' hα'α hββ' hβ'β).unitIso = (CategoryTheory.StructuredArrow.map₂IdIso L (CategoryTheory.CategoryStruct.id L) (CategoryTheory.CategoryStruct.comp R.rightUnitor.hom R.leftUnitor.inv) ⋯ ⋯).symm ≪≫ CategoryTheory.StructuredArrow.map₂Congr (CategoryTheory.CategoryStruct.id L) (CategoryTheory.CategoryStruct.comp R.rightUnitor.hom R.leftUnitor.inv) F.unitIso G.unitIso (CategoryTheory.CategoryStruct.comp α' (G.inverse.map α)) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (CategoryTheory.CategoryStruct.comp (F.functor.whiskerLeft β') (F.functor.associator F.inverse R).inv)))) ⋯ ⋯ ≪≫ (CategoryTheory.StructuredArrow.map₂CompMap₂Iso α' β' α β).symm - CategoryTheory.CostructuredArrow.map₂Iso_unitIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : C ≌ A} {G : D ≌ B} (α : F.functor.comp U ⟶ S.comp G.functor) (α' : F.inverse.comp S ⟶ U.comp G.inverse) (hα'α : CategoryTheory.CategoryStruct.comp S.leftUnitor.hom (CategoryTheory.CategoryStruct.comp S.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (S.whiskerLeft G.unitIso.hom) (S.associator G.functor G.inverse).inv)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom S) (CategoryTheory.CategoryStruct.comp (F.functor.associator F.inverse S).hom (CategoryTheory.CategoryStruct.comp (F.functor.whiskerLeft α') (CategoryTheory.CategoryStruct.comp (F.functor.associator U G.inverse).inv (CategoryTheory.Functor.whiskerRight α G.inverse))))) (hαα' : CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft α) (CategoryTheory.CategoryStruct.comp (F.inverse.associator S G.functor).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α' G.functor) (CategoryTheory.CategoryStruct.comp (U.associator G.inverse G.functor).hom (U.whiskerLeft G.counitIso.hom)))) = CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor U).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.counitIso.hom U) (CategoryTheory.CategoryStruct.comp U.leftUnitor.hom U.rightUnitor.inv))) (β : G.functor.obj T ⟶ V) (β' : G.inverse.obj V ⟶ T) (hββ' : CategoryTheory.CategoryStruct.comp (G.inverse.map β) β' = G.unitIso.inv.app T) (hβ'β : CategoryTheory.CategoryStruct.comp (G.functor.map β') β = G.counitIso.hom.app V) : (CategoryTheory.CostructuredArrow.map₂Iso α α' hα'α hαα' β β' hββ' hβ'β).unitIso = (CategoryTheory.CostructuredArrow.map₂IdIso (CategoryTheory.CategoryStruct.comp S.leftUnitor.hom S.rightUnitor.inv) T (CategoryTheory.CategoryStruct.id ((CategoryTheory.Functor.id D).obj T)) ⋯ ⋯).symm ≪≫ CategoryTheory.CostructuredArrow.map₂Congr (CategoryTheory.CategoryStruct.comp S.leftUnitor.hom S.rightUnitor.inv) (CategoryTheory.CategoryStruct.id ((CategoryTheory.Functor.id D).obj T)) F.unitIso G.unitIso (CategoryTheory.CategoryStruct.comp (F.functor.associator F.inverse S).hom (CategoryTheory.CategoryStruct.comp (F.functor.whiskerLeft α') (CategoryTheory.CategoryStruct.comp (F.functor.associator U G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α G.inverse) (S.associator G.functor G.inverse).hom)))) (CategoryTheory.CategoryStruct.comp (G.inverse.map β) β') ⋯ ⋯ ≪≫ (CategoryTheory.CostructuredArrow.map₂CompMap₂Iso α' β' α β).symm - CategoryTheory.Limits.isIso_app_coconePt_of_preservesColimit 📋 Mathlib.CategoryTheory.Limits.Preserves.Basic
{C : Type u_1} {D : Type u_2} {J : Type u_3} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_3, u_3} J] (K : CategoryTheory.Functor J C) {L L' : CategoryTheory.Functor C D} (α : L ⟶ L') [CategoryTheory.IsIso (K.whiskerLeft α)] (c : CategoryTheory.Limits.Cocone K) (hc : CategoryTheory.Limits.IsColimit c) [CategoryTheory.Limits.PreservesColimit K L] [CategoryTheory.Limits.PreservesColimit K L'] : CategoryTheory.IsIso (α.app c.pt) - CategoryTheory.ExactFunctor.whiskeringLeft_obj_map 📋 Mathlib.CategoryTheory.Limits.ExactFunctor
(C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] (D : Type u₂) [CategoryTheory.Category.{v₂, u₂} D] (E : Type u₃) [CategoryTheory.Category.{v₃, u₃} E] (F : C ⥤ₑ D) {X✝ Y✝ : D ⥤ₑ E} (f : X✝ ⟶ Y✝) : ((CategoryTheory.ExactFunctor.whiskeringLeft C D E).obj F).map f = CategoryTheory.ObjectProperty.homMk (F.obj.whiskerLeft f.hom) - CategoryTheory.LeftExactFunctor.whiskeringLeft_obj_map 📋 Mathlib.CategoryTheory.Limits.ExactFunctor
(C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] (D : Type u₂) [CategoryTheory.Category.{v₂, u₂} D] (E : Type u₃) [CategoryTheory.Category.{v₃, u₃} E] (F : C ⥤ₗ D) {X✝ Y✝ : D ⥤ₗ E} (f : X✝ ⟶ Y✝) : ((CategoryTheory.LeftExactFunctor.whiskeringLeft C D E).obj F).map f = CategoryTheory.ObjectProperty.homMk (F.obj.whiskerLeft f.hom) - CategoryTheory.RightExactFunctor.whiskeringLeft_obj_map 📋 Mathlib.CategoryTheory.Limits.ExactFunctor
(C : Type u₁) [CategoryTheory.Category.{v₁, u₁} C] (D : Type u₂) [CategoryTheory.Category.{v₂, u₂} D] (E : Type u₃) [CategoryTheory.Category.{v₃, u₃} E] (F : C ⥤ᵣ D) {X✝ Y✝ : D ⥤ᵣ E} (f : X✝ ⟶ Y✝) : ((CategoryTheory.RightExactFunctor.whiskeringLeft C D E).obj F).map f = CategoryTheory.ObjectProperty.homMk (F.obj.whiskerLeft f.hom) - CategoryTheory.Limits.colimitObjIsoColimitCompEvaluation_inv_colimit_map 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] [CategoryTheory.Limits.HasColimitsOfShape J C] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) {i j : K} (f : i ⟶ j) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimitObjIsoColimitCompEvaluation F i).inv ((CategoryTheory.Limits.colimit F).map f) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimMap (F.whiskerLeft ((CategoryTheory.evaluation K C).map f))) (CategoryTheory.Limits.colimitObjIsoColimitCompEvaluation F j).inv - CategoryTheory.Limits.colimit_map_colimitObjIsoColimitCompEvaluation_hom 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] [CategoryTheory.Limits.HasColimitsOfShape J C] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) {i j : K} (f : i ⟶ j) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.colimit F).map f) (CategoryTheory.Limits.colimitObjIsoColimitCompEvaluation F j).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimitObjIsoColimitCompEvaluation F i).hom (CategoryTheory.Limits.colimMap (F.whiskerLeft ((CategoryTheory.evaluation K C).map f))) - CategoryTheory.Limits.limitCompWhiskeringLeftIsoCompLimit_inv_π 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (G : CategoryTheory.Functor D K) [CategoryTheory.Limits.HasLimitsOfShape J C] (j : J) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limitCompWhiskeringLeftIsoCompLimit F G).inv (CategoryTheory.Limits.limit.π (F.comp ((CategoryTheory.Functor.whiskeringLeft D K C).obj G)) j) = G.whiskerLeft (CategoryTheory.Limits.limit.π F j) - CategoryTheory.Limits.ι_colimitCompWhiskeringLeftIsoCompColimit_hom 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (G : CategoryTheory.Functor D K) [CategoryTheory.Limits.HasColimitsOfShape J C] (j : J) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι (F.comp ((CategoryTheory.Functor.whiskeringLeft D K C).obj G)) j) (CategoryTheory.Limits.colimitCompWhiskeringLeftIsoCompColimit F G).hom = G.whiskerLeft (CategoryTheory.Limits.colimit.ι F j) - CategoryTheory.Limits.colimitObjIsoColimitCompEvaluation_inv_colimit_map_assoc 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] [CategoryTheory.Limits.HasColimitsOfShape J C] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) {i j : K} (f : i ⟶ j) {Z : C} (h : (CategoryTheory.Limits.colimit F).obj j ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimitObjIsoColimitCompEvaluation F i).inv (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.colimit F).map f) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimMap (F.whiskerLeft ((CategoryTheory.evaluation K C).map f))) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimitObjIsoColimitCompEvaluation F j).inv h) - CategoryTheory.Limits.colimit_map_colimitObjIsoColimitCompEvaluation_hom_assoc 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] [CategoryTheory.Limits.HasColimitsOfShape J C] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) {i j : K} (f : i ⟶ j) {Z : C} (h : CategoryTheory.Limits.colimit (F.comp ((CategoryTheory.evaluation K C).obj j)) ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.colimit F).map f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimitObjIsoColimitCompEvaluation F j).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimitObjIsoColimitCompEvaluation F i).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimMap (F.whiskerLeft ((CategoryTheory.evaluation K C).map f))) h) - CategoryTheory.Limits.limitCompWhiskeringLeftIsoCompLimit_hom_whiskerLeft_π 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (G : CategoryTheory.Functor D K) [CategoryTheory.Limits.HasLimitsOfShape J C] (j : J) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limitCompWhiskeringLeftIsoCompLimit F G).hom (G.whiskerLeft (CategoryTheory.Limits.limit.π F j)) = CategoryTheory.Limits.limit.π (F.comp ((CategoryTheory.Functor.whiskeringLeft D K C).obj G)) j - CategoryTheory.Limits.whiskerLeft_ι_colimitCompWhiskeringLeftIsoCompColimit_inv 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (G : CategoryTheory.Functor D K) [CategoryTheory.Limits.HasColimitsOfShape J C] (j : J) : CategoryTheory.CategoryStruct.comp (G.whiskerLeft (CategoryTheory.Limits.colimit.ι F j)) (CategoryTheory.Limits.colimitCompWhiskeringLeftIsoCompColimit F G).inv = CategoryTheory.Limits.colimit.ι (F.comp ((CategoryTheory.Functor.whiskeringLeft D K C).obj G)) j - CategoryTheory.Limits.limitCompWhiskeringLeftIsoCompLimit_inv_π_assoc 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (G : CategoryTheory.Functor D K) [CategoryTheory.Limits.HasLimitsOfShape J C] (j : J) {Z : CategoryTheory.Functor D C} (h : ((CategoryTheory.Functor.whiskeringLeft D K C).obj G).obj (F.obj j) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limitCompWhiskeringLeftIsoCompLimit F G).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π (F.comp ((CategoryTheory.Functor.whiskeringLeft D K C).obj G)) j) h) = CategoryTheory.CategoryStruct.comp (G.whiskerLeft (CategoryTheory.Limits.limit.π F j)) h - CategoryTheory.Limits.ι_colimitCompWhiskeringLeftIsoCompColimit_hom_assoc 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (G : CategoryTheory.Functor D K) [CategoryTheory.Limits.HasColimitsOfShape J C] (j : J) {Z : CategoryTheory.Functor D C} (h : G.comp (CategoryTheory.Limits.colimit F) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι (F.comp ((CategoryTheory.Functor.whiskeringLeft D K C).obj G)) j) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimitCompWhiskeringLeftIsoCompColimit F G).hom h) = CategoryTheory.CategoryStruct.comp (G.whiskerLeft (CategoryTheory.Limits.colimit.ι F j)) h - CategoryTheory.Limits.limitCompWhiskeringLeftIsoCompLimit_hom_whiskerLeft_π_assoc 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (G : CategoryTheory.Functor D K) [CategoryTheory.Limits.HasLimitsOfShape J C] (j : J) {Z : CategoryTheory.Functor D C} (h : G.comp (F.obj j) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limitCompWhiskeringLeftIsoCompLimit F G).hom (CategoryTheory.CategoryStruct.comp (G.whiskerLeft (CategoryTheory.Limits.limit.π F j)) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π (F.comp ((CategoryTheory.Functor.whiskeringLeft D K C).obj G)) j) h - CategoryTheory.Limits.limitObjIsoLimitCompEvaluation_inv_limit_map 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] [CategoryTheory.Limits.HasLimitsOfShape J C] {i j : K} (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (f : i ⟶ j) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limitObjIsoLimitCompEvaluation F i).inv ((CategoryTheory.Limits.limit F).map f) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limMap (F.whiskerLeft ((CategoryTheory.evaluation K C).map f))) (CategoryTheory.Limits.limitObjIsoLimitCompEvaluation F j).inv - CategoryTheory.Limits.limit_map_limitObjIsoLimitCompEvaluation_hom 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] [CategoryTheory.Limits.HasLimitsOfShape J C] {i j : K} (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (f : i ⟶ j) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.limit F).map f) (CategoryTheory.Limits.limitObjIsoLimitCompEvaluation F j).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limitObjIsoLimitCompEvaluation F i).hom (CategoryTheory.Limits.limMap (F.whiskerLeft ((CategoryTheory.evaluation K C).map f))) - CategoryTheory.Limits.whiskerLeft_ι_colimitCompWhiskeringLeftIsoCompColimit_inv_assoc 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (G : CategoryTheory.Functor D K) [CategoryTheory.Limits.HasColimitsOfShape J C] (j : J) {Z : CategoryTheory.Functor D C} (h : CategoryTheory.Limits.colimit (F.comp ((CategoryTheory.Functor.whiskeringLeft D K C).obj G)) ⟶ Z) : CategoryTheory.CategoryStruct.comp (G.whiskerLeft (CategoryTheory.Limits.colimit.ι F j)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimitCompWhiskeringLeftIsoCompColimit F G).inv h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι (F.comp ((CategoryTheory.Functor.whiskeringLeft D K C).obj G)) j) h - CategoryTheory.Limits.limitObjIsoLimitCompEvaluation_inv_limit_map_assoc 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] [CategoryTheory.Limits.HasLimitsOfShape J C] {i j : K} (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (f : i ⟶ j) {Z : C} (h : (CategoryTheory.Limits.limit F).obj j ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limitObjIsoLimitCompEvaluation F i).inv (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.limit F).map f) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limMap (F.whiskerLeft ((CategoryTheory.evaluation K C).map f))) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limitObjIsoLimitCompEvaluation F j).inv h) - CategoryTheory.Limits.limit_map_limitObjIsoLimitCompEvaluation_hom_assoc 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] [CategoryTheory.Limits.HasLimitsOfShape J C] {i j : K} (F : CategoryTheory.Functor J (CategoryTheory.Functor K C)) (f : i ⟶ j) {Z : C} (h : CategoryTheory.Limits.limit (F.comp ((CategoryTheory.evaluation K C).obj j)) ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.limit F).map f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limitObjIsoLimitCompEvaluation F j).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limitObjIsoLimitCompEvaluation F i).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limMap (F.whiskerLeft ((CategoryTheory.evaluation K C).map f))) h) - CategoryTheory.Adjunction.whiskerLeft_counit_iso_of_L_fully_faithful 📋 Mathlib.CategoryTheory.Adjunction.FullyFaithful
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {L : CategoryTheory.Functor C D} {R : CategoryTheory.Functor D C} (h : L ⊣ R) [L.Full] [L.Faithful] : CategoryTheory.IsIso (L.whiskerLeft h.counit) - CategoryTheory.Adjunction.whiskerLeft_unit_iso_of_R_fully_faithful 📋 Mathlib.CategoryTheory.Adjunction.FullyFaithful
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {L : CategoryTheory.Functor C D} {R : CategoryTheory.Functor D C} (h : L ⊣ R) [R.Full] [R.Faithful] : CategoryTheory.IsIso (R.whiskerLeft h.unit) - CategoryTheory.NatTrans.IsMonoidal.whiskerLeft 📋 Mathlib.CategoryTheory.Monoidal.NaturalTransformation
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.MonoidalCategory C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.MonoidalCategory D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] [CategoryTheory.MonoidalCategory E] {F₁ : CategoryTheory.Functor C D} [F₁.LaxMonoidal] {G₁ G₂ : CategoryTheory.Functor D E} [G₁.LaxMonoidal] [G₂.LaxMonoidal] (τ' : G₁ ⟶ G₂) [CategoryTheory.NatTrans.IsMonoidal τ'] : CategoryTheory.NatTrans.IsMonoidal (F₁.whiskerLeft τ') - CategoryTheory.conjugateEquiv_whiskerLeft 📋 Mathlib.CategoryTheory.Adjunction.Mates
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {L₁ L₂ : CategoryTheory.Functor B C} {R₁ R₂ : CategoryTheory.Functor C B} {L : CategoryTheory.Functor A B} {R : CategoryTheory.Functor B A} (adj₁ : L₁ ⊣ R₁) (adj₂ : L₂ ⊣ R₂) (adj : L ⊣ R) (τ : L₂ ⟶ L₁) : (CategoryTheory.conjugateEquiv (adj.comp adj₁) (adj.comp adj₂)) (L.whiskerLeft τ) = CategoryTheory.Functor.whiskerRight ((CategoryTheory.conjugateEquiv adj₁ adj₂) τ) R - CategoryTheory.conjugateEquiv_whiskerRight 📋 Mathlib.CategoryTheory.Adjunction.Mates
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {L₁ L₂ : CategoryTheory.Functor A B} {R₁ R₂ : CategoryTheory.Functor B A} {L : CategoryTheory.Functor B C} {R : CategoryTheory.Functor C B} (adj₁ : L₁ ⊣ R₁) (adj₂ : L₂ ⊣ R₂) (adj : L ⊣ R) (τ : L₂ ⟶ L₁) : (CategoryTheory.conjugateEquiv (adj₁.comp adj) (adj₂.comp adj)) (CategoryTheory.Functor.whiskerRight τ L) = R.whiskerLeft ((CategoryTheory.conjugateEquiv adj₁ adj₂) τ) - CategoryTheory.mateEquiv_apply 📋 Mathlib.CategoryTheory.Adjunction.Mates
{C : Type u₁} {D : Type u₂} {E : Type u₃} {F : Type u₄} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.Category.{v₃, u₃} E] [CategoryTheory.Category.{v₄, u₄} F] {G : CategoryTheory.Functor C E} {H : CategoryTheory.Functor D F} {L₁ : CategoryTheory.Functor C D} {R₁ : CategoryTheory.Functor D C} {L₂ : CategoryTheory.Functor E F} {R₂ : CategoryTheory.Functor F E} (adj₁ : L₁ ⊣ R₁) (adj₂ : L₂ ⊣ R₂) (α : CategoryTheory.TwoSquare G L₁ L₂ H) : (CategoryTheory.mateEquiv adj₁ adj₂) α = CategoryTheory.TwoSquare.mk R₁ H G R₂ (CategoryTheory.CategoryStruct.comp (R₁.comp G).rightUnitor.inv (CategoryTheory.CategoryStruct.comp ((R₁.comp G).whiskerLeft adj₂.unit) (CategoryTheory.CategoryStruct.comp (R₁.associator G (L₂.comp R₂)).hom (CategoryTheory.CategoryStruct.comp (R₁.whiskerLeft (G.associator L₂ R₂).inv) (CategoryTheory.CategoryStruct.comp (R₁.whiskerLeft (CategoryTheory.Functor.whiskerRight α.natTrans R₂)) (CategoryTheory.CategoryStruct.comp (R₁.whiskerLeft (L₁.associator H R₂).hom) (CategoryTheory.CategoryStruct.comp (R₁.associator L₁ (H.comp R₂)).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight adj₁.counit (H.comp R₂)) (H.comp R₂).leftUnitor.hom)))))))) - CategoryTheory.mateEquiv_symm_apply 📋 Mathlib.CategoryTheory.Adjunction.Mates
{C : Type u₁} {D : Type u₂} {E : Type u₃} {F : Type u₄} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.Category.{v₃, u₃} E] [CategoryTheory.Category.{v₄, u₄} F] {G : CategoryTheory.Functor C E} {H : CategoryTheory.Functor D F} {L₁ : CategoryTheory.Functor C D} {R₁ : CategoryTheory.Functor D C} {L₂ : CategoryTheory.Functor E F} {R₂ : CategoryTheory.Functor F E} (adj₁ : L₁ ⊣ R₁) (adj₂ : L₂ ⊣ R₂) (β : CategoryTheory.TwoSquare R₁ H G R₂) : (CategoryTheory.mateEquiv adj₁ adj₂).symm β = CategoryTheory.TwoSquare.mk G L₁ L₂ H (CategoryTheory.CategoryStruct.comp (G.comp L₂).leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight adj₁.unit (G.comp L₂)) (CategoryTheory.CategoryStruct.comp ((L₁.comp R₁).associator G L₂).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L₁.associator R₁ G).hom L₂) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L₁.whiskerLeft β.natTrans) L₂) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L₁.associator H R₂).inv L₂) (CategoryTheory.CategoryStruct.comp ((L₁.comp H).associator R₂ L₂).hom (CategoryTheory.CategoryStruct.comp ((L₁.comp H).whiskerLeft adj₂.counit) (L₁.comp H).rightUnitor.hom)))))))) - ModuleCat.extendScalars_comp_id 📋 Mathlib.Algebra.Category.ModuleCat.ChangeOfRings
{R₁ R₂ : Type u₁} [CommRing R₁] [CommRing R₂] (f₁₂ : R₁ →+* R₂) : CategoryTheory.CategoryStruct.comp (ModuleCat.extendScalarsComp f₁₂ (RingHom.id R₂)).hom (CategoryTheory.CategoryStruct.comp ((ModuleCat.extendScalars f₁₂).whiskerLeft (ModuleCat.extendScalarsId R₂).hom) (ModuleCat.extendScalars f₁₂).rightUnitor.hom) = CategoryTheory.CategoryStruct.id (ModuleCat.extendScalars ((RingHom.id R₂).comp f₁₂)) - ModuleCat.extendScalars_comp_id_assoc 📋 Mathlib.Algebra.Category.ModuleCat.ChangeOfRings
{R₁ R₂ : Type u₁} [CommRing R₁] [CommRing R₂] (f₁₂ : R₁ →+* R₂) {Z : CategoryTheory.Functor (ModuleCat R₁) (ModuleCat R₂)} (h : ModuleCat.extendScalars f₁₂ ⟶ Z) : CategoryTheory.CategoryStruct.comp (ModuleCat.extendScalarsComp f₁₂ (RingHom.id R₂)).hom (CategoryTheory.CategoryStruct.comp ((ModuleCat.extendScalars f₁₂).whiskerLeft (ModuleCat.extendScalarsId R₂).hom) (CategoryTheory.CategoryStruct.comp (ModuleCat.extendScalars f₁₂).rightUnitor.hom h)) = h - ModuleCat.extendScalars_assoc 📋 Mathlib.Algebra.Category.ModuleCat.ChangeOfRings
{R₁ R₂ R₃ R₄ : Type u₁} [CommRing R₁] [CommRing R₂] [CommRing R₃] [CommRing R₄] (f₁₂ : R₁ →+* R₂) (f₂₃ : R₂ →+* R₃) (f₃₄ : R₃ →+* R₄) : CategoryTheory.CategoryStruct.comp (ModuleCat.extendScalarsComp (f₂₃.comp f₁₂) f₃₄).hom (CategoryTheory.Functor.whiskerRight (ModuleCat.extendScalarsComp f₁₂ f₂₃).hom (ModuleCat.extendScalars f₃₄)) = CategoryTheory.CategoryStruct.comp (ModuleCat.extendScalarsComp f₁₂ (f₃₄.comp f₂₃)).hom (CategoryTheory.CategoryStruct.comp ((ModuleCat.extendScalars f₁₂).whiskerLeft (ModuleCat.extendScalarsComp f₂₃ f₃₄).hom) ((ModuleCat.extendScalars f₁₂).associator (ModuleCat.extendScalars f₂₃) (ModuleCat.extendScalars f₃₄)).inv) - ModuleCat.extendScalars_assoc_assoc 📋 Mathlib.Algebra.Category.ModuleCat.ChangeOfRings
{R₁ R₂ R₃ R₄ : Type u₁} [CommRing R₁] [CommRing R₂] [CommRing R₃] [CommRing R₄] (f₁₂ : R₁ →+* R₂) (f₂₃ : R₂ →+* R₃) (f₃₄ : R₃ →+* R₄) {Z : CategoryTheory.Functor (ModuleCat R₁) (ModuleCat R₄)} (h : ((ModuleCat.extendScalars f₁₂).comp (ModuleCat.extendScalars f₂₃)).comp (ModuleCat.extendScalars f₃₄) ⟶ Z) : CategoryTheory.CategoryStruct.comp (ModuleCat.extendScalarsComp (f₂₃.comp f₁₂) f₃₄).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (ModuleCat.extendScalarsComp f₁₂ f₂₃).hom (ModuleCat.extendScalars f₃₄)) h) = CategoryTheory.CategoryStruct.comp (ModuleCat.extendScalarsComp f₁₂ (f₃₄.comp f₂₃)).hom (CategoryTheory.CategoryStruct.comp ((ModuleCat.extendScalars f₁₂).whiskerLeft (ModuleCat.extendScalarsComp f₂₃ f₃₄).hom) (CategoryTheory.CategoryStruct.comp ((ModuleCat.extendScalars f₁₂).associator (ModuleCat.extendScalars f₂₃) (ModuleCat.extendScalars f₃₄)).inv h)) - ModuleCat.extendScalars_assoc' 📋 Mathlib.Algebra.Category.ModuleCat.ChangeOfRings
{R₁ R₂ R₃ R₄ : Type u₁} [CommRing R₁] [CommRing R₂] [CommRing R₃] [CommRing R₄] (f₁₂ : R₁ →+* R₂) (f₂₃ : R₂ →+* R₃) (f₃₄ : R₃ →+* R₄) : CategoryTheory.CategoryStruct.comp (ModuleCat.extendScalarsComp (f₂₃.comp f₁₂) f₃₄).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (ModuleCat.extendScalarsComp f₁₂ f₂₃).hom (ModuleCat.extendScalars f₃₄)) (CategoryTheory.CategoryStruct.comp ((ModuleCat.extendScalars f₁₂).associator (ModuleCat.extendScalars f₂₃) (ModuleCat.extendScalars f₃₄)).hom (CategoryTheory.CategoryStruct.comp ((ModuleCat.extendScalars f₁₂).whiskerLeft (ModuleCat.extendScalarsComp f₂₃ f₃₄).inv) (ModuleCat.extendScalarsComp f₁₂ (f₃₄.comp f₂₃)).inv))) = CategoryTheory.CategoryStruct.id (ModuleCat.extendScalars (f₃₄.comp (f₂₃.comp f₁₂))) - CategoryTheory.Adjunction.leftAdjointUniq_hom_counit 📋 Mathlib.CategoryTheory.Adjunction.Unique
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {F F' : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) : CategoryTheory.CategoryStruct.comp (G.whiskerLeft (adj1.leftAdjointUniq adj2).hom) adj2.counit = adj1.counit - CategoryTheory.Adjunction.unit_rightAdjointUniq_hom 📋 Mathlib.CategoryTheory.Adjunction.Unique
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {F : CategoryTheory.Functor C D} {G G' : CategoryTheory.Functor D C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') : CategoryTheory.CategoryStruct.comp adj1.unit (F.whiskerLeft (adj1.rightAdjointUniq adj2).hom) = adj2.unit - CategoryTheory.Adjunction.leftAdjointUniq_hom_counit_assoc 📋 Mathlib.CategoryTheory.Adjunction.Unique
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {F F' : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) {Z : CategoryTheory.Functor D D} (h : CategoryTheory.Functor.id D ⟶ Z) : CategoryTheory.CategoryStruct.comp (G.whiskerLeft (adj1.leftAdjointUniq adj2).hom) (CategoryTheory.CategoryStruct.comp adj2.counit h) = CategoryTheory.CategoryStruct.comp adj1.counit h - CategoryTheory.Adjunction.unit_rightAdjointUniq_hom_assoc 📋 Mathlib.CategoryTheory.Adjunction.Unique
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {F : CategoryTheory.Functor C D} {G G' : CategoryTheory.Functor D C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') {Z : CategoryTheory.Functor C C} (h : F.comp G' ⟶ Z) : CategoryTheory.CategoryStruct.comp adj1.unit (CategoryTheory.CategoryStruct.comp (F.whiskerLeft (adj1.rightAdjointUniq adj2).hom) h) = CategoryTheory.CategoryStruct.comp adj2.unit h - CategoryTheory.Grothendieck.pre_comp_map 📋 Mathlib.CategoryTheory.Grothendieck
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₁} [CategoryTheory.Category.{v₁, u₁} D] {F : CategoryTheory.Functor C CategoryTheory.Cat} (G : CategoryTheory.Functor D C) {H : CategoryTheory.Functor C CategoryTheory.Cat} (α : F ⟶ H) : (CategoryTheory.Grothendieck.pre F G).comp (CategoryTheory.Grothendieck.map α) = (CategoryTheory.Grothendieck.map (G.whiskerLeft α)).comp (CategoryTheory.Grothendieck.pre H G) - CategoryTheory.Grothendieck.pre_comp_map_assoc 📋 Mathlib.CategoryTheory.Grothendieck
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₁} [CategoryTheory.Category.{v₁, u₁} D] {F : CategoryTheory.Functor C CategoryTheory.Cat} (G : CategoryTheory.Functor D C) {H : CategoryTheory.Functor C CategoryTheory.Cat} (α : F ⟶ H) {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] (K : CategoryTheory.Functor (CategoryTheory.Grothendieck H) E) : (CategoryTheory.Grothendieck.pre F G).comp ((CategoryTheory.Grothendieck.map α).comp K) = (CategoryTheory.Grothendieck.map (G.whiskerLeft α)).comp ((CategoryTheory.Grothendieck.pre H G).comp K) - CategoryTheory.Grothendieck.mapWhiskerLeftIsoConjPreMap 📋 Mathlib.CategoryTheory.Grothendieck
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₁} [CategoryTheory.Category.{v₁, u₁} D] {F F' : CategoryTheory.Functor C CategoryTheory.Cat} (G : D ≌ C) (α : F ⟶ F') : CategoryTheory.Grothendieck.map (G.functor.whiskerLeft α) ≅ (CategoryTheory.Grothendieck.preEquivalence F G).functor.comp ((CategoryTheory.Grothendieck.map α).comp (CategoryTheory.Grothendieck.preEquivalence F' G).inverse) - CategoryTheory.Grothendieck.functorFrom 📋 Mathlib.CategoryTheory.Grothendieck
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C CategoryTheory.Cat} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] (fib : (c : C) → CategoryTheory.Functor (↑(F.obj c)) E) (hom : {c c' : C} → (f : c ⟶ c') → fib c ⟶ (F.map f).toFunctor.comp (fib c')) (hom_id : ∀ (c : C), hom (CategoryTheory.CategoryStruct.id c) = CategoryTheory.eqToHom ⋯) (hom_comp : ∀ (c₁ c₂ c₃ : C) (f : c₁ ⟶ c₂) (g : c₂ ⟶ c₃), hom (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (hom f) (CategoryTheory.CategoryStruct.comp ((F.map f).toFunctor.whiskerLeft (hom g)) (CategoryTheory.eqToHom ⋯))) : CategoryTheory.Functor (CategoryTheory.Grothendieck F) E - CategoryTheory.Grothendieck.functorFrom_obj 📋 Mathlib.CategoryTheory.Grothendieck
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C CategoryTheory.Cat} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] (fib : (c : C) → CategoryTheory.Functor (↑(F.obj c)) E) (hom : {c c' : C} → (f : c ⟶ c') → fib c ⟶ (F.map f).toFunctor.comp (fib c')) (hom_id : ∀ (c : C), hom (CategoryTheory.CategoryStruct.id c) = CategoryTheory.eqToHom ⋯) (hom_comp : ∀ (c₁ c₂ c₃ : C) (f : c₁ ⟶ c₂) (g : c₂ ⟶ c₃), hom (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (hom f) (CategoryTheory.CategoryStruct.comp ((F.map f).toFunctor.whiskerLeft (hom g)) (CategoryTheory.eqToHom ⋯))) (X : CategoryTheory.Grothendieck F) : (CategoryTheory.Grothendieck.functorFrom fib hom hom_id hom_comp).obj X = (fib X.base).obj X.fiber - CategoryTheory.Grothendieck.ιCompFunctorFrom 📋 Mathlib.CategoryTheory.Grothendieck
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C CategoryTheory.Cat} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] (fib : (c : C) → CategoryTheory.Functor (↑(F.obj c)) E) (hom : {c c' : C} → (f : c ⟶ c') → fib c ⟶ (F.map f).toFunctor.comp (fib c')) (hom_id : ∀ (c : C), hom (CategoryTheory.CategoryStruct.id c) = CategoryTheory.eqToHom ⋯) (hom_comp : ∀ (c₁ c₂ c₃ : C) (f : c₁ ⟶ c₂) (g : c₂ ⟶ c₃), hom (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (hom f) (CategoryTheory.CategoryStruct.comp ((F.map f).toFunctor.whiskerLeft (hom g)) (CategoryTheory.eqToHom ⋯))) (c : C) : (CategoryTheory.Grothendieck.ι F c).comp (CategoryTheory.Grothendieck.functorFrom fib (fun {c c'} => hom) hom_id hom_comp) ≅ fib c - CategoryTheory.Grothendieck.functorFrom_map 📋 Mathlib.CategoryTheory.Grothendieck
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor C CategoryTheory.Cat} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] (fib : (c : C) → CategoryTheory.Functor (↑(F.obj c)) E) (hom : {c c' : C} → (f : c ⟶ c') → fib c ⟶ (F.map f).toFunctor.comp (fib c')) (hom_id : ∀ (c : C), hom (CategoryTheory.CategoryStruct.id c) = CategoryTheory.eqToHom ⋯) (hom_comp : ∀ (c₁ c₂ c₃ : C) (f : c₁ ⟶ c₂) (g : c₂ ⟶ c₃), hom (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (hom f) (CategoryTheory.CategoryStruct.comp ((F.map f).toFunctor.whiskerLeft (hom g)) (CategoryTheory.eqToHom ⋯))) {X Y : CategoryTheory.Grothendieck F} (f : X ⟶ Y) : (CategoryTheory.Grothendieck.functorFrom fib hom hom_id hom_comp).map f = CategoryTheory.CategoryStruct.comp ((hom f.base).app X.fiber) ((fib Y.base).map f.fiber) - CategoryTheory.Limits.fiberwiseColim_map_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Grothendieck
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (F : CategoryTheory.Functor C CategoryTheory.Cat) (H : Type u₂) [CategoryTheory.Category.{v₂, u₂} H] [∀ (c : C), CategoryTheory.Limits.HasColimitsOfShape (↑(F.obj c)) H] {X✝ Y✝ : CategoryTheory.Functor (CategoryTheory.Grothendieck F) H} (α : X✝ ⟶ Y✝) (c : C) : ((CategoryTheory.Limits.fiberwiseColim F H).map α).app c = CategoryTheory.Limits.colim.map ((CategoryTheory.Grothendieck.ι F c).whiskerLeft α) - CategoryTheory.Limits.ColimitPresentation.reindex_ι 📋 Mathlib.CategoryTheory.Limits.Presentation
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type w} [CategoryTheory.Category.{t, w} J] {X : C} (P : CategoryTheory.Limits.ColimitPresentation J X) {J' : Type u_1} [CategoryTheory.Category.{v_1, u_1} J'] (F : CategoryTheory.Functor J' J) [F.Final] : (P.reindex F).ι = F.whiskerLeft P.ι - CategoryTheory.Limits.LimitPresentation.reindex_π 📋 Mathlib.CategoryTheory.Limits.Presentation
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type w} [CategoryTheory.Category.{t, w} J] {X : C} (P : CategoryTheory.Limits.LimitPresentation J X) {J' : Type u_1} [CategoryTheory.Category.{v_1, u_1} J'] (F : CategoryTheory.Functor J' J) [F.Initial] : (P.reindex F).π = F.whiskerLeft P.π - CategoryTheory.CartesianMonoidalCategory.prodComparisonNatTrans_comp 📋 Mathlib.CategoryTheory.Monoidal.Cartesian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.CartesianMonoidalCategory C] {D : Type u₁} [CategoryTheory.Category.{v₁, u₁} D] [CategoryTheory.CartesianMonoidalCategory D] (F : CategoryTheory.Functor C D) {E : Type u₂} [CategoryTheory.Category.{v₂, u₂} E] [CategoryTheory.CartesianMonoidalCategory E] (G : CategoryTheory.Functor D E) {A : C} : CategoryTheory.CartesianMonoidalCategory.prodComparisonNatTrans (F.comp G) A = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.CartesianMonoidalCategory.prodComparisonNatTrans F A) G) (F.whiskerLeft (CategoryTheory.CartesianMonoidalCategory.prodComparisonNatTrans G (F.obj A))) - CategoryTheory.CartesianMonoidalCategory.prodComparisonBifunctorNatTrans_comp 📋 Mathlib.CategoryTheory.Monoidal.Cartesian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.CartesianMonoidalCategory C] {D : Type u₁} [CategoryTheory.Category.{v₁, u₁} D] [CategoryTheory.CartesianMonoidalCategory D] (F : CategoryTheory.Functor C D) {E : Type u₂} [CategoryTheory.Category.{v₂, u₂} E] [CategoryTheory.CartesianMonoidalCategory E] (G : CategoryTheory.Functor D E) : CategoryTheory.CartesianMonoidalCategory.prodComparisonBifunctorNatTrans (F.comp G) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.CartesianMonoidalCategory.prodComparisonBifunctorNatTrans F) ((CategoryTheory.Functor.whiskeringRight C D E).obj G)) (F.whiskerLeft (CategoryTheory.Functor.whiskerRight (CategoryTheory.CartesianMonoidalCategory.prodComparisonBifunctorNatTrans G) ((CategoryTheory.Functor.whiskeringLeft C D E).obj F))) - CategoryTheory.ParametrizedAdjunction.unit_whiskerRight_map 📋 Mathlib.CategoryTheory.Adjunction.Parametrized
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (self : F ⊣₂ G) {X₁ Y₁ : C₁} (f : X₁ ⟶ Y₁) : CategoryTheory.CategoryStruct.comp (self.adj X₁).unit (CategoryTheory.Functor.whiskerRight (F.map f) (G.obj (Opposite.op X₁))) = CategoryTheory.CategoryStruct.comp (self.adj Y₁).unit ((F.obj Y₁).whiskerLeft (G.map f.op)) - CategoryTheory.ParametrizedAdjunction.whiskerLeft_map_counit 📋 Mathlib.CategoryTheory.Adjunction.Parametrized
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (adj₂ : F ⊣₂ G) {X₁ Y₁ : C₁} (f : X₁ ⟶ Y₁) : CategoryTheory.CategoryStruct.comp ((G.obj (Opposite.op Y₁)).whiskerLeft (F.map f)) (adj₂.adj Y₁).counit = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (G.map f.op) (F.obj X₁)) (adj₂.adj X₁).counit - CategoryTheory.ParametrizedAdjunction.mk 📋 Mathlib.CategoryTheory.Adjunction.Parametrized
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (adj : (X₁ : C₁) → F.obj X₁ ⊣ G.obj (Opposite.op X₁)) (unit_whiskerRight_map : ∀ {X₁ Y₁ : C₁} (f : X₁ ⟶ Y₁), CategoryTheory.CategoryStruct.comp (adj X₁).unit (CategoryTheory.Functor.whiskerRight (F.map f) (G.obj (Opposite.op X₁))) = CategoryTheory.CategoryStruct.comp (adj Y₁).unit ((F.obj Y₁).whiskerLeft (G.map f.op)) := by cat_disch) : F ⊣₂ G - CategoryTheory.ParametrizedAdjunction.unit_whiskerRight_map_assoc 📋 Mathlib.CategoryTheory.Adjunction.Parametrized
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (self : F ⊣₂ G) {X₁ Y₁ : C₁} (f : X₁ ⟶ Y₁) {Z : CategoryTheory.Functor C₂ C₂} (h : (F.obj Y₁).comp (G.obj (Opposite.op X₁)) ⟶ Z) : CategoryTheory.CategoryStruct.comp (self.adj X₁).unit (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (F.map f) (G.obj (Opposite.op X₁))) h) = CategoryTheory.CategoryStruct.comp (self.adj Y₁).unit (CategoryTheory.CategoryStruct.comp ((F.obj Y₁).whiskerLeft (G.map f.op)) h) - CategoryTheory.ParametrizedAdjunction.whiskerLeft_map_counit_assoc 📋 Mathlib.CategoryTheory.Adjunction.Parametrized
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (adj₂ : F ⊣₂ G) {X₁ Y₁ : C₁} (f : X₁ ⟶ Y₁) {Z : CategoryTheory.Functor C₃ C₃} (h : CategoryTheory.Functor.id C₃ ⟶ Z) : CategoryTheory.CategoryStruct.comp ((G.obj (Opposite.op Y₁)).whiskerLeft (F.map f)) (CategoryTheory.CategoryStruct.comp (adj₂.adj Y₁).counit h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (G.map f.op) (F.obj X₁)) (CategoryTheory.CategoryStruct.comp (adj₂.adj X₁).counit h) - CategoryTheory.Functor.descOfIsLeftKanExtension_fac 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] (F' : CategoryTheory.Functor D H) {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : F ⟶ L.comp F') [F'.IsLeftKanExtension α] (G : CategoryTheory.Functor D H) (β : F ⟶ L.comp G) : CategoryTheory.CategoryStruct.comp α (L.whiskerLeft (F'.descOfIsLeftKanExtension α G β)) = β - CategoryTheory.Functor.liftOfIsRightKanExtension_fac 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] (F' : CategoryTheory.Functor D H) {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : L.comp F' ⟶ F) [F'.IsRightKanExtension α] (G : CategoryTheory.Functor D H) (β : L.comp G ⟶ F) : CategoryTheory.CategoryStruct.comp (L.whiskerLeft (F'.liftOfIsRightKanExtension α G β)) α = β - CategoryTheory.Functor.isLeftKanExtension_of_iso 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {F' F'' : CategoryTheory.Functor D H} (e : F' ≅ F'') {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : F ⟶ L.comp F') (α' : F ⟶ L.comp F'') (comm : CategoryTheory.CategoryStruct.comp α (L.whiskerLeft e.hom) = α') [F'.IsLeftKanExtension α] : F''.IsLeftKanExtension α' - CategoryTheory.Functor.isRightKanExtension_of_iso 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {F' F'' : CategoryTheory.Functor D H} (e : F' ≅ F'') {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : L.comp F' ⟶ F) (α' : L.comp F'' ⟶ F) (comm : CategoryTheory.CategoryStruct.comp (L.whiskerLeft e.hom) α' = α) [F'.IsRightKanExtension α] : F''.IsRightKanExtension α' - CategoryTheory.Functor.isLeftKanExtension_iff_of_iso 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {F' F'' : CategoryTheory.Functor D H} (e : F' ≅ F'') {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : F ⟶ L.comp F') (α' : F ⟶ L.comp F'') (comm : CategoryTheory.CategoryStruct.comp α (L.whiskerLeft e.hom) = α') : F'.IsLeftKanExtension α ↔ F''.IsLeftKanExtension α' - CategoryTheory.Functor.isRightKanExtension_iff_of_iso 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {F' F'' : CategoryTheory.Functor D H} (e : F' ≅ F'') {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : L.comp F' ⟶ F) (α' : L.comp F'' ⟶ F) (comm : CategoryTheory.CategoryStruct.comp (L.whiskerLeft e.hom) α' = α) : F'.IsRightKanExtension α ↔ F''.IsRightKanExtension α' - CategoryTheory.Functor.isLeftKanExtension_iff_isIso 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {F' F'' : CategoryTheory.Functor D H} (φ : F' ⟶ F'') {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : F ⟶ L.comp F') (α' : F ⟶ L.comp F'') (comm : CategoryTheory.CategoryStruct.comp α (L.whiskerLeft φ) = α') [F'.IsLeftKanExtension α] : F''.IsLeftKanExtension α' ↔ CategoryTheory.IsIso φ - CategoryTheory.Functor.isRightKanExtension_iff_isIso 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {F' F'' : CategoryTheory.Functor D H} (φ : F'' ⟶ F') {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : L.comp F' ⟶ F) (α' : L.comp F'' ⟶ F) (comm : CategoryTheory.CategoryStruct.comp (L.whiskerLeft φ) α = α') [F'.IsRightKanExtension α] : F''.IsRightKanExtension α' ↔ CategoryTheory.IsIso φ - CategoryTheory.Functor.isLeftKanExtension_iff_precomp 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} C'] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (F' : CategoryTheory.Functor D H) (G : CategoryTheory.Functor C' C) [G.IsEquivalence] (α : F ⟶ L.comp F') : F'.IsLeftKanExtension α ↔ F'.IsLeftKanExtension (CategoryTheory.CategoryStruct.comp (G.whiskerLeft α) (G.associator L F').inv) - CategoryTheory.Functor.isRightKanExtension_iff_precomp 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} C'] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (F' : CategoryTheory.Functor D H) (G : CategoryTheory.Functor C' C) [G.IsEquivalence] (α : L.comp F' ⟶ F) : F'.IsRightKanExtension α ↔ F'.IsRightKanExtension (CategoryTheory.CategoryStruct.comp (G.associator L F').hom (G.whiskerLeft α)) - CategoryTheory.Functor.hom_ext_of_isLeftKanExtension 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] (F' : CategoryTheory.Functor D H) {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : F ⟶ L.comp F') [F'.IsLeftKanExtension α] {G : CategoryTheory.Functor D H} (γ₁ γ₂ : F' ⟶ G) (hγ : CategoryTheory.CategoryStruct.comp α (L.whiskerLeft γ₁) = CategoryTheory.CategoryStruct.comp α (L.whiskerLeft γ₂)) : γ₁ = γ₂ - CategoryTheory.Functor.hom_ext_of_isRightKanExtension 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] (F' : CategoryTheory.Functor D H) {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : L.comp F' ⟶ F) [F'.IsRightKanExtension α] {G : CategoryTheory.Functor D H} (γ₁ γ₂ : G ⟶ F') (hγ : CategoryTheory.CategoryStruct.comp (L.whiskerLeft γ₁) α = CategoryTheory.CategoryStruct.comp (L.whiskerLeft γ₂) α) : γ₁ = γ₂ - CategoryTheory.Functor.isLeftKanExtension_iff_of_iso₂ 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {L : CategoryTheory.Functor C D} {F₁ F₂ : CategoryTheory.Functor C H} {F₁' F₂' : CategoryTheory.Functor D H} (α₁ : F₁ ⟶ L.comp F₁') (α₂ : F₂ ⟶ L.comp F₂') (e : F₁ ≅ F₂) (e' : F₁' ≅ F₂') (h : CategoryTheory.CategoryStruct.comp α₁ (L.whiskerLeft e'.hom) = CategoryTheory.CategoryStruct.comp e.hom α₂) : F₁'.IsLeftKanExtension α₁ ↔ F₂'.IsLeftKanExtension α₂ - CategoryTheory.Functor.isRightKanExtension_iff_of_iso₂ 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {L : CategoryTheory.Functor C D} {F₁ F₂ : CategoryTheory.Functor C H} {F₁' F₂' : CategoryTheory.Functor D H} (α₁ : L.comp F₁' ⟶ F₁) (α₂ : L.comp F₂' ⟶ F₂) (e : F₁ ≅ F₂) (e' : F₁' ≅ F₂') (h : CategoryTheory.CategoryStruct.comp (L.whiskerLeft e'.hom) α₂ = CategoryTheory.CategoryStruct.comp α₁ e.hom) : F₁'.IsRightKanExtension α₁ ↔ F₂'.IsRightKanExtension α₂ - CategoryTheory.Functor.descOfIsLeftKanExtension_fac_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] (F' : CategoryTheory.Functor D H) {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : F ⟶ L.comp F') [F'.IsLeftKanExtension α] (G : CategoryTheory.Functor D H) (β : F ⟶ L.comp G) {Z : CategoryTheory.Functor C H} (h : L.comp G ⟶ Z) : CategoryTheory.CategoryStruct.comp α (CategoryTheory.CategoryStruct.comp (L.whiskerLeft (F'.descOfIsLeftKanExtension α G β)) h) = CategoryTheory.CategoryStruct.comp β h - CategoryTheory.Functor.liftOfIsRightKanExtension_fac_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] (F' : CategoryTheory.Functor D H) {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : L.comp F' ⟶ F) [F'.IsRightKanExtension α] (G : CategoryTheory.Functor D H) (β : L.comp G ⟶ F) {Z : CategoryTheory.Functor C H} (h : F ⟶ Z) : CategoryTheory.CategoryStruct.comp (L.whiskerLeft (F'.liftOfIsRightKanExtension α G β)) (CategoryTheory.CategoryStruct.comp α h) = CategoryTheory.CategoryStruct.comp β h - CategoryTheory.Functor.leftKanExtension_hom_ext 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) [L.HasLeftKanExtension F] {G : CategoryTheory.Functor D H} (γ₁ γ₂ : L.leftKanExtension F ⟶ G) (hγ : CategoryTheory.CategoryStruct.comp (L.leftKanExtensionUnit F) (L.whiskerLeft γ₁) = CategoryTheory.CategoryStruct.comp (L.leftKanExtensionUnit F) (L.whiskerLeft γ₂)) : γ₁ = γ₂ - CategoryTheory.Functor.rightKanExtension_hom_ext 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) [L.HasRightKanExtension F] {G : CategoryTheory.Functor D H} (γ₁ γ₂ : G ⟶ L.rightKanExtension F) (hγ : CategoryTheory.CategoryStruct.comp (L.whiskerLeft γ₁) (L.rightKanExtensionCounit F) = CategoryTheory.CategoryStruct.comp (L.whiskerLeft γ₂) (L.rightKanExtensionCounit F)) : γ₁ = γ₂ - CategoryTheory.Functor.leftKanExtension_hom_ext_iff 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} [L.HasLeftKanExtension F] {G : CategoryTheory.Functor D H} {γ₁ γ₂ : L.leftKanExtension F ⟶ G} : γ₁ = γ₂ ↔ CategoryTheory.CategoryStruct.comp (L.leftKanExtensionUnit F) (L.whiskerLeft γ₁) = CategoryTheory.CategoryStruct.comp (L.leftKanExtensionUnit F) (L.whiskerLeft γ₂) - CategoryTheory.Functor.rightKanExtension_hom_ext_iff 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} [L.HasRightKanExtension F] {G : CategoryTheory.Functor D H} {γ₁ γ₂ : G ⟶ L.rightKanExtension F} : γ₁ = γ₂ ↔ CategoryTheory.CategoryStruct.comp (L.whiskerLeft γ₁) (L.rightKanExtensionCounit F) = CategoryTheory.CategoryStruct.comp (L.whiskerLeft γ₂) (L.rightKanExtensionCounit F) - CategoryTheory.Functor.isColimitCoconeOfIsLeftKanExtension_desc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] (F' : CategoryTheory.Functor D H) {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : F ⟶ L.comp F') [F'.IsLeftKanExtension α] {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.Limits.IsColimit c) (s : CategoryTheory.Limits.Cocone F') : (F'.isColimitCoconeOfIsLeftKanExtension α hc).desc s = hc.desc { pt := s.1, ι := CategoryTheory.CategoryStruct.comp α (L.whiskerLeft s.ι) } - CategoryTheory.Functor.isLimitConeOfIsRightKanExtension_lift 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] (F' : CategoryTheory.Functor D H) {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (α : L.comp F' ⟶ F) [F'.IsRightKanExtension α] {c : CategoryTheory.Limits.Cone F} (hc : CategoryTheory.Limits.IsLimit c) (s : CategoryTheory.Limits.Cone F') : (F'.isLimitConeOfIsRightKanExtension α hc).lift s = hc.lift { pt := s.1, π := CategoryTheory.CategoryStruct.comp (L.whiskerLeft s.π) α } - CategoryTheory.Functor.isLeftKanExtension_iff_postcompose 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] [CategoryTheory.Category.{v_6, u_6} D'] {L : CategoryTheory.Functor C D} {L' : CategoryTheory.Functor D D'} {F₀ : CategoryTheory.Functor C H} {F₁ : CategoryTheory.Functor D H} (α : F₀ ⟶ L.comp F₁) [F₁.IsLeftKanExtension α] {F₂ : CategoryTheory.Functor D' H} (L'' : CategoryTheory.Functor C D') (e : L.comp L' ≅ L'') (β : F₁ ⟶ L'.comp F₂) (γ : F₀ ⟶ L''.comp F₂) (hγ : CategoryTheory.CategoryStruct.comp α (CategoryTheory.CategoryStruct.comp (L.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (L.associator L' F₂).inv (CategoryTheory.Functor.whiskerRight e.hom F₂))) = γ := by aesop_cat) : F₂.IsLeftKanExtension β ↔ F₂.IsLeftKanExtension γ - CategoryTheory.Functor.isRightKanExtension_iff_precomp_equivalence 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} C'] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] [CategoryTheory.Category.{v_6, u_6} D'] {F₁' : CategoryTheory.Functor D H} {L₁ : CategoryTheory.Functor C D} {F₁ : CategoryTheory.Functor C H} (α₁ : L₁.comp F₁' ⟶ F₁) {F₂' : CategoryTheory.Functor D' H} {L₂ : CategoryTheory.Functor C' D'} {F₂ : CategoryTheory.Functor C' H} (α₂ : L₂.comp F₂' ⟶ F₂) {G : CategoryTheory.Functor C C'} {G' : CategoryTheory.Functor D D'} [G.IsEquivalence] [G'.IsEquivalence] (iso : G.comp L₂ ≅ L₁.comp G') (e : F₁ ≅ G.comp F₂) (e' : G'.comp F₂' ≅ F₁') (h : α₁ = CategoryTheory.CategoryStruct.comp (L₁.whiskerLeft e'.inv) (CategoryTheory.CategoryStruct.comp (L₁.associator G' F₂').inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight iso.inv F₂') (CategoryTheory.CategoryStruct.comp (G.associator L₂ F₂').hom (CategoryTheory.CategoryStruct.comp (G.whiskerLeft α₂) e.inv)))) := by cat_disch) : F₂'.IsRightKanExtension α₂ ↔ F₁'.IsRightKanExtension α₁ - CategoryTheory.Functor.isLeftKanExtension_iff_precomp_equivalence 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} C'] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] [CategoryTheory.Category.{v_6, u_6} D'] {F₁' : CategoryTheory.Functor D H} {L₁ : CategoryTheory.Functor C D} {F₁ : CategoryTheory.Functor C H} (α₁ : F₁ ⟶ L₁.comp F₁') {F₂' : CategoryTheory.Functor D' H} {L₂ : CategoryTheory.Functor C' D'} {F₂ : CategoryTheory.Functor C' H} (α₂ : F₂ ⟶ L₂.comp F₂') {G : CategoryTheory.Functor C C'} {G' : CategoryTheory.Functor D D'} [G.IsEquivalence] [G'.IsEquivalence] (iso : G.comp L₂ ≅ L₁.comp G') (e : F₁ ≅ G.comp F₂) (e' : G'.comp F₂' ≅ F₁') (h : α₁ = CategoryTheory.CategoryStruct.comp e.hom (CategoryTheory.CategoryStruct.comp (G.whiskerLeft α₂) (CategoryTheory.CategoryStruct.comp (G.associator L₂ F₂').inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight iso.hom F₂') (CategoryTheory.CategoryStruct.comp (L₁.associator G' F₂').hom (L₁.whiskerLeft e'.hom))))) := by cat_disch) : F₂'.IsLeftKanExtension α₂ ↔ F₁'.IsLeftKanExtension α₁ - CategoryTheory.Functor.RightExtension.isUniversalEquivOfIso₂ 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {L : CategoryTheory.Functor C D} {F₁ F₂ : CategoryTheory.Functor C H} (α₁ : L.RightExtension F₁) (α₂ : L.RightExtension F₂) (e : F₁ ≅ F₂) (e' : CategoryTheory.CostructuredArrow.left α₁ ≅ CategoryTheory.CostructuredArrow.left α₂) (h : CategoryTheory.CategoryStruct.comp (L.whiskerLeft e'.hom) (CategoryTheory.CostructuredArrow.hom α₂) = CategoryTheory.CategoryStruct.comp (CategoryTheory.CostructuredArrow.hom α₁) e.hom) : CategoryTheory.CostructuredArrow.IsUniversal α₁ ≃ CategoryTheory.CostructuredArrow.IsUniversal α₂ - CategoryTheory.Functor.LeftExtension.isUniversalEquivOfIso₂ 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {L : CategoryTheory.Functor C D} {F₁ F₂ : CategoryTheory.Functor C H} (α₁ : L.LeftExtension F₁) (α₂ : L.LeftExtension F₂) (e : F₁ ≅ F₂) (e' : CategoryTheory.StructuredArrow.right α₁ ≅ CategoryTheory.StructuredArrow.right α₂) (h : CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.hom α₁) (L.whiskerLeft e'.hom) = CategoryTheory.CategoryStruct.comp e.hom (CategoryTheory.StructuredArrow.hom α₂)) : CategoryTheory.StructuredArrow.IsUniversal α₁ ≃ CategoryTheory.StructuredArrow.IsUniversal α₂ - CategoryTheory.Functor.lanUnit_app_whiskerLeft_lanAdjunction_counit_app_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (L : CategoryTheory.Functor C D) {H : Type u_3} [CategoryTheory.Category.{v_3, u_3} H] [∀ (F : CategoryTheory.Functor C H), L.HasLeftKanExtension F] (G : CategoryTheory.Functor D H) {Z : CategoryTheory.Functor C H} (h : L.comp G ⟶ Z) : CategoryTheory.CategoryStruct.comp (L.lanUnit.app (L.comp G)) (CategoryTheory.CategoryStruct.comp (L.whiskerLeft ((L.lanAdjunction H).counit.app G)) h) = h - CategoryTheory.Functor.lanUnit_app_whiskerLeft_lanAdjunction_counit_app 📋 Mathlib.CategoryTheory.Functor.KanExtension.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (L : CategoryTheory.Functor C D) {H : Type u_3} [CategoryTheory.Category.{v_3, u_3} H] [∀ (F : CategoryTheory.Functor C H), L.HasLeftKanExtension F] (G : CategoryTheory.Functor D H) : CategoryTheory.CategoryStruct.comp (L.lanUnit.app (L.comp G)) (L.whiskerLeft ((L.lanAdjunction H).counit.app G)) = CategoryTheory.CategoryStruct.id (L.comp G) - CategoryTheory.Functor.ranCounit_app_whiskerLeft_ranAdjunction_unit_app_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (L : CategoryTheory.Functor C D) {H : Type u_3} [CategoryTheory.Category.{v_3, u_3} H] [∀ (F : CategoryTheory.Functor C H), L.HasRightKanExtension F] (G : CategoryTheory.Functor D H) {Z : CategoryTheory.Functor C H} (h : L.comp G ⟶ Z) : CategoryTheory.CategoryStruct.comp (L.whiskerLeft ((L.ranAdjunction H).unit.app G)) (CategoryTheory.CategoryStruct.comp (L.ranCounit.app (L.comp G)) h) = h - CategoryTheory.Functor.ranCounit_app_whiskerLeft_ranAdjunction_unit_app 📋 Mathlib.CategoryTheory.Functor.KanExtension.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (L : CategoryTheory.Functor C D) {H : Type u_3} [CategoryTheory.Category.{v_3, u_3} H] [∀ (F : CategoryTheory.Functor C H), L.HasRightKanExtension F] (G : CategoryTheory.Functor D H) : CategoryTheory.CategoryStruct.comp (L.whiskerLeft ((L.ranAdjunction H).unit.app G)) (L.ranCounit.app (L.comp G)) = CategoryTheory.CategoryStruct.id (L.comp G) - CategoryTheory.Presheaf.compULiftYonedaIsoULiftYonedaCompLan.presheafHom_naturality 📋 Mathlib.CategoryTheory.Limits.Presheaf
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor (CategoryTheory.Functor Cᵒᵖ (Type (max w v₁ v₂))) (CategoryTheory.Functor Dᵒᵖ (Type (max w v₁ v₂)))} (φ : F.comp CategoryTheory.uliftYoneda.{max w v₁, v₂, u₂} ⟶ CategoryTheory.uliftYoneda.{max w v₂, v₁, u₁}.comp G) {P Q : CategoryTheory.Functor Cᵒᵖ (Type (max w v₁ v₂))} (f : P ⟶ Q) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Presheaf.compULiftYonedaIsoULiftYonedaCompLan.presheafHom φ P) (F.op.whiskerLeft (G.map f)) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.Presheaf.compULiftYonedaIsoULiftYonedaCompLan.presheafHom φ Q) - CategoryTheory.Presheaf.compULiftYonedaIsoULiftYonedaCompLan.presheafHom_naturality_assoc 📋 Mathlib.CategoryTheory.Limits.Presheaf
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor (CategoryTheory.Functor Cᵒᵖ (Type (max w v₁ v₂))) (CategoryTheory.Functor Dᵒᵖ (Type (max w v₁ v₂)))} (φ : F.comp CategoryTheory.uliftYoneda.{max w v₁, v₂, u₂} ⟶ CategoryTheory.uliftYoneda.{max w v₂, v₁, u₁}.comp G) {P Q : CategoryTheory.Functor Cᵒᵖ (Type (max w v₁ v₂))} (f : P ⟶ Q) {Z : CategoryTheory.Functor Cᵒᵖ (Type (max w v₁ v₂))} (h : F.op.comp (G.obj Q) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Presheaf.compULiftYonedaIsoULiftYonedaCompLan.presheafHom φ P) (CategoryTheory.CategoryStruct.comp (F.op.whiskerLeft (G.map f)) h) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (CategoryTheory.Presheaf.compULiftYonedaIsoULiftYonedaCompLan.presheafHom φ Q) h) - CategoryTheory.ComposableArrows.opEquivalence_inverse_map 📋 Mathlib.CategoryTheory.ComposableArrows.Basic
(C : Type u_1) [CategoryTheory.Category.{v_1, u_1} C] (n : ℕ) {X✝ Y✝ : CategoryTheory.ComposableArrows Cᵒᵖ n} (f : X✝ ⟶ Y✝) : (CategoryTheory.ComposableArrows.opEquivalence C n).inverse.map f = ((⋯.functor.comp (CategoryTheory.orderDualEquivalence (Fin (n + 1))).functor).whiskerLeft (CategoryTheory.NatTrans.leftOp f)).op - CategoryTheory.ComposableArrows.opEquivalence_unitIso_hom_app 📋 Mathlib.CategoryTheory.ComposableArrows.Basic
(C : Type u_1) [CategoryTheory.Category.{v_1, u_1} C] (n : ℕ) (X : (CategoryTheory.Functor (Fin (n + 1)) C)ᵒᵖ) : (CategoryTheory.ComposableArrows.opEquivalence C n).unitIso.hom.app X = CategoryTheory.CategoryStruct.comp (((CategoryTheory.orderDualEquivalence (Fin (n + 1))).symm.trans Fin.revOrderIso.equivalence).symm.funInvIdAssoc (Opposite.unop X)).hom.op ((⋯.functor.comp (CategoryTheory.orderDualEquivalence (Fin (n + 1))).functor).whiskerLeft (((CategoryTheory.orderDualEquivalence (Fin (n + 1))).inverse.comp ⋯.functor).comp (Opposite.unop X)).rightOpLeftOpIso.hom.op.unop).op - CategoryTheory.ComposableArrows.opEquivalence_unitIso_inv_app 📋 Mathlib.CategoryTheory.ComposableArrows.Basic
(C : Type u_1) [CategoryTheory.Category.{v_1, u_1} C] (n : ℕ) (X : (CategoryTheory.Functor (Fin (n + 1)) C)ᵒᵖ) : (CategoryTheory.ComposableArrows.opEquivalence C n).unitIso.inv.app X = CategoryTheory.CategoryStruct.comp ((⋯.functor.comp (CategoryTheory.orderDualEquivalence (Fin (n + 1))).functor).whiskerLeft (((CategoryTheory.orderDualEquivalence (Fin (n + 1))).inverse.comp ⋯.functor).comp (Opposite.unop X)).rightOpLeftOpIso.inv.op.unop).op (((CategoryTheory.orderDualEquivalence (Fin (n + 1))).symm.trans Fin.revOrderIso.equivalence).symm.funInvIdAssoc (Opposite.unop X)).inv.op - CategoryTheory.Adjunction.toComonad_δ 📋 Mathlib.CategoryTheory.Monad.Adjunction
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {L : CategoryTheory.Functor C D} {R : CategoryTheory.Functor D C} (h : L ⊣ R) : h.toComonad.δ = CategoryTheory.Functor.whiskerRight (R.whiskerLeft h.unit) L - CategoryTheory.Adjunction.toMonad_μ 📋 Mathlib.CategoryTheory.Monad.Adjunction
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {L : CategoryTheory.Functor C D} {R : CategoryTheory.Functor D C} (h : L ⊣ R) : h.toMonad.μ = CategoryTheory.Functor.whiskerRight (L.whiskerLeft h.counit) R - CategoryTheory.Quotient.natTrans_ext 📋 Mathlib.CategoryTheory.Quotient
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {r : HomRel C} {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {F G : CategoryTheory.Functor (CategoryTheory.Quotient r) D} (τ₁ τ₂ : F ⟶ G) (h : (CategoryTheory.Quotient.functor r).whiskerLeft τ₁ = (CategoryTheory.Quotient.functor r).whiskerLeft τ₂) : τ₁ = τ₂ - CategoryTheory.NatTrans.CommShift.whiskerLeft 📋 Mathlib.CategoryTheory.Shift.CommShift
{C : Type u_1} {D : Type u_2} {E : Type u_3} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_3, u_3} E] {F₁ : CategoryTheory.Functor C D} (G G' : CategoryTheory.Functor D E) (τ'' : G ⟶ G') (A : Type u_5) [AddMonoid A] [CategoryTheory.HasShift C A] [CategoryTheory.HasShift D A] [CategoryTheory.HasShift E A] [F₁.CommShift A] [G.CommShift A] [G'.CommShift A] [CategoryTheory.NatTrans.CommShift τ'' A] : CategoryTheory.NatTrans.CommShift (F₁.whiskerLeft τ'') A - CategoryTheory.NatTrans.shift_comm 📋 Mathlib.CategoryTheory.Shift.CommShift
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {F₁ F₂ : CategoryTheory.Functor C D} (τ : F₁ ⟶ F₂) {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift C A] [CategoryTheory.HasShift D A] [F₁.CommShift A] [F₂.CommShift A] [CategoryTheory.NatTrans.CommShift τ A] (a : A) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.commShiftIso F₁ a).hom (CategoryTheory.Functor.whiskerRight τ (CategoryTheory.shiftFunctor D a)) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.shiftFunctor C a).whiskerLeft τ) (CategoryTheory.Functor.commShiftIso F₂ a).hom - CategoryTheory.NatTrans.CommShift.shift_comm 📋 Mathlib.CategoryTheory.Shift.CommShift
{C : Type u_1} {D : Type u_2} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {inst✝¹ : CategoryTheory.Category.{v_2, u_2} D} {F₁ F₂ : CategoryTheory.Functor C D} {τ : F₁ ⟶ F₂} {A : Type u_5} {inst✝² : AddMonoid A} {inst✝³ : CategoryTheory.HasShift C A} {inst✝⁴ : CategoryTheory.HasShift D A} {inst✝⁵ : F₁.CommShift A} {inst✝⁶ : F₂.CommShift A} [self : CategoryTheory.NatTrans.CommShift τ A] (a : A) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.commShiftIso F₁ a).hom (CategoryTheory.Functor.whiskerRight τ (CategoryTheory.shiftFunctor D a)) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.shiftFunctor C a).whiskerLeft τ) (CategoryTheory.Functor.commShiftIso F₂ a).hom - CategoryTheory.NatTrans.CommShiftCore.mk 📋 Mathlib.CategoryTheory.Shift.CommShift
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {F₁ F₂ : CategoryTheory.Functor C D} {τ : F₁ ⟶ F₂} {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift C A] [CategoryTheory.HasShift D A] [F₁.CommShift A] [F₂.CommShift A] {a : A} (shift_comm : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.commShiftIso F₁ a).hom (CategoryTheory.Functor.whiskerRight τ (CategoryTheory.shiftFunctor D a)) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.shiftFunctor C a).whiskerLeft τ) (CategoryTheory.Functor.commShiftIso F₂ a).hom) : CategoryTheory.NatTrans.CommShiftCore τ a - CategoryTheory.NatTrans.CommShiftCore.shift_comm 📋 Mathlib.CategoryTheory.Shift.CommShift
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {F₁ F₂ : CategoryTheory.Functor C D} {τ : F₁ ⟶ F₂} {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift C A] [CategoryTheory.HasShift D A] [F₁.CommShift A] [F₂.CommShift A] {a : A} (self : CategoryTheory.NatTrans.CommShiftCore τ a) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.commShiftIso F₁ a).hom (CategoryTheory.Functor.whiskerRight τ (CategoryTheory.shiftFunctor D a)) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.shiftFunctor C a).whiskerLeft τ) (CategoryTheory.Functor.commShiftIso F₂ a).hom - CategoryTheory.NatTrans.CommShift.mk 📋 Mathlib.CategoryTheory.Shift.CommShift
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {F₁ F₂ : CategoryTheory.Functor C D} {τ : F₁ ⟶ F₂} {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift C A] [CategoryTheory.HasShift D A] [F₁.CommShift A] [F₂.CommShift A] (shift_comm : ∀ (a : A), CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.commShiftIso F₁ a).hom (CategoryTheory.Functor.whiskerRight τ (CategoryTheory.shiftFunctor D a)) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.shiftFunctor C a).whiskerLeft τ) (CategoryTheory.Functor.commShiftIso F₂ a).hom := by cat_disch) : CategoryTheory.NatTrans.CommShift τ A - CategoryTheory.NatTrans.shift_comm_assoc 📋 Mathlib.CategoryTheory.Shift.CommShift
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {F₁ F₂ : CategoryTheory.Functor C D} (τ : F₁ ⟶ F₂) {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift C A] [CategoryTheory.HasShift D A] [F₁.CommShift A] [F₂.CommShift A] [CategoryTheory.NatTrans.CommShift τ A] (a : A) {Z : CategoryTheory.Functor C D} (h : F₂.comp (CategoryTheory.shiftFunctor D a) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.commShiftIso F₁ a).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight τ (CategoryTheory.shiftFunctor D a)) h) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.shiftFunctor C a).whiskerLeft τ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.commShiftIso F₂ a).hom h) - CategoryTheory.NatTrans.CommShiftCore.shift_comm_assoc 📋 Mathlib.CategoryTheory.Shift.CommShift
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {F₁ F₂ : CategoryTheory.Functor C D} {τ : F₁ ⟶ F₂} {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift C A] [CategoryTheory.HasShift D A] [F₁.CommShift A] [F₂.CommShift A] {a : A} (self : CategoryTheory.NatTrans.CommShiftCore τ a) {Z : CategoryTheory.Functor C D} (h : F₂.comp (CategoryTheory.shiftFunctor D a) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.commShiftIso F₁ a).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight τ (CategoryTheory.shiftFunctor D a)) h) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.shiftFunctor C a).whiskerLeft τ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.commShiftIso F₂ a).hom h) - CategoryTheory.NatTrans.CommShift.verticalComposition 📋 Mathlib.CategoryTheory.Shift.CommShift
{C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_4} {D₂ : Type u_5} {D₃ : Type u_6} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} C₃] [CategoryTheory.Category.{v_4, u_4} D₁] [CategoryTheory.Category.{v_5, u_5} D₂] [CategoryTheory.Category.{v_6, u_6} D₃] {F₁₂ : CategoryTheory.Functor C₁ C₂} {F₂₃ : CategoryTheory.Functor C₂ C₃} {F₁₃ : CategoryTheory.Functor C₁ C₃} (α : F₁₃ ⟶ F₁₂.comp F₂₃) {G₁₂ : CategoryTheory.Functor D₁ D₂} {G₂₃ : CategoryTheory.Functor D₂ D₃} {G₁₃ : CategoryTheory.Functor D₁ D₃} (β : G₁₂.comp G₂₃ ⟶ G₁₃) {L₁ : CategoryTheory.Functor C₁ D₁} {L₂ : CategoryTheory.Functor C₂ D₂} {L₃ : CategoryTheory.Functor C₃ D₃} (e₁₂ : F₁₂.comp L₂ ⟶ L₁.comp G₁₂) (e₂₃ : F₂₃.comp L₃ ⟶ L₂.comp G₂₃) (e₁₃ : F₁₃.comp L₃ ⟶ L₁.comp G₁₃) (A : Type u_7) [AddMonoid A] [CategoryTheory.HasShift C₁ A] [CategoryTheory.HasShift C₂ A] [CategoryTheory.HasShift C₃ A] [CategoryTheory.HasShift D₁ A] [CategoryTheory.HasShift D₂ A] [CategoryTheory.HasShift D₃ A] [F₁₂.CommShift A] [F₂₃.CommShift A] [F₁₃.CommShift A] [CategoryTheory.NatTrans.CommShift α A] [G₁₂.CommShift A] [G₂₃.CommShift A] [G₁₃.CommShift A] [CategoryTheory.NatTrans.CommShift β A] [L₁.CommShift A] [L₂.CommShift A] [L₃.CommShift A] [CategoryTheory.NatTrans.CommShift e₁₂ A] [CategoryTheory.NatTrans.CommShift e₂₃ A] (h₁₃ : e₁₃ = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α L₃) (CategoryTheory.CategoryStruct.comp (F₁₂.associator F₂₃ L₃).hom (CategoryTheory.CategoryStruct.comp (F₁₂.whiskerLeft e₂₃) (CategoryTheory.CategoryStruct.comp (F₁₂.associator L₂ G₂₃).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁₂ G₂₃) (CategoryTheory.CategoryStruct.comp (L₁.associator G₁₂ G₂₃).hom (L₁.whiskerLeft β))))))) : CategoryTheory.NatTrans.CommShift e₁₃ A - CategoryTheory.Pretriangulated.Triangle.functorHomMk 📋 Mathlib.CategoryTheory.Triangulated.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] (A B : CategoryTheory.Functor J (CategoryTheory.Pretriangulated.Triangle C)) (hom₁ : A.comp CategoryTheory.Pretriangulated.Triangle.π₁ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₁) (hom₂ : A.comp CategoryTheory.Pretriangulated.Triangle.π₂ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₂) (hom₃ : A.comp CategoryTheory.Pretriangulated.Triangle.π₃ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₃) (comm₁ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂) hom₂ = CategoryTheory.CategoryStruct.comp hom₁ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂) := by cat_disch) (comm₂ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃) hom₃ = CategoryTheory.CategoryStruct.comp hom₂ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃) := by cat_disch) (comm₃ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁) (CategoryTheory.Functor.whiskerRight hom₁ (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp hom₃ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁) := by cat_disch) : A ⟶ B - CategoryTheory.Pretriangulated.Triangle.functorHomMk_app_hom₁ 📋 Mathlib.CategoryTheory.Triangulated.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] (A B : CategoryTheory.Functor J (CategoryTheory.Pretriangulated.Triangle C)) (hom₁ : A.comp CategoryTheory.Pretriangulated.Triangle.π₁ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₁) (hom₂ : A.comp CategoryTheory.Pretriangulated.Triangle.π₂ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₂) (hom₃ : A.comp CategoryTheory.Pretriangulated.Triangle.π₃ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₃) (comm₁ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂) hom₂ = CategoryTheory.CategoryStruct.comp hom₁ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂) := by cat_disch) (comm₂ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃) hom₃ = CategoryTheory.CategoryStruct.comp hom₂ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃) := by cat_disch) (comm₃ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁) (CategoryTheory.Functor.whiskerRight hom₁ (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp hom₃ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁) := by cat_disch) (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorHomMk A B hom₁ hom₂ hom₃ comm₁ comm₂ comm₃).app j).hom₁ = hom₁.app j - CategoryTheory.Pretriangulated.Triangle.functorHomMk_app_hom₂ 📋 Mathlib.CategoryTheory.Triangulated.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] (A B : CategoryTheory.Functor J (CategoryTheory.Pretriangulated.Triangle C)) (hom₁ : A.comp CategoryTheory.Pretriangulated.Triangle.π₁ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₁) (hom₂ : A.comp CategoryTheory.Pretriangulated.Triangle.π₂ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₂) (hom₃ : A.comp CategoryTheory.Pretriangulated.Triangle.π₃ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₃) (comm₁ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂) hom₂ = CategoryTheory.CategoryStruct.comp hom₁ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂) := by cat_disch) (comm₂ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃) hom₃ = CategoryTheory.CategoryStruct.comp hom₂ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃) := by cat_disch) (comm₃ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁) (CategoryTheory.Functor.whiskerRight hom₁ (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp hom₃ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁) := by cat_disch) (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorHomMk A B hom₁ hom₂ hom₃ comm₁ comm₂ comm₃).app j).hom₂ = hom₂.app j - CategoryTheory.Pretriangulated.Triangle.functorHomMk_app_hom₃ 📋 Mathlib.CategoryTheory.Triangulated.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] (A B : CategoryTheory.Functor J (CategoryTheory.Pretriangulated.Triangle C)) (hom₁ : A.comp CategoryTheory.Pretriangulated.Triangle.π₁ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₁) (hom₂ : A.comp CategoryTheory.Pretriangulated.Triangle.π₂ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₂) (hom₃ : A.comp CategoryTheory.Pretriangulated.Triangle.π₃ ⟶ B.comp CategoryTheory.Pretriangulated.Triangle.π₃) (comm₁ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂) hom₂ = CategoryTheory.CategoryStruct.comp hom₁ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂) := by cat_disch) (comm₂ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃) hom₃ = CategoryTheory.CategoryStruct.comp hom₂ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃) := by cat_disch) (comm₃ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁) (CategoryTheory.Functor.whiskerRight hom₁ (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp hom₃ (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁) := by cat_disch) (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorHomMk A B hom₁ hom₂ hom₃ comm₁ comm₂ comm₃).app j).hom₃ = hom₃.app j - CategoryTheory.Pretriangulated.Triangle.functorIsoMk 📋 Mathlib.CategoryTheory.Triangulated.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] (A B : CategoryTheory.Functor J (CategoryTheory.Pretriangulated.Triangle C)) (iso₁ : A.comp CategoryTheory.Pretriangulated.Triangle.π₁ ≅ B.comp CategoryTheory.Pretriangulated.Triangle.π₁) (iso₂ : A.comp CategoryTheory.Pretriangulated.Triangle.π₂ ≅ B.comp CategoryTheory.Pretriangulated.Triangle.π₂) (iso₃ : A.comp CategoryTheory.Pretriangulated.Triangle.π₃ ≅ B.comp CategoryTheory.Pretriangulated.Triangle.π₃) (comm₁ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂) iso₂.hom = CategoryTheory.CategoryStruct.comp iso₁.hom (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂)) (comm₂ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃) iso₃.hom = CategoryTheory.CategoryStruct.comp iso₂.hom (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃)) (comm₃ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁) (CategoryTheory.Functor.whiskerRight iso₁.hom (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp iso₃.hom (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁)) : A ≅ B - CategoryTheory.Pretriangulated.Triangle.functorIsoMk_hom 📋 Mathlib.CategoryTheory.Triangulated.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] (A B : CategoryTheory.Functor J (CategoryTheory.Pretriangulated.Triangle C)) (iso₁ : A.comp CategoryTheory.Pretriangulated.Triangle.π₁ ≅ B.comp CategoryTheory.Pretriangulated.Triangle.π₁) (iso₂ : A.comp CategoryTheory.Pretriangulated.Triangle.π₂ ≅ B.comp CategoryTheory.Pretriangulated.Triangle.π₂) (iso₃ : A.comp CategoryTheory.Pretriangulated.Triangle.π₃ ≅ B.comp CategoryTheory.Pretriangulated.Triangle.π₃) (comm₁ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂) iso₂.hom = CategoryTheory.CategoryStruct.comp iso₁.hom (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂)) (comm₂ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃) iso₃.hom = CategoryTheory.CategoryStruct.comp iso₂.hom (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃)) (comm₃ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁) (CategoryTheory.Functor.whiskerRight iso₁.hom (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp iso₃.hom (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁)) : (CategoryTheory.Pretriangulated.Triangle.functorIsoMk A B iso₁ iso₂ iso₃ comm₁ comm₂ comm₃).hom = CategoryTheory.Pretriangulated.Triangle.functorHomMk A B iso₁.hom iso₂.hom iso₃.hom comm₁ comm₂ comm₃ - CategoryTheory.Pretriangulated.Triangle.functorIsoMk_inv 📋 Mathlib.CategoryTheory.Triangulated.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.HasShift C ℤ] {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] (A B : CategoryTheory.Functor J (CategoryTheory.Pretriangulated.Triangle C)) (iso₁ : A.comp CategoryTheory.Pretriangulated.Triangle.π₁ ≅ B.comp CategoryTheory.Pretriangulated.Triangle.π₁) (iso₂ : A.comp CategoryTheory.Pretriangulated.Triangle.π₂ ≅ B.comp CategoryTheory.Pretriangulated.Triangle.π₂) (iso₃ : A.comp CategoryTheory.Pretriangulated.Triangle.π₃ ≅ B.comp CategoryTheory.Pretriangulated.Triangle.π₃) (comm₁ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂) iso₂.hom = CategoryTheory.CategoryStruct.comp iso₁.hom (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₁Toπ₂)) (comm₂ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃) iso₃.hom = CategoryTheory.CategoryStruct.comp iso₂.hom (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₂Toπ₃)) (comm₃ : CategoryTheory.CategoryStruct.comp (A.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁) (CategoryTheory.Functor.whiskerRight iso₁.hom (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp iso₃.hom (B.whiskerLeft CategoryTheory.Pretriangulated.Triangle.π₃Toπ₁)) : (CategoryTheory.Pretriangulated.Triangle.functorIsoMk A B iso₁ iso₂ iso₃ comm₁ comm₂ comm₃).inv = CategoryTheory.Pretriangulated.Triangle.functorHomMk B A iso₁.inv iso₂.inv iso₃.inv ⋯ ⋯ ⋯ - CategoryTheory.Localization.Construction.whiskerLeft_natTransExtension 📋 Mathlib.CategoryTheory.Localization.Construction
{C : Type uC} [CategoryTheory.Category.{uC', uC} C] {W : CategoryTheory.MorphismProperty C} {D : Type uD} [CategoryTheory.Category.{uD', uD} D] {F G : CategoryTheory.Functor W.Localization D} (τ : W.Q.comp F ⟶ W.Q.comp G) : W.Q.whiskerLeft (CategoryTheory.Localization.Construction.natTransExtension τ) = τ - PresheafOfModules.colimitPresheafOfModules_map 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Colimits
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y), CategoryTheory.Limits.PreservesColimit (F.comp (PresheafOfModules.evaluation R Y)) (ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (PresheafOfModules.evaluation R X))] {x✝ Y : Cᵒᵖ} (f : x✝ ⟶ Y) : (PresheafOfModules.colimitPresheafOfModules F).map f = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimMap (F.whiskerLeft (PresheafOfModules.restriction R f))) (CategoryTheory.preservesColimitIso (ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f))) (F.comp (PresheafOfModules.evaluation R Y))).inv - PresheafOfModules.limitPresheafOfModules_map 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Limits
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ (X : Cᵒᵖ), Small.{v, max u₂ v} ↑((F.comp (PresheafOfModules.evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] {x✝ Y : Cᵒᵖ} (f : x✝ ⟶ Y) : (PresheafOfModules.limitPresheafOfModules F).map f = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limMap (F.whiskerLeft (PresheafOfModules.restriction R f))) (CategoryTheory.preservesLimitIso (ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f))) (F.comp (PresheafOfModules.evaluation R Y))).inv - PresheafOfModules.pushforwardComp 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F : CategoryTheory.Functor C D} {R : CategoryTheory.Functor Dᵒᵖ RingCat} {S : CategoryTheory.Functor Cᵒᵖ RingCat} (φ : S ⟶ F.op.comp R) {T : CategoryTheory.Functor Eᵒᵖ RingCat} {G : CategoryTheory.Functor D E} (ψ : R ⟶ G.op.comp T) : (PresheafOfModules.pushforward ψ).comp (PresheafOfModules.pushforward φ) ≅ PresheafOfModules.pushforward (CategoryTheory.CategoryStruct.comp φ (F.op.whiskerLeft ψ)) - PresheafOfModules.pushforward_id_comp 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {R : CategoryTheory.Functor Dᵒᵖ RingCat} {S : CategoryTheory.Functor Cᵒᵖ RingCat} (φ : S ⟶ F.op.comp R) : PresheafOfModules.pushforwardComp φ (CategoryTheory.CategoryStruct.id R) = CategoryTheory.Functor.isoWhiskerRight (PresheafOfModules.pushforwardId R) (PresheafOfModules.pushforward φ) ≪≫ (PresheafOfModules.pushforward φ).leftUnitor - PresheafOfModules.pushforward_comp_id 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {R : CategoryTheory.Functor Dᵒᵖ RingCat} {S : CategoryTheory.Functor Cᵒᵖ RingCat} (φ : S ⟶ F.op.comp R) : PresheafOfModules.pushforwardComp (CategoryTheory.CategoryStruct.id S) φ = (PresheafOfModules.pushforward φ).isoWhiskerLeft (PresheafOfModules.pushforwardId S) ≪≫ (PresheafOfModules.pushforward φ).rightUnitor - PresheafOfModules.pushforward_assoc 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {E' : Type u₄} [CategoryTheory.Category.{v₄, u₄} E'] {F : CategoryTheory.Functor C D} {R : CategoryTheory.Functor Dᵒᵖ RingCat} {S : CategoryTheory.Functor Cᵒᵖ RingCat} (φ : S ⟶ F.op.comp R) {T : CategoryTheory.Functor Eᵒᵖ RingCat} {G : CategoryTheory.Functor D E} (ψ : R ⟶ G.op.comp T) {T' : CategoryTheory.Functor E'ᵒᵖ RingCat} {G' : CategoryTheory.Functor E E'} (ψ' : T ⟶ G'.op.comp T') : (PresheafOfModules.pushforward ψ').isoWhiskerLeft (PresheafOfModules.pushforwardComp φ ψ) ≪≫ PresheafOfModules.pushforwardComp (CategoryTheory.CategoryStruct.comp φ (F.op.whiskerLeft ψ)) ψ' = ((PresheafOfModules.pushforward ψ').associator (PresheafOfModules.pushforward ψ) (PresheafOfModules.pushforward φ)).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (PresheafOfModules.pushforwardComp ψ ψ') (PresheafOfModules.pushforward φ) ≪≫ PresheafOfModules.pushforwardComp φ (CategoryTheory.CategoryStruct.comp ψ (G.op.whiskerLeft ψ'))
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59