Loogle!
Result
Found 391 declarations mentioning CategoryTheory.Functor.whiskerRight. Of these, only the first 200 are shown.
- CategoryTheory.Functor.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] {G H : CategoryTheory.Functor C D} (α : G ⟶ H) (F : CategoryTheory.Functor D E) : G.comp F ⟶ H.comp F - CategoryTheory.Functor.whiskerRight_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] {G : CategoryTheory.Functor C D} (F : CategoryTheory.Functor D E) : CategoryTheory.Functor.whiskerRight (CategoryTheory.NatTrans.id G) F = CategoryTheory.NatTrans.id (G.comp F) - CategoryTheory.Functor.isIso_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] {G H : CategoryTheory.Functor C D} (α : G ⟶ H) (F : CategoryTheory.Functor D E) [CategoryTheory.IsIso α] : CategoryTheory.IsIso (CategoryTheory.Functor.whiskerRight α F) - CategoryTheory.Functor.whiskerRight_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] {G : CategoryTheory.Functor C D} (F : CategoryTheory.Functor D E) : CategoryTheory.Functor.whiskerRight (CategoryTheory.CategoryStruct.id G) F = CategoryTheory.CategoryStruct.id (G.comp F) - CategoryTheory.Functor.hcomp_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] {G H : CategoryTheory.Functor C D} (α : G ⟶ H) (F : CategoryTheory.Functor D E) : α ◫ CategoryTheory.CategoryStruct.id F = CategoryTheory.Functor.whiskerRight α F - CategoryTheory.Functor.isoWhiskerRight_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] {G H : CategoryTheory.Functor C D} (α : G ≅ H) (F : CategoryTheory.Functor D E) : (CategoryTheory.Functor.isoWhiskerRight α F).hom = CategoryTheory.Functor.whiskerRight α.hom F - CategoryTheory.Functor.isoWhiskerRight_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] {G H : CategoryTheory.Functor C D} (α : G ≅ H) (F : CategoryTheory.Functor D E) : (CategoryTheory.Functor.isoWhiskerRight α F).inv = CategoryTheory.Functor.whiskerRight α.inv F - CategoryTheory.Functor.whiskerRight_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] {G H : CategoryTheory.Functor C D} (α : G ⟶ H) (F : CategoryTheory.Functor D E) (X : C) : (CategoryTheory.Functor.whiskerRight α F).app X = F.map (α.app X) - CategoryTheory.Functor.inv_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] {G H : CategoryTheory.Functor C D} (α : G ⟶ H) (F : CategoryTheory.Functor D E) [CategoryTheory.IsIso α] : CategoryTheory.inv (CategoryTheory.Functor.whiskerRight α F) = CategoryTheory.Functor.whiskerRight (CategoryTheory.inv α) F - CategoryTheory.Functor.whiskeringRight_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] (H : CategoryTheory.Functor D E) {X✝ Y✝ : CategoryTheory.Functor C D} (α : X✝ ⟶ Y✝) : ((CategoryTheory.Functor.whiskeringRight C D E).obj H).map α = CategoryTheory.Functor.whiskerRight α H - 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.whiskerRight_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] {G H K : CategoryTheory.Functor C D} (α : G ⟶ H) (β : H ⟶ K) (F : CategoryTheory.Functor D E) : CategoryTheory.Functor.whiskerRight (CategoryTheory.CategoryStruct.comp α β) F = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α F) (CategoryTheory.Functor.whiskerRight β F) - 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.whiskerRight_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] {G H K : CategoryTheory.Functor C D} (α : G ⟶ H) (β : H ⟶ K) (F : CategoryTheory.Functor D E) {Z : CategoryTheory.Functor C E} (h : K.comp F ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.CategoryStruct.comp α β) F) h = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α F) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β F) 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.whiskerRight_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] {H K : CategoryTheory.Functor B C} (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) (α : H ⟶ K) : CategoryTheory.Functor.whiskerRight (CategoryTheory.Functor.whiskerRight α F) G = CategoryTheory.CategoryStruct.comp (H.associator F G).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α (F.comp G)) (K.associator F G).inv) - 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.whiskeringRight_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 D E} (τ : X✝ ⟶ Y✝) (F : CategoryTheory.Functor C D) (c : C) : (((CategoryTheory.Functor.whiskeringRight C D E).map τ).app F).app c = τ.app (F.obj 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.postcompose₂_map_app_app_app 📋 Mathlib.CategoryTheory.Whiskering
{C₁ : Type u_1} {C₂ : Type u_2} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] {E : Type u_7} [CategoryTheory.Category.{v_7, u_7} E] {E' : Type u_8} [CategoryTheory.Category.{v_8, u_8} E'] {X✝ Y✝ : CategoryTheory.Functor E E'} (f : X✝ ⟶ Y✝) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ E)) (c : C₁) (c✝ : C₂) : (((CategoryTheory.Functor.postcompose₂.map f).app F).app c).app c✝ = f.app ((F.obj c).obj c✝) - CategoryTheory.Functor.postcompose₃_map_app_app_app_app 📋 Mathlib.CategoryTheory.Whiskering
{C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} C₃] {E : Type u_7} [CategoryTheory.Category.{v_7, u_7} E] {E' : Type u_8} [CategoryTheory.Category.{v_8, u_8} E'] {X✝ Y✝ : CategoryTheory.Functor E E'} (f : X✝ ⟶ Y✝) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ (CategoryTheory.Functor C₃ E))) (c : C₁) (c✝ : C₂) (c✝¹ : C₃) : ((((CategoryTheory.Functor.postcompose₃.map f).app F).app c).app c✝).app c✝¹ = f.app (((F.obj c).obj c✝).obj c✝¹) - CategoryTheory.Functor.whiskeringLeft₂_map_app_app_app_app 📋 Mathlib.CategoryTheory.Whiskering
{C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_4} {D₂ : Type u_5} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_4, u_4} D₁] [CategoryTheory.Category.{v_5, u_5} D₂] (E : Type u_7) [CategoryTheory.Category.{v_7, u_7} E] {X✝ Y✝ : CategoryTheory.Functor C₁ D₁} (ψ : X✝ ⟶ Y✝) (F₂ : CategoryTheory.Functor C₂ D₂) (X : CategoryTheory.Functor D₁ (CategoryTheory.Functor D₂ E)) (c : C₁) (X✝¹ : C₂) : (((((CategoryTheory.Functor.whiskeringLeft₂ E).map ψ).app F₂).app X).app c).app X✝¹ = (X.map (ψ.app c)).app (F₂.obj X✝¹) - CategoryTheory.Functor.whiskeringLeft₃ObjMap_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₂ F₂' : CategoryTheory.Functor C₂ D₂} (τ₂ : F₂ ⟶ F₂') (F₃ : CategoryTheory.Functor C₃ D₃) : (CategoryTheory.Functor.whiskeringLeft₃ObjMap C₃ D₃ E F₁ τ₂).app F₃ = CategoryTheory.Functor.whiskerRight ((CategoryTheory.Functor.whiskeringRight D₁ (CategoryTheory.Functor D₂ (CategoryTheory.Functor D₃ E)) (CategoryTheory.Functor C₂ (CategoryTheory.Functor C₃ E))).map (((CategoryTheory.Functor.whiskeringLeft₂ E).map τ₂).app F₃)) ((CategoryTheory.Functor.whiskeringLeft C₁ D₁ (CategoryTheory.Functor C₂ (CategoryTheory.Functor C₃ E))).obj F₁) - CategoryTheory.NatTrans.rightOpWhiskerRight 📋 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 D E} (α : F ⟶ G) : CategoryTheory.NatTrans.rightOp (CategoryTheory.Functor.whiskerRight α H) = CategoryTheory.CategoryStruct.comp (G.rightOpComp H).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.NatTrans.rightOp α) H.op) (F.rightOpComp H).inv) - CategoryTheory.NatTrans.unop_whiskerRight 📋 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 Dᵒᵖ Eᵒᵖ} (α : F ⟶ G) : CategoryTheory.NatTrans.unop (CategoryTheory.Functor.whiskerRight α H) = CategoryTheory.CategoryStruct.comp (G.unopComp H).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.NatTrans.unop α) H.unop) (F.unopComp H).inv) - CategoryTheory.NatTrans.op_whiskerRight 📋 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 D E} (α : F ⟶ G) : CategoryTheory.NatTrans.op (CategoryTheory.Functor.whiskerRight α H) = CategoryTheory.CategoryStruct.comp (G.opComp H).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.NatTrans.op α) H.op) (F.opComp H).inv) - CategoryTheory.NatTrans.unop_whiskerRight_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 Dᵒᵖ Eᵒᵖ} (α : F ⟶ G) {Z : CategoryTheory.Functor C E} (h : (F.comp H).unop ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.NatTrans.unop (CategoryTheory.Functor.whiskerRight α H)) h = CategoryTheory.CategoryStruct.comp (G.unopComp H).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.NatTrans.unop α) H.unop) (CategoryTheory.CategoryStruct.comp (F.unopComp H).inv h)) - CategoryTheory.NatTrans.rightOpWhiskerRight_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 D E} (α : F ⟶ G) {Z : CategoryTheory.Functor C Eᵒᵖ} (h : (F.comp H).rightOp ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.NatTrans.rightOp (CategoryTheory.Functor.whiskerRight α H)) h = CategoryTheory.CategoryStruct.comp (G.rightOpComp H).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.NatTrans.rightOp α) H.op) (CategoryTheory.CategoryStruct.comp (F.rightOpComp H).inv h)) - CategoryTheory.NatTrans.op_whiskerRight_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 D E} (α : F ⟶ G) {Z : CategoryTheory.Functor Cᵒᵖ Eᵒᵖ} (h : (F.comp H).op ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.NatTrans.op (CategoryTheory.Functor.whiskerRight α H)) h = CategoryTheory.CategoryStruct.comp (G.opComp H).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.NatTrans.op α) H.op) (CategoryTheory.CategoryStruct.comp (F.opComp H).inv h)) - CategoryTheory.functorProdToProdFunctor_map 📋 Mathlib.CategoryTheory.Products.Basic
(A : Type u₁) [CategoryTheory.Category.{v₁, u₁} A] (B : Type u₂) [CategoryTheory.Category.{v₂, u₂} B] (C : Type u₃) [CategoryTheory.Category.{v₃, u₃} C] {X✝ Y✝ : CategoryTheory.Functor A (B × C)} (α : X✝ ⟶ Y✝) : (CategoryTheory.functorProdToProdFunctor A B C).map α = CategoryTheory.Prod.mkHom (CategoryTheory.Functor.whiskerRight α (CategoryTheory.Prod.fst B C)) (CategoryTheory.Functor.whiskerRight α (CategoryTheory.Prod.snd B C)) - CategoryTheory.Adjunction.ofNatIsoLeft_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 : F ⊣ H) (iso : F ≅ G) : (adj.ofNatIsoLeft iso).unit = CategoryTheory.CategoryStruct.comp adj.unit (CategoryTheory.Functor.whiskerRight iso.hom H) - CategoryTheory.Adjunction.ofNatIsoRight_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 : H ⊣ F) (iso : F ≅ G) : (adj.ofNatIsoRight iso).counit = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight iso.inv H) adj.counit - 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.Functor.mapCoconePrecompose 📋 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] (H : CategoryTheory.Functor C D) {F G : CategoryTheory.Functor J C} {α : G ⟶ F} {c : CategoryTheory.Limits.Cocone F} : H.mapCocone ((CategoryTheory.Limits.Cocone.precompose α).obj c) ≅ (CategoryTheory.Limits.Cocone.precompose (CategoryTheory.Functor.whiskerRight α H)).obj (H.mapCocone c) - CategoryTheory.Functor.mapConePostcompose 📋 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] (H : CategoryTheory.Functor C D) {F G : CategoryTheory.Functor J C} {α : F ⟶ G} {c : CategoryTheory.Limits.Cone F} : H.mapCone ((CategoryTheory.Limits.Cone.postcompose α).obj c) ≅ (CategoryTheory.Limits.Cone.postcompose (CategoryTheory.Functor.whiskerRight α H)).obj (H.mapCone c) - CategoryTheory.Functor.mapCoconePrecompose_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] (H : CategoryTheory.Functor C D) {F G : CategoryTheory.Functor J C} {α : G ⟶ F} {c : CategoryTheory.Limits.Cocone F} : H.mapCoconePrecompose.hom.hom = CategoryTheory.CategoryStruct.id (H.obj c.pt) - CategoryTheory.Functor.mapCoconePrecompose_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] (H : CategoryTheory.Functor C D) {F G : CategoryTheory.Functor J C} {α : G ⟶ F} {c : CategoryTheory.Limits.Cocone F} : H.mapCoconePrecompose.inv.hom = CategoryTheory.CategoryStruct.id (H.obj c.pt) - CategoryTheory.Functor.mapConePostcompose_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] (H : CategoryTheory.Functor C D) {F G : CategoryTheory.Functor J C} {α : F ⟶ G} {c : CategoryTheory.Limits.Cone F} : H.mapConePostcompose.hom.hom = CategoryTheory.CategoryStruct.id (H.obj c.pt) - CategoryTheory.Functor.mapConePostcompose_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] (H : CategoryTheory.Functor C D) {F G : CategoryTheory.Functor J C} {α : F ⟶ G} {c : CategoryTheory.Limits.Cone F} : H.mapConePostcompose.inv.hom = CategoryTheory.CategoryStruct.id (H.obj c.pt) - CategoryTheory.Cat.whiskerRight_toNatTrans 📋 Mathlib.CategoryTheory.Category.Cat
{C D E : CategoryTheory.Cat} {F G : C ⟶ D} (H : D ⟶ E) (η : F ⟶ G) : (CategoryTheory.Bicategory.whiskerRight η H).toNatTrans = CategoryTheory.Functor.whiskerRight η.toNatTrans H.toFunctor - 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] [CategoryTheory.Limits.HasColimitsOfShape J C] [CategoryTheory.Limits.HasColimitsOfShape K C] (F : CategoryTheory.Functor J C) {E₁ E₂ : CategoryTheory.Functor K J} (α : E₁ ⟶ E₂) : CategoryTheory.Limits.colimit.pre F E₁ = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colim.map (CategoryTheory.Functor.whiskerRight α F)) (CategoryTheory.Limits.colimit.pre F 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] [CategoryTheory.Limits.HasLimitsOfShape J C] [CategoryTheory.Limits.HasLimitsOfShape K C] (F : CategoryTheory.Functor J C) {E₁ E₂ : CategoryTheory.Functor K J} (α : E₁ ⟶ E₂) : CategoryTheory.Limits.limit.pre F E₂ = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.pre F E₁) (CategoryTheory.Limits.lim.map (CategoryTheory.Functor.whiskerRight α F)) - CategoryTheory.Limits.limit.map_post 📋 Mathlib.CategoryTheory.Limits.HasLimits
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {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) {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Limits.HasLimitsOfShape J D] (H : CategoryTheory.Functor C D) : CategoryTheory.CategoryStruct.comp (H.map (CategoryTheory.Limits.limMap α)) (CategoryTheory.Limits.limit.post G H) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.post F H) (CategoryTheory.Limits.limMap (CategoryTheory.Functor.whiskerRight α H)) - CategoryTheory.Limits.colimit.map_post 📋 Mathlib.CategoryTheory.Limits.HasLimits
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {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) {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Limits.HasColimitsOfShape J D] (H : CategoryTheory.Functor C D) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.post F H) (H.map (CategoryTheory.Limits.colim.map α)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colim.map (CategoryTheory.Functor.whiskerRight α H)) (CategoryTheory.Limits.colimit.post G 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.Functor.whiskerRight_zero 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Zero
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] [CategoryTheory.Limits.HasZeroMorphisms D] [CategoryTheory.Limits.HasZeroMorphisms E] {F G : CategoryTheory.Functor C D} (H : CategoryTheory.Functor D E) [H.PreservesZeroMorphisms] : CategoryTheory.Functor.whiskerRight 0 H = 0 - CategoryTheory.ExactFunctor.whiskeringRight_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 : D ⥤ₑ E) {X✝ Y✝ : C ⥤ₑ D} (f : X✝ ⟶ Y✝) : ((CategoryTheory.ExactFunctor.whiskeringRight C D E).obj F).map f = CategoryTheory.ObjectProperty.homMk (CategoryTheory.Functor.whiskerRight f.hom F.obj) - CategoryTheory.LeftExactFunctor.whiskeringRight_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 : D ⥤ₗ E) {X✝ Y✝ : C ⥤ₗ D} (f : X✝ ⟶ Y✝) : ((CategoryTheory.LeftExactFunctor.whiskeringRight C D E).obj F).map f = CategoryTheory.ObjectProperty.homMk (CategoryTheory.Functor.whiskerRight f.hom F.obj) - CategoryTheory.RightExactFunctor.whiskeringRight_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 : D ⥤ᵣ E) {X✝ Y✝ : C ⥤ᵣ D} (f : X✝ ⟶ Y✝) : ((CategoryTheory.RightExactFunctor.whiskeringRight C D E).obj F).map f = CategoryTheory.ObjectProperty.homMk (CategoryTheory.Functor.whiskerRight f.hom F.obj) - CategoryTheory.Adjunction.whiskerRight_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 (CategoryTheory.Functor.whiskerRight h.counit R) - CategoryTheory.Adjunction.whiskerRight_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 (CategoryTheory.Functor.whiskerRight h.unit L) - CategoryTheory.NatTrans.IsMonoidal.whiskerRight 📋 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₁ F₂ : CategoryTheory.Functor C D} (τ : F₁ ⟶ F₂) [F₁.LaxMonoidal] [F₂.LaxMonoidal] {G₁ : CategoryTheory.Functor D E} [G₁.LaxMonoidal] [CategoryTheory.NatTrans.IsMonoidal τ] : CategoryTheory.NatTrans.IsMonoidal (CategoryTheory.Functor.whiskerRight τ G₁) - 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_id_comp 📋 Mathlib.Algebra.Category.ModuleCat.ChangeOfRings
{R₁ R₂ : Type u₁} [CommRing R₁] [CommRing R₂] (f₁₂ : R₁ →+* R₂) : CategoryTheory.CategoryStruct.comp (ModuleCat.extendScalarsComp (RingHom.id R₁) f₁₂).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (ModuleCat.extendScalarsId R₁).hom (ModuleCat.extendScalars f₁₂)) (ModuleCat.extendScalars f₁₂).leftUnitor.hom) = CategoryTheory.CategoryStruct.id (ModuleCat.extendScalars (f₁₂.comp (RingHom.id R₁))) - ModuleCat.extendScalars_id_comp_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 (RingHom.id R₁) f₁₂).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (ModuleCat.extendScalarsId R₁).hom (ModuleCat.extendScalars f₁₂)) (CategoryTheory.CategoryStruct.comp (ModuleCat.extendScalars f₁₂).leftUnitor.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.rightAdjointUniq_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 : CategoryTheory.Functor C D} {G G' : CategoryTheory.Functor D C} (adj1 : F ⊣ G) (adj2 : F ⊣ G') : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (adj1.rightAdjointUniq adj2).hom F) adj2.counit = adj1.counit - CategoryTheory.Adjunction.unit_leftAdjointUniq_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 F' : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj1 : F ⊣ G) (adj2 : F' ⊣ G) : CategoryTheory.CategoryStruct.comp adj1.unit (CategoryTheory.Functor.whiskerRight (adj1.leftAdjointUniq adj2).hom G) = adj2.unit - CategoryTheory.Adjunction.rightAdjointUniq_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 : CategoryTheory.Functor C D} {G 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 (CategoryTheory.Functor.whiskerRight (adj1.rightAdjointUniq adj2).hom F) (CategoryTheory.CategoryStruct.comp adj2.counit h) = CategoryTheory.CategoryStruct.comp adj1.counit h - CategoryTheory.Adjunction.unit_leftAdjointUniq_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 F' : CategoryTheory.Functor C D} {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 (CategoryTheory.Functor.whiskerRight (adj1.leftAdjointUniq adj2).hom G) h) = CategoryTheory.CategoryStruct.comp adj2.unit h - CategoryTheory.WithInitial.commaFromUnder_map_right 📋 Mathlib.CategoryTheory.WithTerminal.Cone
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : Type w} [CategoryTheory.Category.{w', w} J] {X : C} {X✝ Y✝ : CategoryTheory.Functor J (CategoryTheory.Under X)} (f : X✝ ⟶ Y✝) : (CategoryTheory.WithInitial.commaFromUnder.map f).right = CategoryTheory.Functor.whiskerRight f (CategoryTheory.Under.forget X) - CategoryTheory.WithTerminal.commaFromOver_map_left 📋 Mathlib.CategoryTheory.WithTerminal.Cone
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : Type w} [CategoryTheory.Category.{w', w} J] {X : C} {X✝ Y✝ : CategoryTheory.Functor J (CategoryTheory.Over X)} (f : X✝ ⟶ Y✝) : (CategoryTheory.WithTerminal.commaFromOver.map f).left = CategoryTheory.Functor.whiskerRight f (CategoryTheory.Over.forget X) - CategoryTheory.Grothendieck.preNatIso 📋 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 H : CategoryTheory.Functor D C} (α : G ≅ H) : CategoryTheory.Grothendieck.pre F G ≅ (CategoryTheory.Grothendieck.map (CategoryTheory.Functor.whiskerRight α.hom F)).comp (CategoryTheory.Grothendieck.pre F H) - CategoryTheory.Grothendieck.mapWhiskerRightAsSmallFunctor 📋 Mathlib.CategoryTheory.Grothendieck
{C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor C CategoryTheory.Cat} (α : F ⟶ G) : CategoryTheory.Grothendieck.map (CategoryTheory.Functor.whiskerRight α CategoryTheory.Cat.asSmallFunctor) ≅ (CategoryTheory.Grothendieck.compAsSmallFunctorEquivalence F).functor.comp ((CategoryTheory.Grothendieck.map α).comp (CategoryTheory.Grothendieck.compAsSmallFunctorEquivalence G).inverse) - CategoryTheory.Grothendieck.preUnitIso 📋 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 : D ≌ C) : CategoryTheory.Grothendieck.map (CategoryTheory.Functor.whiskerRight G.unitInv (G.functor.comp F)) ≅ CategoryTheory.Grothendieck.pre (G.functor.comp F) (G.functor.comp G.inverse) - CategoryTheory.Limits.fiberwiseColimit_map 📋 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] (G : CategoryTheory.Functor (CategoryTheory.Grothendieck F) H) [∀ {X Y : C} (f : X ⟶ Y), CategoryTheory.Limits.HasColimit ((F.map f).toFunctor.comp ((CategoryTheory.Grothendieck.ι F Y).comp G))] {X Y : C} (f : X ⟶ Y) : (CategoryTheory.Limits.fiberwiseColimit G).map f = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimMap (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Grothendieck.ιNatTrans f) G) ((F.map f).toFunctor.associator (CategoryTheory.Grothendieck.ι F Y) G).hom)) (CategoryTheory.Limits.colimit.pre ((CategoryTheory.Grothendieck.ι F Y).comp G) (F.map f).toFunctor) - CategoryTheory.Limits.ColimitPresentation.map_ι 📋 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) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] (F : CategoryTheory.Functor C D) [CategoryTheory.Limits.PreservesColimitsOfShape J F] : (P.map F).ι = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight P.ι F) (CategoryTheory.Functor.constComp J X F).hom - CategoryTheory.Limits.LimitPresentation.map_π 📋 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) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] (F : CategoryTheory.Functor C D) [CategoryTheory.Limits.PreservesLimitsOfShape J F] : (P.map F).π = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.constComp J X F).inv (CategoryTheory.Functor.whiskerRight P.π F) - 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.isLeftKanExtension_postcompose₂_iff 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {H' : Type u_4} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_4, u_4} 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') (G : CategoryTheory.Functor H H') [G.IsEquivalence] : (F'.comp G).IsLeftKanExtension (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α G) (L.associator F' G).hom) ↔ F'.IsLeftKanExtension α - CategoryTheory.Functor.isRightKanExtension_postcompose₂_iff 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {H' : Type u_4} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_4, u_4} 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) (G : CategoryTheory.Functor H H') [G.IsEquivalence] : (F'.comp G).IsRightKanExtension (CategoryTheory.CategoryStruct.comp (L.associator F' G).inv (CategoryTheory.Functor.whiskerRight β G)) ↔ F'.IsRightKanExtension β - CategoryTheory.Functor.isRightKanExtension_iff_postcomp₁ 📋 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 C D'} (G : CategoryTheory.Functor D D') [G.IsEquivalence] (e : L.comp G ≅ L') {F : CategoryTheory.Functor C H} {F' : CategoryTheory.Functor D' H} (α : L'.comp F' ⟶ F) : F'.IsRightKanExtension α ↔ (G.comp F').IsRightKanExtension (CategoryTheory.CategoryStruct.comp (L.associator G F').inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e.hom F') α)) - CategoryTheory.Functor.isLeftKanExtension_iff_postcomp₁ 📋 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 C D'} (G : CategoryTheory.Functor D D') [G.IsEquivalence] (e : L.comp G ≅ L') {F : CategoryTheory.Functor C H} {F' : CategoryTheory.Functor D' H} (α : F ⟶ L'.comp F') : F'.IsLeftKanExtension α ↔ (G.comp F').IsLeftKanExtension (CategoryTheory.CategoryStruct.comp α (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e.inv F') (L.associator G F').hom)) - 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.LeftExtension.postcompose₂ObjMkIso 📋 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} {F : CategoryTheory.Functor C H} (G : CategoryTheory.Functor H D') {F' : CategoryTheory.Functor D H} (α : F ⟶ L.comp F') : (CategoryTheory.Functor.LeftExtension.postcompose₂ L F G).obj (CategoryTheory.Functor.LeftExtension.mk F' α) ≅ CategoryTheory.Functor.LeftExtension.mk (F'.comp G) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α G) (L.associator F' G).hom) - CategoryTheory.Functor.RightExtension.postcompose₂ObjMkIso 📋 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} {F : CategoryTheory.Functor C H} (G : CategoryTheory.Functor H D') {F' : CategoryTheory.Functor D H} (α : L.comp F' ⟶ F) : (CategoryTheory.Functor.RightExtension.postcompose₂ L F G).obj (CategoryTheory.Functor.RightExtension.mk F' α) ≅ CategoryTheory.Functor.RightExtension.mk (F'.comp G) (CategoryTheory.CategoryStruct.comp (L.associator F' G).inv (CategoryTheory.Functor.whiskerRight α G)) - 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.LeftExtension.postcompose₂ObjMkIso_hom_right_app 📋 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} {F : CategoryTheory.Functor C H} (G : CategoryTheory.Functor H D') {F' : CategoryTheory.Functor D H} (α : F ⟶ L.comp F') (X : D) : (CategoryTheory.Functor.LeftExtension.postcompose₂ObjMkIso G α).hom.right.app X = CategoryTheory.CategoryStruct.id (G.obj (F'.obj X)) - CategoryTheory.Functor.LeftExtension.postcompose₂ObjMkIso_inv_right_app 📋 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} {F : CategoryTheory.Functor C H} (G : CategoryTheory.Functor H D') {F' : CategoryTheory.Functor D H} (α : F ⟶ L.comp F') (X : D) : (CategoryTheory.Functor.LeftExtension.postcompose₂ObjMkIso G α).inv.right.app X = CategoryTheory.CategoryStruct.id (G.obj (F'.obj X)) - CategoryTheory.Functor.RightExtension.postcompose₂ObjMkIso_hom_left_app 📋 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} {F : CategoryTheory.Functor C H} (G : CategoryTheory.Functor H D') {F' : CategoryTheory.Functor D H} (α : L.comp F' ⟶ F) (X : D) : (CategoryTheory.Functor.RightExtension.postcompose₂ObjMkIso G α).hom.left.app X = CategoryTheory.CategoryStruct.id (G.obj (F'.obj X)) - CategoryTheory.Functor.RightExtension.postcompose₂ObjMkIso_inv_left_app 📋 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} {F : CategoryTheory.Functor C H} (G : CategoryTheory.Functor H D') {F' : CategoryTheory.Functor D H} (α : L.comp F' ⟶ F) (X : D) : (CategoryTheory.Functor.RightExtension.postcompose₂ObjMkIso G α).inv.left.app X = CategoryTheory.CategoryStruct.id (G.obj (F'.obj X)) - CategoryTheory.limitCompWhiskeringRightIsoLimitComp_inv_π 📋 Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {E : Type u_3} [CategoryTheory.Category.{v_3, u_3} E] {J : Type u_4} [CategoryTheory.Category.{v_4, u_4} J] [CategoryTheory.Limits.HasLimitsOfShape J D] (F : CategoryTheory.Functor D E) [CategoryTheory.Limits.PreservesLimitsOfShape J F] (G : CategoryTheory.Functor J (CategoryTheory.Functor C D)) (j : J) : CategoryTheory.CategoryStruct.comp (CategoryTheory.limitCompWhiskeringRightIsoLimitComp F G).inv (CategoryTheory.Limits.limit.π (G.comp ((CategoryTheory.Functor.whiskeringRight C D E).obj F)) j) = CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.limit.π G j) F - CategoryTheory.ι_colimitCompWhiskeringRightIsoColimitComp_hom 📋 Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {E : Type u_3} [CategoryTheory.Category.{v_3, u_3} E] {J : Type u_4} [CategoryTheory.Category.{v_4, u_4} J] [CategoryTheory.Limits.HasColimitsOfShape J D] (F : CategoryTheory.Functor D E) [CategoryTheory.Limits.PreservesColimitsOfShape J F] (G : CategoryTheory.Functor J (CategoryTheory.Functor C D)) (j : J) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι (G.comp ((CategoryTheory.Functor.whiskeringRight C D E).obj F)) j) (CategoryTheory.colimitCompWhiskeringRightIsoColimitComp F G).hom = CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.colimit.ι G j) F - CategoryTheory.limitCompWhiskeringRightIsoLimitComp_hom_whiskerRight_π 📋 Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {E : Type u_3} [CategoryTheory.Category.{v_3, u_3} E] {J : Type u_4} [CategoryTheory.Category.{v_4, u_4} J] [CategoryTheory.Limits.HasLimitsOfShape J D] (F : CategoryTheory.Functor D E) [CategoryTheory.Limits.PreservesLimitsOfShape J F] (G : CategoryTheory.Functor J (CategoryTheory.Functor C D)) (j : J) : CategoryTheory.CategoryStruct.comp (CategoryTheory.limitCompWhiskeringRightIsoLimitComp F G).hom (CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.limit.π G j) F) = CategoryTheory.Limits.limit.π (G.comp ((CategoryTheory.Functor.whiskeringRight C D E).obj F)) j - CategoryTheory.whiskerRight_ι_colimitCompWhiskeringRightIsoColimitComp_inv 📋 Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {E : Type u_3} [CategoryTheory.Category.{v_3, u_3} E] {J : Type u_4} [CategoryTheory.Category.{v_4, u_4} J] [CategoryTheory.Limits.HasColimitsOfShape J D] (F : CategoryTheory.Functor D E) [CategoryTheory.Limits.PreservesColimitsOfShape J F] (G : CategoryTheory.Functor J (CategoryTheory.Functor C D)) (j : J) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.colimit.ι G j) F) (CategoryTheory.colimitCompWhiskeringRightIsoColimitComp F G).inv = CategoryTheory.Limits.colimit.ι (G.comp ((CategoryTheory.Functor.whiskeringRight C D E).obj F)) j - CategoryTheory.limitCompWhiskeringRightIsoLimitComp_inv_π_assoc 📋 Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {E : Type u_3} [CategoryTheory.Category.{v_3, u_3} E] {J : Type u_4} [CategoryTheory.Category.{v_4, u_4} J] [CategoryTheory.Limits.HasLimitsOfShape J D] (F : CategoryTheory.Functor D E) [CategoryTheory.Limits.PreservesLimitsOfShape J F] (G : CategoryTheory.Functor J (CategoryTheory.Functor C D)) (j : J) {Z : CategoryTheory.Functor C E} (h : ((CategoryTheory.Functor.whiskeringRight C D E).obj F).obj (G.obj j) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.limitCompWhiskeringRightIsoLimitComp F G).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π (G.comp ((CategoryTheory.Functor.whiskeringRight C D E).obj F)) j) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.limit.π G j) F) h - CategoryTheory.ι_colimitCompWhiskeringRightIsoColimitComp_hom_assoc 📋 Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {E : Type u_3} [CategoryTheory.Category.{v_3, u_3} E] {J : Type u_4} [CategoryTheory.Category.{v_4, u_4} J] [CategoryTheory.Limits.HasColimitsOfShape J D] (F : CategoryTheory.Functor D E) [CategoryTheory.Limits.PreservesColimitsOfShape J F] (G : CategoryTheory.Functor J (CategoryTheory.Functor C D)) (j : J) {Z : CategoryTheory.Functor C E} (h : (CategoryTheory.Limits.colimit G).comp F ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι (G.comp ((CategoryTheory.Functor.whiskeringRight C D E).obj F)) j) (CategoryTheory.CategoryStruct.comp (CategoryTheory.colimitCompWhiskeringRightIsoColimitComp F G).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.colimit.ι G j) F) h - CategoryTheory.limitCompWhiskeringRightIsoLimitComp_hom_whiskerRight_π_assoc 📋 Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {E : Type u_3} [CategoryTheory.Category.{v_3, u_3} E] {J : Type u_4} [CategoryTheory.Category.{v_4, u_4} J] [CategoryTheory.Limits.HasLimitsOfShape J D] (F : CategoryTheory.Functor D E) [CategoryTheory.Limits.PreservesLimitsOfShape J F] (G : CategoryTheory.Functor J (CategoryTheory.Functor C D)) (j : J) {Z : CategoryTheory.Functor C E} (h : (G.obj j).comp F ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.limitCompWhiskeringRightIsoLimitComp F G).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.limit.π G j) F) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π (G.comp ((CategoryTheory.Functor.whiskeringRight C D E).obj F)) j) h - CategoryTheory.whiskerRight_ι_colimitCompWhiskeringRightIsoColimitComp_inv_assoc 📋 Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {E : Type u_3} [CategoryTheory.Category.{v_3, u_3} E] {J : Type u_4} [CategoryTheory.Category.{v_4, u_4} J] [CategoryTheory.Limits.HasColimitsOfShape J D] (F : CategoryTheory.Functor D E) [CategoryTheory.Limits.PreservesColimitsOfShape J F] (G : CategoryTheory.Functor J (CategoryTheory.Functor C D)) (j : J) {Z : CategoryTheory.Functor C E} (h : CategoryTheory.Limits.colimit (G.comp ((CategoryTheory.Functor.whiskeringRight C D E).obj F)) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.colimit.ι G j) F) (CategoryTheory.CategoryStruct.comp (CategoryTheory.colimitCompWhiskeringRightIsoColimitComp F G).inv h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι (G.comp ((CategoryTheory.Functor.whiskeringRight C D E).obj F)) j) h - CategoryTheory.instEpiFunctorWhiskerRightOfPreservesEpimorphisms 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono
{K : Type u} [CategoryTheory.Category.{v, u} K] {C : Type u'} [CategoryTheory.Category.{v', u'} C] {D : Type u''} [CategoryTheory.Category.{v'', u''} D] {F G : CategoryTheory.Functor K C} (f : F ⟶ G) [CategoryTheory.Limits.HasPushouts C] [CategoryTheory.Epi f] (H : CategoryTheory.Functor C D) [H.PreservesEpimorphisms] : CategoryTheory.Epi (CategoryTheory.Functor.whiskerRight f H) - CategoryTheory.instMonoFunctorWhiskerRightOfPreservesMonomorphisms 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono
{K : Type u} [CategoryTheory.Category.{v, u} K] {C : Type u'} [CategoryTheory.Category.{v', u'} C] {D : Type u''} [CategoryTheory.Category.{v'', u''} D] {F G : CategoryTheory.Functor K C} (f : F ⟶ G) [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.Mono f] (H : CategoryTheory.Functor C D) [H.PreservesMonomorphisms] : CategoryTheory.Mono (CategoryTheory.Functor.whiskerRight f H) - CategoryTheory.Limits.reflexivePair.whiskerRightMkNatTrans 📋 Mathlib.CategoryTheory.Limits.Shapes.Reflexive
{C : Type u} [CategoryTheory.Category.{v, u} C] {F G : CategoryTheory.Functor CategoryTheory.Limits.WalkingReflexivePair C} (e₀ : F.obj CategoryTheory.Limits.WalkingReflexivePair.zero ⟶ G.obj CategoryTheory.Limits.WalkingReflexivePair.zero) (e₁ : F.obj CategoryTheory.Limits.WalkingReflexivePair.one ⟶ G.obj CategoryTheory.Limits.WalkingReflexivePair.one) {h₁ : CategoryTheory.CategoryStruct.comp (F.map CategoryTheory.Limits.WalkingReflexivePair.Hom.left) e₀ = CategoryTheory.CategoryStruct.comp e₁ (G.map CategoryTheory.Limits.WalkingReflexivePair.Hom.left)} {h₂ : CategoryTheory.CategoryStruct.comp (F.map CategoryTheory.Limits.WalkingReflexivePair.Hom.right) e₀ = CategoryTheory.CategoryStruct.comp e₁ (G.map CategoryTheory.Limits.WalkingReflexivePair.Hom.right)} {h₃ : CategoryTheory.CategoryStruct.comp (F.map CategoryTheory.Limits.WalkingReflexivePair.Hom.reflexion) e₁ = CategoryTheory.CategoryStruct.comp e₀ (G.map CategoryTheory.Limits.WalkingReflexivePair.Hom.reflexion)} {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (H : CategoryTheory.Functor C D) : CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.reflexivePair.mkNatTrans e₀ e₁ ⋯ ⋯ ⋯) H = CategoryTheory.Limits.reflexivePair.mkNatTrans (H.map e₀) (H.map e₁) ⋯ ⋯ ⋯ - 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.NatTrans.CommShift.whiskerRight 📋 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₁ F₂ : CategoryTheory.Functor C D} (τ : F₁ ⟶ F₂) (G : CategoryTheory.Functor D E) (A : Type u_5) [AddMonoid A] [CategoryTheory.HasShift C A] [CategoryTheory.HasShift D A] [CategoryTheory.HasShift E A] [F₁.CommShift A] [F₂.CommShift A] [G.CommShift A] [CategoryTheory.NatTrans.CommShift τ A] : CategoryTheory.NatTrans.CommShift (CategoryTheory.Functor.whiskerRight τ G) 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] {obj₁ obj₂ obj₃ : CategoryTheory.Functor J C} {mor₁ : obj₁ ⟶ obj₂} {mor₂ : obj₂ ⟶ obj₃} {mor₃ : obj₃ ⟶ obj₁.comp (CategoryTheory.shiftFunctor C 1)} {obj₁' obj₂' obj₃' : CategoryTheory.Functor J C} {mor₁' : obj₁' ⟶ obj₂'} {mor₂' : obj₂' ⟶ obj₃'} {mor₃' : obj₃' ⟶ obj₁'.comp (CategoryTheory.shiftFunctor C 1)} (hom₁ : obj₁ ⟶ obj₁') (hom₂ : obj₂ ⟶ obj₂') (hom₃ : obj₃ ⟶ obj₃') (comm₁ : CategoryTheory.CategoryStruct.comp mor₁ hom₂ = CategoryTheory.CategoryStruct.comp hom₁ mor₁') (comm₂ : CategoryTheory.CategoryStruct.comp mor₂ hom₃ = CategoryTheory.CategoryStruct.comp hom₂ mor₂') (comm₃ : CategoryTheory.CategoryStruct.comp mor₃ (CategoryTheory.Functor.whiskerRight hom₁ (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp hom₃ mor₃') : CategoryTheory.Pretriangulated.Triangle.functorMk mor₁ mor₂ mor₃ ⟶ CategoryTheory.Pretriangulated.Triangle.functorMk mor₁' mor₂' mor₃' - 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] {obj₁ obj₂ obj₃ : CategoryTheory.Functor J C} {mor₁ : obj₁ ⟶ obj₂} {mor₂ : obj₂ ⟶ obj₃} {mor₃ : obj₃ ⟶ obj₁.comp (CategoryTheory.shiftFunctor C 1)} {obj₁' obj₂' obj₃' : CategoryTheory.Functor J C} {mor₁' : obj₁' ⟶ obj₂'} {mor₂' : obj₂' ⟶ obj₃'} {mor₃' : obj₃' ⟶ obj₁'.comp (CategoryTheory.shiftFunctor C 1)} (iso₁ : obj₁ ≅ obj₁') (iso₂ : obj₂ ≅ obj₂') (iso₃ : obj₃ ≅ obj₃') (comm₁ : CategoryTheory.CategoryStruct.comp mor₁ iso₂.hom = CategoryTheory.CategoryStruct.comp iso₁.hom mor₁') (comm₂ : CategoryTheory.CategoryStruct.comp mor₂ iso₃.hom = CategoryTheory.CategoryStruct.comp iso₂.hom mor₂') (comm₃ : CategoryTheory.CategoryStruct.comp mor₃ (CategoryTheory.Functor.whiskerRight iso₁.hom (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp iso₃.hom mor₃') : CategoryTheory.Pretriangulated.Triangle.functorMk mor₁ mor₂ mor₃ ≅ CategoryTheory.Pretriangulated.Triangle.functorMk mor₁' mor₂' mor₃' - 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] {obj₁ obj₂ obj₃ : CategoryTheory.Functor J C} {mor₁ : obj₁ ⟶ obj₂} {mor₂ : obj₂ ⟶ obj₃} {mor₃ : obj₃ ⟶ obj₁.comp (CategoryTheory.shiftFunctor C 1)} {obj₁' obj₂' obj₃' : CategoryTheory.Functor J C} {mor₁' : obj₁' ⟶ obj₂'} {mor₂' : obj₂' ⟶ obj₃'} {mor₃' : obj₃' ⟶ obj₁'.comp (CategoryTheory.shiftFunctor C 1)} (hom₁ : obj₁ ⟶ obj₁') (hom₂ : obj₂ ⟶ obj₂') (hom₃ : obj₃ ⟶ obj₃') (comm₁ : CategoryTheory.CategoryStruct.comp mor₁ hom₂ = CategoryTheory.CategoryStruct.comp hom₁ mor₁') (comm₂ : CategoryTheory.CategoryStruct.comp mor₂ hom₃ = CategoryTheory.CategoryStruct.comp hom₂ mor₂') (comm₃ : CategoryTheory.CategoryStruct.comp mor₃ (CategoryTheory.Functor.whiskerRight hom₁ (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp hom₃ mor₃') (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorHomMk' 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] {obj₁ obj₂ obj₃ : CategoryTheory.Functor J C} {mor₁ : obj₁ ⟶ obj₂} {mor₂ : obj₂ ⟶ obj₃} {mor₃ : obj₃ ⟶ obj₁.comp (CategoryTheory.shiftFunctor C 1)} {obj₁' obj₂' obj₃' : CategoryTheory.Functor J C} {mor₁' : obj₁' ⟶ obj₂'} {mor₂' : obj₂' ⟶ obj₃'} {mor₃' : obj₃' ⟶ obj₁'.comp (CategoryTheory.shiftFunctor C 1)} (hom₁ : obj₁ ⟶ obj₁') (hom₂ : obj₂ ⟶ obj₂') (hom₃ : obj₃ ⟶ obj₃') (comm₁ : CategoryTheory.CategoryStruct.comp mor₁ hom₂ = CategoryTheory.CategoryStruct.comp hom₁ mor₁') (comm₂ : CategoryTheory.CategoryStruct.comp mor₂ hom₃ = CategoryTheory.CategoryStruct.comp hom₂ mor₂') (comm₃ : CategoryTheory.CategoryStruct.comp mor₃ (CategoryTheory.Functor.whiskerRight hom₁ (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp hom₃ mor₃') (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorHomMk' 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] {obj₁ obj₂ obj₃ : CategoryTheory.Functor J C} {mor₁ : obj₁ ⟶ obj₂} {mor₂ : obj₂ ⟶ obj₃} {mor₃ : obj₃ ⟶ obj₁.comp (CategoryTheory.shiftFunctor C 1)} {obj₁' obj₂' obj₃' : CategoryTheory.Functor J C} {mor₁' : obj₁' ⟶ obj₂'} {mor₂' : obj₂' ⟶ obj₃'} {mor₃' : obj₃' ⟶ obj₁'.comp (CategoryTheory.shiftFunctor C 1)} (hom₁ : obj₁ ⟶ obj₁') (hom₂ : obj₂ ⟶ obj₂') (hom₃ : obj₃ ⟶ obj₃') (comm₁ : CategoryTheory.CategoryStruct.comp mor₁ hom₂ = CategoryTheory.CategoryStruct.comp hom₁ mor₁') (comm₂ : CategoryTheory.CategoryStruct.comp mor₂ hom₃ = CategoryTheory.CategoryStruct.comp hom₂ mor₂') (comm₃ : CategoryTheory.CategoryStruct.comp mor₃ (CategoryTheory.Functor.whiskerRight hom₁ (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp hom₃ mor₃') (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorHomMk' hom₁ hom₂ hom₃ comm₁ comm₂ comm₃).app j).hom₃ = hom₃.app j - CategoryTheory.Pretriangulated.Triangle.functorIsoMk'_hom_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] {obj₁ obj₂ obj₃ : CategoryTheory.Functor J C} {mor₁ : obj₁ ⟶ obj₂} {mor₂ : obj₂ ⟶ obj₃} {mor₃ : obj₃ ⟶ obj₁.comp (CategoryTheory.shiftFunctor C 1)} {obj₁' obj₂' obj₃' : CategoryTheory.Functor J C} {mor₁' : obj₁' ⟶ obj₂'} {mor₂' : obj₂' ⟶ obj₃'} {mor₃' : obj₃' ⟶ obj₁'.comp (CategoryTheory.shiftFunctor C 1)} (iso₁ : obj₁ ≅ obj₁') (iso₂ : obj₂ ≅ obj₂') (iso₃ : obj₃ ≅ obj₃') (comm₁ : CategoryTheory.CategoryStruct.comp mor₁ iso₂.hom = CategoryTheory.CategoryStruct.comp iso₁.hom mor₁') (comm₂ : CategoryTheory.CategoryStruct.comp mor₂ iso₃.hom = CategoryTheory.CategoryStruct.comp iso₂.hom mor₂') (comm₃ : CategoryTheory.CategoryStruct.comp mor₃ (CategoryTheory.Functor.whiskerRight iso₁.hom (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp iso₃.hom mor₃') (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorIsoMk' iso₁ iso₂ iso₃ comm₁ comm₂ comm₃).hom.app j).hom₁ = iso₁.hom.app j - CategoryTheory.Pretriangulated.Triangle.functorIsoMk'_hom_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] {obj₁ obj₂ obj₃ : CategoryTheory.Functor J C} {mor₁ : obj₁ ⟶ obj₂} {mor₂ : obj₂ ⟶ obj₃} {mor₃ : obj₃ ⟶ obj₁.comp (CategoryTheory.shiftFunctor C 1)} {obj₁' obj₂' obj₃' : CategoryTheory.Functor J C} {mor₁' : obj₁' ⟶ obj₂'} {mor₂' : obj₂' ⟶ obj₃'} {mor₃' : obj₃' ⟶ obj₁'.comp (CategoryTheory.shiftFunctor C 1)} (iso₁ : obj₁ ≅ obj₁') (iso₂ : obj₂ ≅ obj₂') (iso₃ : obj₃ ≅ obj₃') (comm₁ : CategoryTheory.CategoryStruct.comp mor₁ iso₂.hom = CategoryTheory.CategoryStruct.comp iso₁.hom mor₁') (comm₂ : CategoryTheory.CategoryStruct.comp mor₂ iso₃.hom = CategoryTheory.CategoryStruct.comp iso₂.hom mor₂') (comm₃ : CategoryTheory.CategoryStruct.comp mor₃ (CategoryTheory.Functor.whiskerRight iso₁.hom (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp iso₃.hom mor₃') (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorIsoMk' iso₁ iso₂ iso₃ comm₁ comm₂ comm₃).hom.app j).hom₂ = iso₂.hom.app j - CategoryTheory.Pretriangulated.Triangle.functorIsoMk'_hom_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] {obj₁ obj₂ obj₃ : CategoryTheory.Functor J C} {mor₁ : obj₁ ⟶ obj₂} {mor₂ : obj₂ ⟶ obj₃} {mor₃ : obj₃ ⟶ obj₁.comp (CategoryTheory.shiftFunctor C 1)} {obj₁' obj₂' obj₃' : CategoryTheory.Functor J C} {mor₁' : obj₁' ⟶ obj₂'} {mor₂' : obj₂' ⟶ obj₃'} {mor₃' : obj₃' ⟶ obj₁'.comp (CategoryTheory.shiftFunctor C 1)} (iso₁ : obj₁ ≅ obj₁') (iso₂ : obj₂ ≅ obj₂') (iso₃ : obj₃ ≅ obj₃') (comm₁ : CategoryTheory.CategoryStruct.comp mor₁ iso₂.hom = CategoryTheory.CategoryStruct.comp iso₁.hom mor₁') (comm₂ : CategoryTheory.CategoryStruct.comp mor₂ iso₃.hom = CategoryTheory.CategoryStruct.comp iso₂.hom mor₂') (comm₃ : CategoryTheory.CategoryStruct.comp mor₃ (CategoryTheory.Functor.whiskerRight iso₁.hom (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp iso₃.hom mor₃') (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorIsoMk' iso₁ iso₂ iso₃ comm₁ comm₂ comm₃).hom.app j).hom₃ = iso₃.hom.app j - CategoryTheory.Pretriangulated.Triangle.functorIsoMk'_inv_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] {obj₁ obj₂ obj₃ : CategoryTheory.Functor J C} {mor₁ : obj₁ ⟶ obj₂} {mor₂ : obj₂ ⟶ obj₃} {mor₃ : obj₃ ⟶ obj₁.comp (CategoryTheory.shiftFunctor C 1)} {obj₁' obj₂' obj₃' : CategoryTheory.Functor J C} {mor₁' : obj₁' ⟶ obj₂'} {mor₂' : obj₂' ⟶ obj₃'} {mor₃' : obj₃' ⟶ obj₁'.comp (CategoryTheory.shiftFunctor C 1)} (iso₁ : obj₁ ≅ obj₁') (iso₂ : obj₂ ≅ obj₂') (iso₃ : obj₃ ≅ obj₃') (comm₁ : CategoryTheory.CategoryStruct.comp mor₁ iso₂.hom = CategoryTheory.CategoryStruct.comp iso₁.hom mor₁') (comm₂ : CategoryTheory.CategoryStruct.comp mor₂ iso₃.hom = CategoryTheory.CategoryStruct.comp iso₂.hom mor₂') (comm₃ : CategoryTheory.CategoryStruct.comp mor₃ (CategoryTheory.Functor.whiskerRight iso₁.hom (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp iso₃.hom mor₃') (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorIsoMk' iso₁ iso₂ iso₃ comm₁ comm₂ comm₃).inv.app j).hom₁ = iso₁.inv.app j - CategoryTheory.Pretriangulated.Triangle.functorIsoMk'_inv_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] {obj₁ obj₂ obj₃ : CategoryTheory.Functor J C} {mor₁ : obj₁ ⟶ obj₂} {mor₂ : obj₂ ⟶ obj₃} {mor₃ : obj₃ ⟶ obj₁.comp (CategoryTheory.shiftFunctor C 1)} {obj₁' obj₂' obj₃' : CategoryTheory.Functor J C} {mor₁' : obj₁' ⟶ obj₂'} {mor₂' : obj₂' ⟶ obj₃'} {mor₃' : obj₃' ⟶ obj₁'.comp (CategoryTheory.shiftFunctor C 1)} (iso₁ : obj₁ ≅ obj₁') (iso₂ : obj₂ ≅ obj₂') (iso₃ : obj₃ ≅ obj₃') (comm₁ : CategoryTheory.CategoryStruct.comp mor₁ iso₂.hom = CategoryTheory.CategoryStruct.comp iso₁.hom mor₁') (comm₂ : CategoryTheory.CategoryStruct.comp mor₂ iso₃.hom = CategoryTheory.CategoryStruct.comp iso₂.hom mor₂') (comm₃ : CategoryTheory.CategoryStruct.comp mor₃ (CategoryTheory.Functor.whiskerRight iso₁.hom (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp iso₃.hom mor₃') (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorIsoMk' iso₁ iso₂ iso₃ comm₁ comm₂ comm₃).inv.app j).hom₂ = iso₂.inv.app j - CategoryTheory.Pretriangulated.Triangle.functorIsoMk'_inv_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] {obj₁ obj₂ obj₃ : CategoryTheory.Functor J C} {mor₁ : obj₁ ⟶ obj₂} {mor₂ : obj₂ ⟶ obj₃} {mor₃ : obj₃ ⟶ obj₁.comp (CategoryTheory.shiftFunctor C 1)} {obj₁' obj₂' obj₃' : CategoryTheory.Functor J C} {mor₁' : obj₁' ⟶ obj₂'} {mor₂' : obj₂' ⟶ obj₃'} {mor₃' : obj₃' ⟶ obj₁'.comp (CategoryTheory.shiftFunctor C 1)} (iso₁ : obj₁ ≅ obj₁') (iso₂ : obj₂ ≅ obj₂') (iso₃ : obj₃ ≅ obj₃') (comm₁ : CategoryTheory.CategoryStruct.comp mor₁ iso₂.hom = CategoryTheory.CategoryStruct.comp iso₁.hom mor₁') (comm₂ : CategoryTheory.CategoryStruct.comp mor₂ iso₃.hom = CategoryTheory.CategoryStruct.comp iso₂.hom mor₂') (comm₃ : CategoryTheory.CategoryStruct.comp mor₃ (CategoryTheory.Functor.whiskerRight iso₁.hom (CategoryTheory.shiftFunctor C 1)) = CategoryTheory.CategoryStruct.comp iso₃.hom mor₃') (j : J) : ((CategoryTheory.Pretriangulated.Triangle.functorIsoMk' iso₁ iso₂ iso₃ comm₁ comm₂ comm₃).inv.app j).hom₃ = iso₃.inv.app j - 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.SingleFunctors.postcompFunctor_map_hom 📋 Mathlib.CategoryTheory.Shift.SingleFunctors
(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] (A : Type u_5) [AddMonoid A] [CategoryTheory.HasShift D A] [CategoryTheory.HasShift E A] (G : CategoryTheory.Functor D E) [G.CommShift A] {F₁ F₂ : CategoryTheory.SingleFunctors C D A} (φ : F₁ ⟶ F₂) (a : A) : ((CategoryTheory.SingleFunctors.postcompFunctor C A G).map φ).hom a = CategoryTheory.Functor.whiskerRight (φ.hom a) G - CategoryTheory.SingleFunctors.Hom.comm 📋 Mathlib.CategoryTheory.Shift.SingleFunctors
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (self : F.Hom G) (n a a' : A) (ha' : n + a = a') : CategoryTheory.CategoryStruct.comp (F.shiftIso n a a' ha').hom (self.hom a) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (self.hom a') (CategoryTheory.shiftFunctor D n)) (G.shiftIso n a a' ha').hom - CategoryTheory.SingleFunctors.Hom.mk 📋 Mathlib.CategoryTheory.Shift.SingleFunctors
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (hom : (a : A) → F.functor a ⟶ G.functor a) (comm : ∀ (n a a' : A) (ha' : n + a = a'), CategoryTheory.CategoryStruct.comp (F.shiftIso n a a' ha').hom (hom a) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (hom a') (CategoryTheory.shiftFunctor D n)) (G.shiftIso n a a' ha').hom := by cat_disch) : F.Hom G - CategoryTheory.SingleFunctors.isoMk 📋 Mathlib.CategoryTheory.Shift.SingleFunctors
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (iso : (a : A) → F.functor a ≅ G.functor a) (comm : ∀ (n a a' : A) (ha' : n + a = a'), CategoryTheory.CategoryStruct.comp (F.shiftIso n a a' ha').hom (iso a).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (iso a').hom (CategoryTheory.shiftFunctor D n)) (G.shiftIso n a a' ha').hom) : F ≅ G - CategoryTheory.SingleFunctors.Hom.comm_assoc 📋 Mathlib.CategoryTheory.Shift.SingleFunctors
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (self : F.Hom G) (n a a' : A) (ha' : n + a = a') {Z : CategoryTheory.Functor C D} (h : G.functor a ⟶ Z) : CategoryTheory.CategoryStruct.comp (F.shiftIso n a a' ha').hom (CategoryTheory.CategoryStruct.comp (self.hom a) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (self.hom a') (CategoryTheory.shiftFunctor D n)) (CategoryTheory.CategoryStruct.comp (G.shiftIso n a a' ha').hom h) - CategoryTheory.SingleFunctors.isoMk_hom_hom 📋 Mathlib.CategoryTheory.Shift.SingleFunctors
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (iso : (a : A) → F.functor a ≅ G.functor a) (comm : ∀ (n a a' : A) (ha' : n + a = a'), CategoryTheory.CategoryStruct.comp (F.shiftIso n a a' ha').hom (iso a).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (iso a').hom (CategoryTheory.shiftFunctor D n)) (G.shiftIso n a a' ha').hom) (a : A) : (CategoryTheory.SingleFunctors.isoMk iso comm).hom.hom a = (iso a).hom - CategoryTheory.SingleFunctors.isoMk_inv_hom 📋 Mathlib.CategoryTheory.Shift.SingleFunctors
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {A : Type u_5} [AddMonoid A] [CategoryTheory.HasShift D A] {F G : CategoryTheory.SingleFunctors C D A} (iso : (a : A) → F.functor a ≅ G.functor a) (comm : ∀ (n a a' : A) (ha' : n + a = a'), CategoryTheory.CategoryStruct.comp (F.shiftIso n a a' ha').hom (iso a).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (iso a').hom (CategoryTheory.shiftFunctor D n)) (G.shiftIso n a a' ha').hom) (a : A) : (CategoryTheory.SingleFunctors.isoMk iso comm).inv.hom a = (iso a).inv - PresheafOfModules.free_hom_ext 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Free
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {F : CategoryTheory.Functor Cᵒᵖ (Type u)} {G : PresheafOfModules R} {ψ ψ' : PresheafOfModules.freeObj F ⟶ G} (h : CategoryTheory.CategoryStruct.comp (PresheafOfModules.freeAdjunctionUnit R F) (CategoryTheory.Functor.whiskerRight ((PresheafOfModules.toPresheaf R).map ψ) (CategoryTheory.forget Ab)) = CategoryTheory.CategoryStruct.comp (PresheafOfModules.freeAdjunctionUnit R F) (CategoryTheory.Functor.whiskerRight ((PresheafOfModules.toPresheaf R).map ψ') (CategoryTheory.forget Ab))) : ψ = ψ' - CategoryTheory.Adjunction.leftAdjointCompNatTrans_assoc 📋 Mathlib.CategoryTheory.Adjunction.CompositionIso
{C₀ : Type u_1} {C₁ : Type u_2} {C₂ : Type u_3} {C₃ : Type u_4} [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} C₃] {F₀₁ : CategoryTheory.Functor C₀ C₁} {F₁₂ : CategoryTheory.Functor C₁ C₂} {F₂₃ : CategoryTheory.Functor C₂ C₃} {F₀₂ : CategoryTheory.Functor C₀ C₂} {F₁₃ : CategoryTheory.Functor C₁ C₃} {F₀₃ : CategoryTheory.Functor C₀ C₃} {G₁₀ : CategoryTheory.Functor C₁ C₀} {G₂₁ : CategoryTheory.Functor C₂ C₁} {G₃₂ : CategoryTheory.Functor C₃ C₂} {G₂₀ : CategoryTheory.Functor C₂ C₀} {G₃₁ : CategoryTheory.Functor C₃ C₁} {G₃₀ : CategoryTheory.Functor C₃ C₀} (adj₀₁ : F₀₁ ⊣ G₁₀) (adj₁₂ : F₁₂ ⊣ G₂₁) (adj₂₃ : F₂₃ ⊣ G₃₂) (adj₀₂ : F₀₂ ⊣ G₂₀) (adj₁₃ : F₁₃ ⊣ G₃₁) (adj₀₃ : F₀₃ ⊣ G₃₀) (τ₀₁₂ : G₂₀ ⟶ G₂₁.comp G₁₀) (τ₁₂₃ : G₃₁ ⟶ G₃₂.comp G₂₁) (τ₀₁₃ : G₃₀ ⟶ G₃₁.comp G₁₀) (τ₀₂₃ : G₃₀ ⟶ G₃₂.comp G₂₀) (h : CategoryTheory.CategoryStruct.comp τ₀₂₃ (G₃₂.whiskerLeft τ₀₁₂) = CategoryTheory.CategoryStruct.comp τ₀₁₃ (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight τ₁₂₃ G₁₀) (G₃₂.associator G₂₁ G₁₀).hom)) : CategoryTheory.CategoryStruct.comp (F₀₁.whiskerLeft (adj₁₂.leftAdjointCompNatTrans adj₂₃ adj₁₃ τ₁₂₃)) (adj₀₁.leftAdjointCompNatTrans adj₁₃ adj₀₃ τ₀₁₃) = CategoryTheory.CategoryStruct.comp (F₀₁.associator F₁₂ F₂₃).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (adj₀₁.leftAdjointCompNatTrans adj₁₂ adj₀₂ τ₀₁₂) F₂₃) (adj₀₂.leftAdjointCompNatTrans adj₂₃ adj₀₃ τ₀₂₃)) - CategoryTheory.Adjunction.leftAdjointCompNatTrans₀₁₃_eq_conjugateEquiv_symm 📋 Mathlib.CategoryTheory.Adjunction.CompositionIso
{C₀ : Type u_1} {C₁ : Type u_2} {C₂ : Type u_3} {C₃ : Type u_4} [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} C₃] {F₀₁ : CategoryTheory.Functor C₀ C₁} {F₁₂ : CategoryTheory.Functor C₁ C₂} {F₂₃ : CategoryTheory.Functor C₂ C₃} {F₁₃ : CategoryTheory.Functor C₁ C₃} {F₀₃ : CategoryTheory.Functor C₀ C₃} {G₁₀ : CategoryTheory.Functor C₁ C₀} {G₂₁ : CategoryTheory.Functor C₂ C₁} {G₃₂ : CategoryTheory.Functor C₃ C₂} {G₃₁ : CategoryTheory.Functor C₃ C₁} {G₃₀ : CategoryTheory.Functor C₃ C₀} (adj₀₁ : F₀₁ ⊣ G₁₀) (adj₁₂ : F₁₂ ⊣ G₂₁) (adj₂₃ : F₂₃ ⊣ G₃₂) (adj₁₃ : F₁₃ ⊣ G₃₁) (adj₀₃ : F₀₃ ⊣ G₃₀) (τ₁₂₃ : G₃₁ ⟶ G₃₂.comp G₂₁) (τ₀₁₃ : G₃₀ ⟶ G₃₁.comp G₁₀) : CategoryTheory.CategoryStruct.comp (F₀₁.whiskerLeft (adj₁₂.leftAdjointCompNatTrans adj₂₃ adj₁₃ τ₁₂₃)) (adj₀₁.leftAdjointCompNatTrans adj₁₃ adj₀₃ τ₀₁₃) = (CategoryTheory.conjugateEquiv adj₀₃ (adj₀₁.comp (adj₁₂.comp adj₂₃))).symm (CategoryTheory.CategoryStruct.comp τ₀₁₃ (CategoryTheory.Functor.whiskerRight τ₁₂₃ G₁₀)) - CategoryTheory.Adjunction.leftAdjointCompNatTrans₀₂₃_eq_conjugateEquiv_symm 📋 Mathlib.CategoryTheory.Adjunction.CompositionIso
{C₀ : Type u_1} {C₁ : Type u_2} {C₂ : Type u_3} {C₃ : Type u_4} [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} C₃] {F₀₁ : CategoryTheory.Functor C₀ C₁} {F₁₂ : CategoryTheory.Functor C₁ C₂} {F₂₃ : CategoryTheory.Functor C₂ C₃} {F₀₂ : CategoryTheory.Functor C₀ C₂} {F₀₃ : CategoryTheory.Functor C₀ C₃} {G₁₀ : CategoryTheory.Functor C₁ C₀} {G₂₁ : CategoryTheory.Functor C₂ C₁} {G₃₂ : CategoryTheory.Functor C₃ C₂} {G₂₀ : CategoryTheory.Functor C₂ C₀} {G₃₀ : CategoryTheory.Functor C₃ C₀} (adj₀₁ : F₀₁ ⊣ G₁₀) (adj₁₂ : F₁₂ ⊣ G₂₁) (adj₂₃ : F₂₃ ⊣ G₃₂) (adj₀₂ : F₀₂ ⊣ G₂₀) (adj₀₃ : F₀₃ ⊣ G₃₀) (τ₀₁₂ : G₂₀ ⟶ G₂₁.comp G₁₀) (τ₀₂₃ : G₃₀ ⟶ G₃₂.comp G₂₀) : CategoryTheory.CategoryStruct.comp (F₀₁.associator F₁₂ F₂₃).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (adj₀₁.leftAdjointCompNatTrans adj₁₂ adj₀₂ τ₀₁₂) F₂₃) (adj₀₂.leftAdjointCompNatTrans adj₂₃ adj₀₃ τ₀₂₃)) = (CategoryTheory.conjugateEquiv adj₀₃ (adj₀₁.comp (adj₁₂.comp adj₂₃))).symm (CategoryTheory.CategoryStruct.comp τ₀₂₃ (CategoryTheory.CategoryStruct.comp (G₃₂.whiskerLeft τ₀₁₂) (G₃₂.associator G₂₁ G₁₀).inv)) - CategoryTheory.Sieve.shrinkFunctorUliftFunctorIso_inv_ι 📋 Mathlib.CategoryTheory.Sites.Sieves.Shrink
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {S : CategoryTheory.Sieve X} [CategoryTheory.LocallySmall.{w, v₁, u₁} C] [CategoryTheory.LocallySmall.{max w' w, v₁, u₁} C] : CategoryTheory.CategoryStruct.comp S.shrinkFunctorUliftFunctorIso.inv (CategoryTheory.Functor.whiskerRight (CategoryTheory.Sieve.shrinkFunctor.{w, v₁, u₁} S).ι CategoryTheory.uliftFunctor.{w', w}) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Sieve.shrinkFunctor.{max w' w, v₁, u₁} S).ι (CategoryTheory.shrinkYonedaUliftFunctorIso.inv.app X) - CategoryTheory.Sieve.shrinkFunctorUliftFunctorIso_inv_ι_assoc 📋 Mathlib.CategoryTheory.Sites.Sieves.Shrink
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} {S : CategoryTheory.Sieve X} [CategoryTheory.LocallySmall.{w, v₁, u₁} C] [CategoryTheory.LocallySmall.{max w' w, v₁, u₁} C] {Z : CategoryTheory.Functor Cᵒᵖ (Type (max w w'))} (h : (CategoryTheory.shrinkYoneda.{w, v₁, u₁}.obj X).comp CategoryTheory.uliftFunctor.{w', w} ⟶ Z) : CategoryTheory.CategoryStruct.comp S.shrinkFunctorUliftFunctorIso.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Sieve.shrinkFunctor.{w, v₁, u₁} S).ι CategoryTheory.uliftFunctor.{w', w}) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Sieve.shrinkFunctor.{max w' w, v₁, u₁} S).ι (CategoryTheory.CategoryStruct.comp (CategoryTheory.shrinkYonedaUliftFunctorIso.inv.app X) h) - CategoryTheory.sheafCompose_map_hom 📋 Mathlib.CategoryTheory.Sites.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {A : Type u₂} [CategoryTheory.Category.{v₂, u₂} A] {B : Type u₃} [CategoryTheory.Category.{v₃, u₃} B] (J : CategoryTheory.GrothendieckTopology C) (F : CategoryTheory.Functor A B) [J.HasSheafCompose F] {X✝ Y✝ : CategoryTheory.Sheaf J A} (f : X✝ ⟶ Y✝) : ((CategoryTheory.sheafCompose J F).map f).hom = CategoryTheory.Functor.whiskerRight f.hom F - CategoryTheory.GrothendieckTopology.toPlus_comp_plusCompIso_inv 📋 Mathlib.CategoryTheory.Sites.CompatiblePlus
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {E : Type u_2} [CategoryTheory.Category.{v_2, u_2} E] (F : CategoryTheory.Functor D E) [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) D] [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) E] [∀ (X : C) (W : J.Cover X) (P : CategoryTheory.Functor Cᵒᵖ D), CategoryTheory.Limits.PreservesLimit (W.index P).multicospan F] (P : CategoryTheory.Functor Cᵒᵖ D) [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ D] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ E] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ F] : CategoryTheory.CategoryStruct.comp (J.toPlus (P.comp F)) (J.plusCompIso F P).inv = CategoryTheory.Functor.whiskerRight (J.toPlus P) F - CategoryTheory.GrothendieckTopology.whiskerRight_toPlus_comp_plusCompIso_hom 📋 Mathlib.CategoryTheory.Sites.CompatiblePlus
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {E : Type u_2} [CategoryTheory.Category.{v_2, u_2} E] (F : CategoryTheory.Functor D E) [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) D] [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) E] [∀ (X : C) (W : J.Cover X) (P : CategoryTheory.Functor Cᵒᵖ D), CategoryTheory.Limits.PreservesLimit (W.index P).multicospan F] (P : CategoryTheory.Functor Cᵒᵖ D) [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ D] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ E] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ F] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (J.toPlus P) F) (J.plusCompIso F P).hom = J.toPlus (P.comp F) - CategoryTheory.GrothendieckTopology.plusCompIso_inv_eq_plusLift 📋 Mathlib.CategoryTheory.Sites.CompatiblePlus
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {E : Type u_2} [CategoryTheory.Category.{v_2, u_2} E] (F : CategoryTheory.Functor D E) [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) D] [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) E] [∀ (X : C) (W : J.Cover X) (P : CategoryTheory.Functor Cᵒᵖ D), CategoryTheory.Limits.PreservesLimit (W.index P).multicospan F] (P : CategoryTheory.Functor Cᵒᵖ D) [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ D] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ E] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ F] (hP : CategoryTheory.Presheaf.IsSheaf J ((J.plusObj P).comp F)) : (J.plusCompIso F P).inv = J.plusLift (CategoryTheory.Functor.whiskerRight (J.toPlus P) F) hP - CategoryTheory.GrothendieckTopology.whiskerRight_toPlus_comp_plusCompIso_hom_assoc 📋 Mathlib.CategoryTheory.Sites.CompatiblePlus
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {E : Type u_2} [CategoryTheory.Category.{v_2, u_2} E] (F : CategoryTheory.Functor D E) [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) D] [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) E] [∀ (X : C) (W : J.Cover X) (P : CategoryTheory.Functor Cᵒᵖ D), CategoryTheory.Limits.PreservesLimit (W.index P).multicospan F] (P : CategoryTheory.Functor Cᵒᵖ D) [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ D] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ E] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ F] {Z : CategoryTheory.Functor Cᵒᵖ E} (h : J.plusObj (P.comp F) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (J.toPlus P) F) (CategoryTheory.CategoryStruct.comp (J.plusCompIso F P).hom h) = CategoryTheory.CategoryStruct.comp (J.toPlus (P.comp F)) h - CategoryTheory.GrothendieckTopology.plusCompIso_whiskerRight 📋 Mathlib.CategoryTheory.Sites.CompatiblePlus
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {E : Type u_2} [CategoryTheory.Category.{v_2, u_2} E] (F : CategoryTheory.Functor D E) [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) D] [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) E] [∀ (X : C) (W : J.Cover X) (P : CategoryTheory.Functor Cᵒᵖ D), CategoryTheory.Limits.PreservesLimit (W.index P).multicospan F] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ D] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ E] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ F] {P Q : CategoryTheory.Functor Cᵒᵖ D} (η : P ⟶ Q) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (J.plusMap η) F) (J.plusCompIso F Q).hom = CategoryTheory.CategoryStruct.comp (J.plusCompIso F P).hom (J.plusMap (CategoryTheory.Functor.whiskerRight η F)) - CategoryTheory.GrothendieckTopology.plusCompIso_whiskerRight_assoc 📋 Mathlib.CategoryTheory.Sites.CompatiblePlus
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {E : Type u_2} [CategoryTheory.Category.{v_2, u_2} E] (F : CategoryTheory.Functor D E) [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) D] [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) E] [∀ (X : C) (W : J.Cover X) (P : CategoryTheory.Functor Cᵒᵖ D), CategoryTheory.Limits.PreservesLimit (W.index P).multicospan F] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ D] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ E] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ F] {P Q : CategoryTheory.Functor Cᵒᵖ D} (η : P ⟶ Q) {Z : CategoryTheory.Functor Cᵒᵖ E} (h : J.plusObj (Q.comp F) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (J.plusMap η) F) (CategoryTheory.CategoryStruct.comp (J.plusCompIso F Q).hom h) = CategoryTheory.CategoryStruct.comp (J.plusCompIso F P).hom (CategoryTheory.CategoryStruct.comp (J.plusMap (CategoryTheory.Functor.whiskerRight η F)) h) - CategoryTheory.GrothendieckTopology.toSheafify_comp_sheafifyCompIso_inv 📋 Mathlib.CategoryTheory.Sites.CompatibleSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {E : Type u_2} [CategoryTheory.Category.{v_2, u_2} E] (F : CategoryTheory.Functor D E) [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) D] [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) E] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ D] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ E] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ F] [∀ (X : C) (W : J.Cover X) (P : CategoryTheory.Functor Cᵒᵖ D), CategoryTheory.Limits.PreservesLimit (W.index P).multicospan F] (P : CategoryTheory.Functor Cᵒᵖ D) : CategoryTheory.CategoryStruct.comp (J.toSheafify (P.comp F)) (J.sheafifyCompIso F P).inv = CategoryTheory.Functor.whiskerRight (J.toSheafify P) F - CategoryTheory.GrothendieckTopology.whiskerRight_toSheafify_sheafifyCompIso_hom 📋 Mathlib.CategoryTheory.Sites.CompatibleSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {E : Type u_2} [CategoryTheory.Category.{v_2, u_2} E] (F : CategoryTheory.Functor D E) [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) D] [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) E] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ D] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ E] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ F] [∀ (X : C) (W : J.Cover X) (P : CategoryTheory.Functor Cᵒᵖ D), CategoryTheory.Limits.PreservesLimit (W.index P).multicospan F] (P : CategoryTheory.Functor Cᵒᵖ D) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (J.toSheafify P) F) (J.sheafifyCompIso F P).hom = J.toSheafify (P.comp F) - CategoryTheory.GrothendieckTopology.sheafifyCompIso_inv_eq_sheafifyLift 📋 Mathlib.CategoryTheory.Sites.CompatibleSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {E : Type u_2} [CategoryTheory.Category.{v_2, u_2} E] (F : CategoryTheory.Functor D E) [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) D] [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) E] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ D] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ E] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ F] [∀ (X : C) (W : J.Cover X) (P : CategoryTheory.Functor Cᵒᵖ D), CategoryTheory.Limits.PreservesLimit (W.index P).multicospan F] (P : CategoryTheory.Functor Cᵒᵖ D) {FD : D → D → Type u_3} {CD : D → Type u_4} [(X Y : D) → FunLike (FD X Y) (CD X) (CD Y)] [CategoryTheory.ConcreteCategory D FD] [CategoryTheory.Limits.PreservesLimitsOfSize.{max v u, max v u, v_1, u_4, u_1, u_4 + 1} (CategoryTheory.forget D)] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ (CategoryTheory.forget D)] [(CategoryTheory.forget D).ReflectsIsomorphisms] : (J.sheafifyCompIso F P).inv = J.sheafifyLift (CategoryTheory.Functor.whiskerRight (J.toSheafify P) F) ⋯ - CategoryTheory.GrothendieckTopology.toSheafify_comp_sheafifyCompIso_inv_assoc 📋 Mathlib.CategoryTheory.Sites.CompatibleSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {E : Type u_2} [CategoryTheory.Category.{v_2, u_2} E] (F : CategoryTheory.Functor D E) [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) D] [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) E] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ D] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ E] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ F] [∀ (X : C) (W : J.Cover X) (P : CategoryTheory.Functor Cᵒᵖ D), CategoryTheory.Limits.PreservesLimit (W.index P).multicospan F] (P : CategoryTheory.Functor Cᵒᵖ D) {Z : CategoryTheory.Functor Cᵒᵖ E} (h : (J.sheafify P).comp F ⟶ Z) : CategoryTheory.CategoryStruct.comp (J.toSheafify (P.comp F)) (CategoryTheory.CategoryStruct.comp (J.sheafifyCompIso F P).inv h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (J.toSheafify P) F) h - CategoryTheory.GrothendieckTopology.whiskerRight_toSheafify_sheafifyCompIso_hom_assoc 📋 Mathlib.CategoryTheory.Sites.CompatibleSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {E : Type u_2} [CategoryTheory.Category.{v_2, u_2} E] (F : CategoryTheory.Functor D E) [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) D] [∀ (J : CategoryTheory.Limits.MulticospanShape), CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Limits.WalkingMulticospan J) E] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ D] [∀ (X : C), CategoryTheory.Limits.HasColimitsOfShape (J.Cover X)ᵒᵖ E] [∀ (X : C), CategoryTheory.Limits.PreservesColimitsOfShape (J.Cover X)ᵒᵖ F] [∀ (X : C) (W : J.Cover X) (P : CategoryTheory.Functor Cᵒᵖ D), CategoryTheory.Limits.PreservesLimit (W.index P).multicospan F] (P : CategoryTheory.Functor Cᵒᵖ D) {Z : CategoryTheory.Functor Cᵒᵖ E} (h : J.sheafify (P.comp F) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (J.toSheafify P) F) (CategoryTheory.CategoryStruct.comp (J.sheafifyCompIso F P).hom h) = CategoryTheory.CategoryStruct.comp (J.toSheafify (P.comp F)) h - CategoryTheory.Limits.colimitLimitToLimitColimitCone_hom 📋 Mathlib.CategoryTheory.Limits.ColimitLimit
{J : Type u₁} {K : Type u₂} [CategoryTheory.Category.{v₁, u₁} J] [CategoryTheory.Category.{v₂, u₂} K] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasLimitsOfShape J C] [CategoryTheory.Limits.HasColimitsOfShape K C] (G : CategoryTheory.Functor J (CategoryTheory.Functor K C)) [CategoryTheory.Limits.HasLimit G] : (CategoryTheory.Limits.colimitLimitToLimitColimitCone G).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colim.map (CategoryTheory.Limits.limitIsoSwapCompLim G).hom) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimitLimitToLimitColimit (CategoryTheory.Functor.uncurry.obj G)) (CategoryTheory.Limits.lim.map (CategoryTheory.Functor.whiskerRight (CategoryTheory.Functor.currying.unitIso.app G).inv CategoryTheory.Limits.colim))) - CategoryTheory.NatTrans.Coequifibered.whiskerRight 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equifibered
{J : Type u_1} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} J] [CategoryTheory.Category.{v_2, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] {F G : CategoryTheory.Functor J C} {α : F ⟶ G} (hα : CategoryTheory.NatTrans.Coequifibered α) (H : CategoryTheory.Functor C D) [∀ (i j : J) (f : j ⟶ i), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span (F.map f) (α.app j)) H] : CategoryTheory.NatTrans.Coequifibered (CategoryTheory.Functor.whiskerRight α H) - CategoryTheory.NatTrans.Equifibered.whiskerRight 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equifibered
{J : Type u_1} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} J] [CategoryTheory.Category.{v_2, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] {F G : CategoryTheory.Functor J C} {α : F ⟶ G} (hα : CategoryTheory.NatTrans.Equifibered α) (H : CategoryTheory.Functor C D) [∀ (i j : J) (f : j ⟶ i), CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.cospan (α.app i) (G.map f)) H] : CategoryTheory.NatTrans.Equifibered (CategoryTheory.Functor.whiskerRight α H) - CategoryTheory.GrothendieckTopology.W_of_preservesSheafification 📋 Mathlib.CategoryTheory.Sites.PreservesSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {A : Type u_1} {B : Type u_2} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] (F : CategoryTheory.Functor A B) [J.PreservesSheafification F] {P₁ P₂ : CategoryTheory.Functor Cᵒᵖ A} (f : P₁ ⟶ P₂) (hf : J.W f) : J.W (CategoryTheory.Functor.whiskerRight f F) - CategoryTheory.sheafComposeIso_hom_fac 📋 Mathlib.CategoryTheory.Sites.PreservesSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {A : Type u_1} {B : Type u_2} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] (F : CategoryTheory.Functor A B) [CategoryTheory.HasWeakSheafify J A] [CategoryTheory.HasWeakSheafify J B] [J.HasSheafCompose F] [J.PreservesSheafification F] (P : CategoryTheory.Functor Cᵒᵖ A) : CategoryTheory.CategoryStruct.comp (CategoryTheory.toSheafify J (P.comp F)) (CategoryTheory.sheafifyComposeIso J F P).hom = CategoryTheory.Functor.whiskerRight (CategoryTheory.toSheafify J P) F - CategoryTheory.sheafComposeIso_inv_fac 📋 Mathlib.CategoryTheory.Sites.PreservesSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {A : Type u_1} {B : Type u_2} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] (F : CategoryTheory.Functor A B) [CategoryTheory.HasWeakSheafify J A] [CategoryTheory.HasWeakSheafify J B] [J.HasSheafCompose F] [J.PreservesSheafification F] (P : CategoryTheory.Functor Cᵒᵖ A) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.toSheafify J P) F) (CategoryTheory.sheafifyComposeIso J F P).inv = CategoryTheory.toSheafify J (P.comp F) - CategoryTheory.sheafComposeIso_hom_fac_assoc 📋 Mathlib.CategoryTheory.Sites.PreservesSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {A : Type u_1} {B : Type u_2} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] (F : CategoryTheory.Functor A B) [CategoryTheory.HasWeakSheafify J A] [CategoryTheory.HasWeakSheafify J B] [J.HasSheafCompose F] [J.PreservesSheafification F] (P : CategoryTheory.Functor Cᵒᵖ A) {Z : CategoryTheory.Functor Cᵒᵖ B} (h : (CategoryTheory.sheafify J P).comp F ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.toSheafify J (P.comp F)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.sheafifyComposeIso J F P).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.toSheafify J P) F) h - CategoryTheory.sheafComposeIso_inv_fac_assoc 📋 Mathlib.CategoryTheory.Sites.PreservesSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {A : Type u_1} {B : Type u_2} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] (F : CategoryTheory.Functor A B) [CategoryTheory.HasWeakSheafify J A] [CategoryTheory.HasWeakSheafify J B] [J.HasSheafCompose F] [J.PreservesSheafification F] (P : CategoryTheory.Functor Cᵒᵖ A) {Z : CategoryTheory.Functor Cᵒᵖ B} (h : CategoryTheory.sheafify J (P.comp F) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.toSheafify J P) F) (CategoryTheory.CategoryStruct.comp (CategoryTheory.sheafifyComposeIso J F P).inv h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.toSheafify J (P.comp F)) h - CategoryTheory.GrothendieckTopology.preservesSheafification_iff_of_adjunctions 📋 Mathlib.CategoryTheory.Sites.PreservesSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {A : Type u_1} {B : Type u_2} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] (F : CategoryTheory.Functor A B) {G₁ : CategoryTheory.Functor (CategoryTheory.Functor Cᵒᵖ A) (CategoryTheory.Sheaf J A)} (adj₁ : G₁ ⊣ CategoryTheory.sheafToPresheaf J A) {G₂ : CategoryTheory.Functor (CategoryTheory.Functor Cᵒᵖ B) (CategoryTheory.Sheaf J B)} (adj₂ : G₂ ⊣ CategoryTheory.sheafToPresheaf J B) : J.PreservesSheafification F ↔ ∀ (P : CategoryTheory.Functor Cᵒᵖ A), CategoryTheory.IsIso (G₂.map (CategoryTheory.Functor.whiskerRight (adj₁.unit.app P) F)) - CategoryTheory.toPresheafToSheafCompComposeAndSheafify_app 📋 Mathlib.CategoryTheory.Sites.PreservesSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {A : Type u_1} {B : Type u_2} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] (F : CategoryTheory.Functor A B) [CategoryTheory.HasWeakSheafify J B] [CategoryTheory.HasWeakSheafify J A] (X : CategoryTheory.Functor Cᵒᵖ A) : (CategoryTheory.toPresheafToSheafCompComposeAndSheafify J F).app X = (CategoryTheory.presheafToSheaf J B).map (CategoryTheory.Functor.whiskerRight (CategoryTheory.toSheafify J X) F) - CategoryTheory.presheafToSheafCompComposeAndSheafifyIso_inv_app 📋 Mathlib.CategoryTheory.Sites.PreservesSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {A : Type u_1} {B : Type u_2} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] (F : CategoryTheory.Functor A B) [CategoryTheory.HasWeakSheafify J B] [CategoryTheory.HasWeakSheafify J A] [J.PreservesSheafification F] (X : CategoryTheory.Functor Cᵒᵖ A) : (CategoryTheory.presheafToSheafCompComposeAndSheafifyIso J F).inv.app X = (CategoryTheory.presheafToSheaf J B).map (CategoryTheory.Functor.whiskerRight (CategoryTheory.toSheafify J X) F) - CategoryTheory.sheafComposeNatTrans_fac 📋 Mathlib.CategoryTheory.Sites.PreservesSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {A : Type u_1} {B : Type u_2} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] (F : CategoryTheory.Functor A B) {G₁ : CategoryTheory.Functor (CategoryTheory.Functor Cᵒᵖ A) (CategoryTheory.Sheaf J A)} (adj₁ : G₁ ⊣ CategoryTheory.sheafToPresheaf J A) {G₂ : CategoryTheory.Functor (CategoryTheory.Functor Cᵒᵖ B) (CategoryTheory.Sheaf J B)} (adj₂ : G₂ ⊣ CategoryTheory.sheafToPresheaf J B) [J.HasSheafCompose F] (P : CategoryTheory.Functor Cᵒᵖ A) : CategoryTheory.CategoryStruct.comp (adj₂.unit.app (P.comp F)) ((CategoryTheory.sheafToPresheaf J B).map ((CategoryTheory.sheafComposeNatTrans J F adj₁ adj₂).app P)) = CategoryTheory.Functor.whiskerRight (adj₁.unit.app P) F - CategoryTheory.sheafComposeNatTrans_app_uniq 📋 Mathlib.CategoryTheory.Sites.PreservesSheafification
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) {A : Type u_1} {B : Type u_2} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] (F : CategoryTheory.Functor A B) {G₁ : CategoryTheory.Functor (CategoryTheory.Functor Cᵒᵖ A) (CategoryTheory.Sheaf J A)} (adj₁ : G₁ ⊣ CategoryTheory.sheafToPresheaf J A) {G₂ : CategoryTheory.Functor (CategoryTheory.Functor Cᵒᵖ B) (CategoryTheory.Sheaf J B)} (adj₂ : G₂ ⊣ CategoryTheory.sheafToPresheaf J B) [J.HasSheafCompose F] (P : CategoryTheory.Functor Cᵒᵖ A) (α : G₂.obj (P.comp F) ⟶ (CategoryTheory.sheafCompose J F).obj (G₁.obj P)) (hα : CategoryTheory.CategoryStruct.comp (adj₂.unit.app (P.comp F)) ((CategoryTheory.sheafToPresheaf J B).map α) = CategoryTheory.Functor.whiskerRight (adj₁.unit.app P) F) : α = (CategoryTheory.sheafComposeNatTrans J F adj₁ adj₂).app P
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