Loogle!
Result
Found 198 declarations mentioning CategoryTheory.Functor.associator.
- CategoryTheory.Functor.associator 📋 Mathlib.CategoryTheory.Functor.Category
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {E' : Type u₄} [CategoryTheory.Category.{v₄, u₄} E'] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) (H : CategoryTheory.Functor E E') : (F.comp G).comp H ≅ F.comp (G.comp H) - CategoryTheory.Functor.associator_hom_app 📋 Mathlib.CategoryTheory.Functor.Category
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {E' : Type u₄} [CategoryTheory.Category.{v₄, u₄} E'] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) (H : CategoryTheory.Functor E E') (x✝ : C) : (F.associator G H).hom.app x✝ = CategoryTheory.CategoryStruct.id (((F.comp G).comp H).obj x✝) - CategoryTheory.Functor.associator_inv_app 📋 Mathlib.CategoryTheory.Functor.Category
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {E' : Type u₄} [CategoryTheory.Category.{v₄, u₄} E'] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) (H : CategoryTheory.Functor E E') (x✝ : C) : (F.associator G H).inv.app x✝ = CategoryTheory.CategoryStruct.id ((F.comp (G.comp H)).obj x✝) - CategoryTheory.Functor.triangleIso 📋 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) : F.associator (CategoryTheory.Functor.id B) G ≪≫ F.isoWhiskerLeft G.leftUnitor = CategoryTheory.Functor.isoWhiskerRight F.rightUnitor G - CategoryTheory.Functor.triangleIso_assoc 📋 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) {Z : CategoryTheory.Functor A C} (h : F.comp G ≅ Z) : F.associator (CategoryTheory.Functor.id B) G ≪≫ F.isoWhiskerLeft G.leftUnitor ≪≫ h = CategoryTheory.Functor.isoWhiskerRight F.rightUnitor G ≪≫ h - 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.isoWhiskerLeft_twice 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) {H K : CategoryTheory.Functor D E} (α : H ≅ K) : F.isoWhiskerLeft (G.isoWhiskerLeft α) = (F.associator G H).symm ≪≫ (F.comp G).isoWhiskerLeft α ≪≫ F.associator G K - CategoryTheory.Functor.isoWhiskerRight_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.isoWhiskerRight (CategoryTheory.Functor.isoWhiskerRight α F) G = H.associator F G ≪≫ CategoryTheory.Functor.isoWhiskerRight α (F.comp G) ≪≫ (K.associator F G).symm - CategoryTheory.Functor.isoWhiskerLeft_right 📋 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) : F.isoWhiskerLeft (CategoryTheory.Functor.isoWhiskerRight α K) = (F.associator G K).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (F.isoWhiskerLeft α) K ≪≫ F.associator H K - CategoryTheory.Functor.isoWhiskerRight_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.isoWhiskerRight (F.isoWhiskerLeft α) K = F.associator G K ≪≫ F.isoWhiskerLeft (CategoryTheory.Functor.isoWhiskerRight α K) ≪≫ (F.associator H K).symm - CategoryTheory.Functor.isoWhiskerRight_twice_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] {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) {Z : CategoryTheory.Functor B E} (h : (K.comp F).comp G ≅ Z) : CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.Functor.isoWhiskerRight α F) G ≪≫ h = H.associator F G ≪≫ CategoryTheory.Functor.isoWhiskerRight α (F.comp G) ≪≫ (K.associator F G).symm ≪≫ h - CategoryTheory.Functor.whiskerLeft_twice 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) {H K : CategoryTheory.Functor D E} (α : H ⟶ K) : F.whiskerLeft (G.whiskerLeft α) = CategoryTheory.CategoryStruct.comp (F.associator G H).inv (CategoryTheory.CategoryStruct.comp ((F.comp G).whiskerLeft α) (F.associator G K).hom) - CategoryTheory.Functor.whiskerRight_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.isoWhiskerLeft_right_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] {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) {Z : CategoryTheory.Functor B E} (h : F.comp (H.comp K) ≅ Z) : F.isoWhiskerLeft (CategoryTheory.Functor.isoWhiskerRight α K) ≪≫ h = (F.associator G K).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (F.isoWhiskerLeft α) K ≪≫ F.associator H K ≪≫ h - CategoryTheory.Functor.isoWhiskerRight_left_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] {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) {Z : CategoryTheory.Functor B E} (h : (F.comp H).comp K ≅ Z) : CategoryTheory.Functor.isoWhiskerRight (F.isoWhiskerLeft α) K ≪≫ h = F.associator G K ≪≫ F.isoWhiskerLeft (CategoryTheory.Functor.isoWhiskerRight α K) ≪≫ (F.associator H K).symm ≪≫ h - 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.pentagonIso 📋 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.Functor.isoWhiskerRight (F.associator G H) K ≪≫ F.associator (G.comp H) K ≪≫ F.isoWhiskerLeft (G.associator H K) = (F.comp G).associator H K ≪≫ F.associator G (H.comp K) - CategoryTheory.Functor.pentagonIso_assoc 📋 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) {Z : CategoryTheory.Functor A E} (h : F.comp (G.comp (H.comp K)) ≅ Z) : CategoryTheory.Functor.isoWhiskerRight (F.associator G H) K ≪≫ F.associator (G.comp H) K ≪≫ F.isoWhiskerLeft (G.associator H K) ≪≫ h = (F.comp G).associator H K ≪≫ F.associator G (H.comp K) ≪≫ h - 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.Equivalence.trans_counitIso 📋 Mathlib.CategoryTheory.Equivalence
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (e : C ≌ D) (f : D ≌ E) : (e.trans f).counitIso = ((f.inverse.comp e.inverse).associator e.functor f.functor).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (f.inverse.associator e.inverse e.functor ≪≫ f.inverse.isoWhiskerLeft e.counitIso ≪≫ f.inverse.rightUnitor) f.functor ≪≫ f.counitIso - CategoryTheory.Equivalence.trans_unitIso 📋 Mathlib.CategoryTheory.Equivalence
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (e : C ≌ D) (f : D ≌ E) : (e.trans f).unitIso = e.unitIso ≪≫ CategoryTheory.Functor.isoWhiskerRight (e.functor.rightUnitor.symm ≪≫ e.functor.isoWhiskerLeft f.unitIso ≪≫ (e.functor.associator f.functor f.inverse).symm) e.inverse ≪≫ (e.functor.comp f.functor).associator f.inverse e.inverse - CategoryTheory.Equivalence.congrRight_counitIso_hom_app 📋 Mathlib.CategoryTheory.Equivalence
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (e : C ≌ D) (X : CategoryTheory.Functor E D) : e.congrRight.counitIso.hom.app X = CategoryTheory.CategoryStruct.comp (X.associator e.inverse e.functor).hom (CategoryTheory.CategoryStruct.comp (X.whiskerLeft e.counitIso.hom) X.rightUnitor.hom) - CategoryTheory.Equivalence.congrRight_unitIso_inv_app 📋 Mathlib.CategoryTheory.Equivalence
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (e : C ≌ D) (X : CategoryTheory.Functor E C) : e.congrRight.unitIso.inv.app X = CategoryTheory.CategoryStruct.comp (X.associator e.functor e.inverse).inv (CategoryTheory.CategoryStruct.comp (X.whiskerLeft e.unitIso.inv) X.rightUnitor.hom) - CategoryTheory.Equivalence.congrRight_counitIso_inv_app 📋 Mathlib.CategoryTheory.Equivalence
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (e : C ≌ D) (X : CategoryTheory.Functor E D) : e.congrRight.counitIso.inv.app X = CategoryTheory.CategoryStruct.comp X.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (X.whiskerLeft e.counitIso.inv) (X.associator e.inverse e.functor).inv) - CategoryTheory.Equivalence.congrRight_unitIso_hom_app 📋 Mathlib.CategoryTheory.Equivalence
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (e : C ≌ D) (X : CategoryTheory.Functor E C) : e.congrRight.unitIso.hom.app X = CategoryTheory.CategoryStruct.comp X.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (X.whiskerLeft e.unitIso.hom) (X.associator e.functor e.inverse).hom) - CategoryTheory.NatIso.unop_associator 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u_1} {E' : Type u_2} [CategoryTheory.Category.{v_1, u_1} E] [CategoryTheory.Category.{v_2, u_2} E'] {F : CategoryTheory.Functor Cᵒᵖ Dᵒᵖ} {G : CategoryTheory.Functor Dᵒᵖ Eᵒᵖ} {H : CategoryTheory.Functor Eᵒᵖ E'ᵒᵖ} : CategoryTheory.NatIso.unop (F.associator G H) = F.unopComp (G.comp H) ≪≫ F.unop.isoWhiskerLeft (G.unopComp H) ≪≫ (F.unop.associator G.unop H.unop).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (F.unopComp G).symm H.unop ≪≫ ((F.comp G).unopComp H).symm - CategoryTheory.NatIso.op_associator 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u_1} {E' : Type u_2} [CategoryTheory.Category.{v_1, u_1} E] [CategoryTheory.Category.{v_2, u_2} E'] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D E} {H : CategoryTheory.Functor E E'} : CategoryTheory.NatIso.op (F.associator G H) = F.opComp (G.comp H) ≪≫ F.op.isoWhiskerLeft (G.opComp H) ≪≫ (F.op.associator G.op H.op).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (F.opComp G).symm H.op ≪≫ ((F.comp G).opComp H).symm - CategoryTheory.Pi.equivalenceOfEquiv_counitIso 📋 Mathlib.CategoryTheory.Pi.Basic
{I : Type w₀} {J : Type w₁} (C : I → Type u₁) [(i : I) → CategoryTheory.Category.{v₁, u₁} (C i)] (e : J ≃ I) : (CategoryTheory.Pi.equivalenceOfEquiv C e).counitIso = CategoryTheory.NatIso.pi' fun i => ((CategoryTheory.Functor.pi' fun i' => CategoryTheory.Pi.eval C (e i')).associator (CategoryTheory.Pi.eval (fun j => C (e j)) (e.symm i)) (CategoryTheory.Pi.eqToEquivalence C ⋯).functor).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.Functor.pi'CompEval (fun i' => CategoryTheory.Pi.eval C (e i')) (e.symm i)) (CategoryTheory.Pi.eqToEquivalence C ⋯).functor ≪≫ CategoryTheory.Pi.evalCompEqToEquivalenceFunctor C ⋯ ≪≫ (CategoryTheory.Pi.eval C i).leftUnitor.symm - CategoryTheory.Pi.equivalenceOfEquiv_unitIso 📋 Mathlib.CategoryTheory.Pi.Basic
{I : Type w₀} {J : Type w₁} (C : I → Type u₁) [(i : I) → CategoryTheory.Category.{v₁, u₁} (C i)] (e : J ≃ I) : (CategoryTheory.Pi.equivalenceOfEquiv C e).unitIso = CategoryTheory.NatIso.pi' fun i' => (CategoryTheory.Pi.eval (fun i => C (e i)) i').leftUnitor ≪≫ (CategoryTheory.Pi.evalCompEqToEquivalenceFunctor (fun j => C (e j)) ⋯).symm ≪≫ (CategoryTheory.Pi.eval (fun j => C (e j)) (e.symm (e i'))).isoWhiskerLeft (CategoryTheory.Pi.eqToEquivalenceFunctorIso C ⇑e ⋯).symm ≪≫ (CategoryTheory.Functor.pi'CompEval (CategoryTheory.Pi.eval (fun j => C (e j)) (e.symm (e i'))).comp (CategoryTheory.Pi.eqToEquivalence C ⋯).functor).symm ≪≫ (CategoryTheory.Functor.pi' (CategoryTheory.Pi.eval (fun j => C (e j)) (e.symm (e i'))).comp).isoWhiskerLeft (CategoryTheory.Functor.pi'CompEval (CategoryTheory.Pi.eval fun i => C (e i')) (CategoryTheory.Pi.eqToEquivalence C ⋯).functor).symm ≪≫ ((CategoryTheory.Functor.pi' (CategoryTheory.Pi.eval (fun j => C (e j)) (e.symm (e i'))).comp).associator (CategoryTheory.Functor.pi' (CategoryTheory.Pi.eval fun i => C (e i'))) (CategoryTheory.Pi.eval (fun i => C (e i')) (CategoryTheory.Pi.eqToEquivalence C ⋯).functor)).symm - CategoryTheory.Adjunction.CoreUnitCounit.left_triangle 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (self : CategoryTheory.Adjunction.CoreUnitCounit F G) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight self.unit F) (CategoryTheory.CategoryStruct.comp (F.associator G F).hom (F.whiskerLeft self.counit)) = CategoryTheory.NatTrans.id ((CategoryTheory.Functor.id C).comp F) - CategoryTheory.Adjunction.CoreUnitCounit.right_triangle 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (self : CategoryTheory.Adjunction.CoreUnitCounit F G) : CategoryTheory.CategoryStruct.comp (G.whiskerLeft self.unit) (CategoryTheory.CategoryStruct.comp (G.associator F G).inv (CategoryTheory.Functor.whiskerRight self.counit G)) = CategoryTheory.NatTrans.id (G.comp (CategoryTheory.Functor.id C)) - CategoryTheory.Adjunction.left_triangle 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F ⊣ G) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight adj.unit F) (CategoryTheory.CategoryStruct.comp (F.associator G F).hom (F.whiskerLeft adj.counit)) = CategoryTheory.CategoryStruct.comp F.leftUnitor.hom F.rightUnitor.inv - CategoryTheory.Adjunction.right_triangle 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F ⊣ G) : CategoryTheory.CategoryStruct.comp (G.whiskerLeft adj.unit) (CategoryTheory.CategoryStruct.comp (G.associator F G).inv (CategoryTheory.Functor.whiskerRight adj.counit G)) = CategoryTheory.CategoryStruct.comp G.rightUnitor.hom G.leftUnitor.inv - CategoryTheory.Adjunction.CoreUnitCounit.mk 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (unit : CategoryTheory.Functor.id C ⟶ F.comp G) (counit : G.comp F ⟶ CategoryTheory.Functor.id D) (left_triangle : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight unit F) (CategoryTheory.CategoryStruct.comp (F.associator G F).hom (F.whiskerLeft counit)) = CategoryTheory.NatTrans.id ((CategoryTheory.Functor.id C).comp F) := by cat_disch) (right_triangle : CategoryTheory.CategoryStruct.comp (G.whiskerLeft unit) (CategoryTheory.CategoryStruct.comp (G.associator F G).inv (CategoryTheory.Functor.whiskerRight counit G)) = CategoryTheory.NatTrans.id (G.comp (CategoryTheory.Functor.id C)) := by cat_disch) : CategoryTheory.Adjunction.CoreUnitCounit F G - CategoryTheory.Adjunction.comp_counit 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} {H : CategoryTheory.Functor D E} {I : CategoryTheory.Functor E D} (adj₁ : F ⊣ G) (adj₂ : H ⊣ I) : (adj₁.comp adj₂).counit = CategoryTheory.CategoryStruct.comp ((I.comp G).associator F H).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (I.associator G F).hom H) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (I.whiskerLeft adj₁.counit) H) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight I.rightUnitor.hom H) adj₂.counit))) - CategoryTheory.Adjunction.comp_unit 📋 Mathlib.CategoryTheory.Adjunction.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} {H : CategoryTheory.Functor D E} {I : CategoryTheory.Functor E D} (adj₁ : F ⊣ G) (adj₂ : H ⊣ I) : (adj₁.comp adj₂).unit = CategoryTheory.CategoryStruct.comp adj₁.unit (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.rightUnitor.inv G) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (F.whiskerLeft adj₂.unit) G) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (F.associator H I).inv G) ((F.comp H).associator I G).hom))) - CategoryTheory.Limits.Cocone.functorialityEquivalence_inverse 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] (F : CategoryTheory.Functor J C) (e : C ≌ D) : (CategoryTheory.Limits.Cocone.functorialityEquivalence F e).inverse = (CategoryTheory.Limits.Cocone.functoriality (F.comp e.functor) e.inverse).comp (CategoryTheory.Limits.Cocone.precomposeEquivalence (F.associator e.functor e.inverse ≪≫ F.isoWhiskerLeft e.unitIso.symm ≪≫ F.rightUnitor)).functor - CategoryTheory.Limits.Cone.functorialityEquivalence_inverse 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] (F : CategoryTheory.Functor J C) (e : C ≌ D) : (CategoryTheory.Limits.Cone.functorialityEquivalence F e).inverse = (CategoryTheory.Limits.Cone.functoriality (F.comp e.functor) e.inverse).comp (CategoryTheory.Limits.Cone.postcomposeEquivalence (F.associator e.functor e.inverse ≪≫ F.isoWhiskerLeft e.unitIso.symm ≪≫ F.rightUnitor)).functor - CategoryTheory.Limits.Cone.functorialityEquivalence_unitIso 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] (F : CategoryTheory.Functor J C) (e : C ≌ D) : (CategoryTheory.Limits.Cone.functorialityEquivalence F e).unitIso = CategoryTheory.NatIso.ofComponents (fun c => CategoryTheory.Limits.Cone.ext (e.unitIso.app ((CategoryTheory.Functor.id (CategoryTheory.Limits.Cone F)).obj c).1) ⋯) ⋯ - CategoryTheory.Limits.Cocone.functorialityEquivalence_unitIso 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] (F : CategoryTheory.Functor J C) (e : C ≌ D) : (CategoryTheory.Limits.Cocone.functorialityEquivalence F e).unitIso = CategoryTheory.NatIso.ofComponents' (fun c => CategoryTheory.Limits.Cocone.extInv (e.unitIso.app ((CategoryTheory.Functor.id (CategoryTheory.Limits.Cocone F)).obj c).pt) ⋯) ⋯ - CategoryTheory.Limits.Cocone.functorialityEquivalence_counitIso 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] (F : CategoryTheory.Functor J C) (e : C ≌ D) : (CategoryTheory.Limits.Cocone.functorialityEquivalence F e).counitIso = CategoryTheory.NatIso.ofComponents' (fun c => CategoryTheory.Limits.Cocone.extInv (e.counitIso.app c.pt) ⋯) ⋯ - CategoryTheory.Limits.Cone.functorialityEquivalence_counitIso 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] (F : CategoryTheory.Functor J C) (e : C ≌ D) : (CategoryTheory.Limits.Cone.functorialityEquivalence F e).counitIso = CategoryTheory.NatIso.ofComponents (fun c => CategoryTheory.Limits.Cone.ext (e.counitIso.app c.pt) ⋯) ⋯ - CategoryTheory.Limits.Cocone.equivalenceOfReindexing_counitIso 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor J C} {G : CategoryTheory.Functor K C} (e : K ≌ J) (α : e.functor.comp F ≅ G) : (CategoryTheory.Limits.Cocone.equivalenceOfReindexing e α).counitIso = (((CategoryTheory.Limits.Cocone.precompose α.hom).comp ((CategoryTheory.Limits.Cocone.whiskering e.inverse).comp (CategoryTheory.Limits.Cocone.precompose (e.invFunIdAssoc F).inv))).associator (CategoryTheory.Limits.Cocone.whiskering e.functor) (CategoryTheory.Limits.Cocone.precompose α.inv)).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight ((CategoryTheory.Limits.Cocone.precompose α.hom).associator ((CategoryTheory.Limits.Cocone.whiskering e.inverse).comp (CategoryTheory.Limits.Cocone.precompose (e.invFunIdAssoc F).inv)) (CategoryTheory.Limits.Cocone.whiskering e.functor)) (CategoryTheory.Limits.Cocone.precompose α.inv) ≪≫ CategoryTheory.Functor.isoWhiskerRight ((CategoryTheory.Limits.Cocone.precompose α.hom).isoWhiskerLeft (CategoryTheory.NatIso.ofComponents' (fun s => CategoryTheory.Limits.Cocone.extInv (CategoryTheory.Iso.refl s.pt) ⋯) ⋯)) (CategoryTheory.Limits.Cocone.precompose α.inv) ≪≫ CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.Limits.Cocone.precompose α.hom).rightUnitor (CategoryTheory.Limits.Cocone.precompose α.inv) ≪≫ CategoryTheory.NatIso.ofComponents' (fun s => CategoryTheory.Limits.Cocone.extInv (CategoryTheory.Iso.refl s.pt) ⋯) ⋯ - CategoryTheory.Limits.Cone.equivalenceOfReindexing_counitIso 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor J C} {G : CategoryTheory.Functor K C} (e : K ≌ J) (α : e.functor.comp F ≅ G) : (CategoryTheory.Limits.Cone.equivalenceOfReindexing e α).counitIso = (((CategoryTheory.Limits.Cone.postcompose α.inv).comp ((CategoryTheory.Limits.Cone.whiskering e.inverse).comp (CategoryTheory.Limits.Cone.postcompose (e.invFunIdAssoc F).hom))).associator (CategoryTheory.Limits.Cone.whiskering e.functor) (CategoryTheory.Limits.Cone.postcompose α.hom)).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight ((CategoryTheory.Limits.Cone.postcompose α.inv).associator ((CategoryTheory.Limits.Cone.whiskering e.inverse).comp (CategoryTheory.Limits.Cone.postcompose (e.invFunIdAssoc F).hom)) (CategoryTheory.Limits.Cone.whiskering e.functor)) (CategoryTheory.Limits.Cone.postcompose α.hom) ≪≫ CategoryTheory.Functor.isoWhiskerRight ((CategoryTheory.Limits.Cone.postcompose α.inv).isoWhiskerLeft (CategoryTheory.NatIso.ofComponents (fun s => CategoryTheory.Limits.Cone.ext (CategoryTheory.Iso.refl s.pt) ⋯) ⋯)) (CategoryTheory.Limits.Cone.postcompose α.hom) ≪≫ CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.Limits.Cone.postcompose α.inv).rightUnitor (CategoryTheory.Limits.Cone.postcompose α.hom) ≪≫ CategoryTheory.NatIso.ofComponents (fun s => CategoryTheory.Limits.Cone.ext (CategoryTheory.Iso.refl s.pt) ⋯) ⋯ - CategoryTheory.Limits.Cocone.equivalenceOfReindexing_unitIso 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor J C} {G : CategoryTheory.Functor K C} (e : K ≌ J) (α : e.functor.comp F ≅ G) : (CategoryTheory.Limits.Cocone.equivalenceOfReindexing e α).unitIso = CategoryTheory.NatIso.ofComponents' (fun s => CategoryTheory.Limits.Cocone.extInv (CategoryTheory.Iso.refl s.pt) ⋯) ⋯ ≪≫ CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.Limits.Cocone.whiskering e.functor).rightUnitor.symm ((CategoryTheory.Limits.Cocone.whiskering e.inverse).comp (CategoryTheory.Limits.Cocone.precompose (e.invFunIdAssoc F).inv)) ≪≫ CategoryTheory.Functor.isoWhiskerRight ((CategoryTheory.Limits.Cocone.whiskering e.functor).isoWhiskerLeft (CategoryTheory.NatIso.ofComponents' (fun s => CategoryTheory.Limits.Cocone.extInv (CategoryTheory.Iso.refl s.pt) ⋯) ⋯)) ((CategoryTheory.Limits.Cocone.whiskering e.inverse).comp (CategoryTheory.Limits.Cocone.precompose (e.invFunIdAssoc F).inv)) ≪≫ CategoryTheory.Functor.isoWhiskerRight ((CategoryTheory.Limits.Cocone.whiskering e.functor).associator (CategoryTheory.Limits.Cocone.precompose α.inv) (CategoryTheory.Limits.Cocone.precompose α.hom)).symm ((CategoryTheory.Limits.Cocone.whiskering e.inverse).comp (CategoryTheory.Limits.Cocone.precompose (e.invFunIdAssoc F).inv)) ≪≫ ((CategoryTheory.Limits.Cocone.whiskering e.functor).comp (CategoryTheory.Limits.Cocone.precompose α.inv)).associator (CategoryTheory.Limits.Cocone.precompose α.hom) ((CategoryTheory.Limits.Cocone.whiskering e.inverse).comp (CategoryTheory.Limits.Cocone.precompose (e.invFunIdAssoc F).inv)) - CategoryTheory.Limits.Cone.equivalenceOfReindexing_unitIso 📋 Mathlib.CategoryTheory.Limits.Cones
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {K : Type u₂} [CategoryTheory.Category.{v₂, u₂} K] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor J C} {G : CategoryTheory.Functor K C} (e : K ≌ J) (α : e.functor.comp F ≅ G) : (CategoryTheory.Limits.Cone.equivalenceOfReindexing e α).unitIso = CategoryTheory.NatIso.ofComponents (fun s => CategoryTheory.Limits.Cone.ext (CategoryTheory.Iso.refl s.pt) ⋯) ⋯ ≪≫ CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.Limits.Cone.whiskering e.functor).rightUnitor.symm ((CategoryTheory.Limits.Cone.whiskering e.inverse).comp (CategoryTheory.Limits.Cone.postcompose (e.invFunIdAssoc F).hom)) ≪≫ CategoryTheory.Functor.isoWhiskerRight ((CategoryTheory.Limits.Cone.whiskering e.functor).isoWhiskerLeft (CategoryTheory.NatIso.ofComponents (fun s => CategoryTheory.Limits.Cone.ext (CategoryTheory.Iso.refl s.pt) ⋯) ⋯)) ((CategoryTheory.Limits.Cone.whiskering e.inverse).comp (CategoryTheory.Limits.Cone.postcompose (e.invFunIdAssoc F).hom)) ≪≫ CategoryTheory.Functor.isoWhiskerRight ((CategoryTheory.Limits.Cone.whiskering e.functor).associator (CategoryTheory.Limits.Cone.postcompose α.hom) (CategoryTheory.Limits.Cone.postcompose α.inv)).symm ((CategoryTheory.Limits.Cone.whiskering e.inverse).comp (CategoryTheory.Limits.Cone.postcompose (e.invFunIdAssoc F).hom)) ≪≫ ((CategoryTheory.Limits.Cone.whiskering e.functor).comp (CategoryTheory.Limits.Cone.postcompose α.hom)).associator (CategoryTheory.Limits.Cone.postcompose α.inv) ((CategoryTheory.Limits.Cone.whiskering e.inverse).comp (CategoryTheory.Limits.Cone.postcompose (e.invFunIdAssoc F).hom)) - CategoryTheory.Cat.Hom.toNatIso_associator 📋 Mathlib.CategoryTheory.Category.Cat
{B C D E : CategoryTheory.Cat} (F : B ⟶ C) (G : C ⟶ D) (H : D ⟶ E) : CategoryTheory.Cat.Hom.toNatIso (CategoryTheory.Bicategory.associator F G H) = F.toFunctor.associator G.toFunctor H.toFunctor - CategoryTheory.Cat.associator_hom_toNatTrans 📋 Mathlib.CategoryTheory.Category.Cat
{B C D E : CategoryTheory.Cat} (F : B ⟶ C) (G : C ⟶ D) (H : D ⟶ E) : (CategoryTheory.Bicategory.associator F G H).hom.toNatTrans = (F.toFunctor.associator G.toFunctor H.toFunctor).hom - CategoryTheory.Cat.associator_inv_toNatTrans 📋 Mathlib.CategoryTheory.Category.Cat
{B C D E : CategoryTheory.Cat} (F : B ⟶ C) (G : C ⟶ D) (H : D ⟶ E) : (CategoryTheory.Bicategory.associator F G H).inv.toNatTrans = (F.toFunctor.associator G.toFunctor H.toFunctor).inv - 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₂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.NatTrans.IsMonoidal.instHomFunctorAssociator 📋 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] {E' : Type u₄} [CategoryTheory.Category.{v₄, u₄} E'] [CategoryTheory.MonoidalCategory E'] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) (H : CategoryTheory.Functor E E') [F.LaxMonoidal] [G.LaxMonoidal] [H.LaxMonoidal] : CategoryTheory.NatTrans.IsMonoidal (F.associator G H).hom - CategoryTheory.conjugateEquiv_associator_hom 📋 Mathlib.CategoryTheory.Adjunction.Mates
{A : Type u₁} {B : Type u₂} {C : Type u₃} {D : Type u₄} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] [CategoryTheory.Category.{v₄, u₄} D] {L₀₁ : CategoryTheory.Functor A B} {R₁₀ : CategoryTheory.Functor B A} {L₁₂ : CategoryTheory.Functor B C} {R₂₁ : CategoryTheory.Functor C B} {L₂₃ : CategoryTheory.Functor C D} {R₃₂ : CategoryTheory.Functor D C} (adj₀₁ : L₀₁ ⊣ R₁₀) (adj₁₂ : L₁₂ ⊣ R₂₁) (adj₂₃ : L₂₃ ⊣ R₃₂) : (CategoryTheory.conjugateEquiv (adj₀₁.comp (adj₁₂.comp adj₂₃)) ((adj₀₁.comp adj₁₂).comp adj₂₃)) (L₀₁.associator L₁₂ L₂₃).hom = (R₃₂.associator R₂₁ R₁₀).hom - 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_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.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.Functor.isLeftKanExtension_iff_precomp 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} C'] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (F' : CategoryTheory.Functor D H) (G : CategoryTheory.Functor C' C) [G.IsEquivalence] (α : F ⟶ L.comp F') : F'.IsLeftKanExtension α ↔ F'.IsLeftKanExtension (CategoryTheory.CategoryStruct.comp (G.whiskerLeft α) (G.associator L F').inv) - CategoryTheory.Functor.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_iff_precomp 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} C'] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (F' : CategoryTheory.Functor D H) (G : CategoryTheory.Functor C' C) [G.IsEquivalence] (α : L.comp F' ⟶ F) : F'.IsRightKanExtension α ↔ F'.IsRightKanExtension (CategoryTheory.CategoryStruct.comp (G.associator L F').hom (G.whiskerLeft α)) - CategoryTheory.Functor.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.Functor.LeftExtension.postcompose₂_map_left 📋 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') {X Y : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.Functor.whiskeringLeft C D H).obj L)} (φ : X ⟶ Y) : ((CategoryTheory.Functor.LeftExtension.postcompose₂ L F G).map φ).left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.Functor.RightExtension.postcompose₂_map_right 📋 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') {X Y : CategoryTheory.Comma ((CategoryTheory.Functor.whiskeringLeft C D H).obj L) (CategoryTheory.Functor.fromPUnit F)} (φ : X ⟶ Y) : ((CategoryTheory.Functor.RightExtension.postcompose₂ L F G).map φ).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.Functor.LeftExtension.postcompose₂_map_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') {X Y : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit F) ((CategoryTheory.Functor.whiskeringLeft C D H).obj L)} (φ : X ⟶ Y) (X✝ : D) : ((CategoryTheory.Functor.LeftExtension.postcompose₂ L F G).map φ).right.app X✝ = G.map (φ.right.app X✝) - CategoryTheory.Functor.RightExtension.postcompose₂_map_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') {X Y : CategoryTheory.Comma ((CategoryTheory.Functor.whiskeringLeft C D H).obj L) (CategoryTheory.Functor.fromPUnit F)} (φ : X ⟶ Y) (X✝ : D) : ((CategoryTheory.Functor.RightExtension.postcompose₂ L F G).map φ).left.app X✝ = G.map (φ.left.app X✝) - CategoryTheory.shiftFunctorAdd'_assoc 📋 Mathlib.CategoryTheory.Shift.Basic
(C : Type u) {A : Type u_1} [CategoryTheory.Category.{v, u} C] [AddMonoid A] [CategoryTheory.HasShift C A] (a₁ a₂ a₃ a₁₂ a₂₃ a₁₂₃ : A) (h₁₂ : a₁ + a₂ = a₁₂) (h₂₃ : a₂ + a₃ = a₂₃) (h₁₂₃ : a₁ + a₂ + a₃ = a₁₂₃) : CategoryTheory.shiftFunctorAdd' C a₁₂ a₃ a₁₂₃ ⋯ ≪≫ CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.shiftFunctorAdd' C a₁ a₂ a₁₂ h₁₂) (CategoryTheory.shiftFunctor C a₃) ≪≫ (CategoryTheory.shiftFunctor C a₁).associator (CategoryTheory.shiftFunctor C a₂) (CategoryTheory.shiftFunctor C a₃) = CategoryTheory.shiftFunctorAdd' C a₁ a₂₃ a₁₂₃ ⋯ ≪≫ (CategoryTheory.shiftFunctor C a₁).isoWhiskerLeft (CategoryTheory.shiftFunctorAdd' C a₂ a₃ a₂₃ h₂₃) - CategoryTheory.shiftFunctorAdd_assoc 📋 Mathlib.CategoryTheory.Shift.Basic
(C : Type u) {A : Type u_1} [CategoryTheory.Category.{v, u} C] [AddMonoid A] [CategoryTheory.HasShift C A] (a₁ a₂ a₃ : A) : CategoryTheory.shiftFunctorAdd C (a₁ + a₂) a₃ ≪≫ CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.shiftFunctorAdd C a₁ a₂) (CategoryTheory.shiftFunctor C a₃) ≪≫ (CategoryTheory.shiftFunctor C a₁).associator (CategoryTheory.shiftFunctor C a₂) (CategoryTheory.shiftFunctor C a₃) = CategoryTheory.shiftFunctorAdd' C a₁ (a₂ + a₃) (a₁ + a₂ + a₃) ⋯ ≪≫ (CategoryTheory.shiftFunctor C a₁).isoWhiskerLeft (CategoryTheory.shiftFunctorAdd C a₂ a₃) - CategoryTheory.NatTrans.CommShift.associator 📋 Mathlib.CategoryTheory.Shift.CommShift
{C : Type u_1} {D : Type u_2} {E : Type u_3} {J : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_3, u_3} E] [CategoryTheory.Category.{v_4, u_4} J] {F₁ : CategoryTheory.Functor C D} (G : CategoryTheory.Functor D E) (H : CategoryTheory.Functor E J) (A : Type u_5) [AddMonoid A] [CategoryTheory.HasShift C A] [CategoryTheory.HasShift D A] [CategoryTheory.HasShift E A] [CategoryTheory.HasShift J A] [F₁.CommShift A] [G.CommShift A] [H.CommShift A] : CategoryTheory.NatTrans.CommShift (F₁.associator G H).hom A - 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.Functor.shiftIso_add' 📋 Mathlib.CategoryTheory.Shift.ShiftSequence
{C : Type u_1} {A : Type u_3} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} A] (F : CategoryTheory.Functor C A) {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] [F.ShiftSequence M] (n m mn : M) (hnm : m + n = mn) (a a' a'' : M) (ha' : n + a = a') (ha'' : m + a' = a'') : F.shiftIso mn a a'' ⋯ = CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.shiftFunctorAdd' C m n mn hnm) (F.shift a) ≪≫ (CategoryTheory.shiftFunctor C m).associator (CategoryTheory.shiftFunctor C n) (F.shift a) ≪≫ (CategoryTheory.shiftFunctor C m).isoWhiskerLeft (F.shiftIso n a a' ha') ≪≫ F.shiftIso m a' a'' ha'' - CategoryTheory.Functor.shiftIso_add 📋 Mathlib.CategoryTheory.Shift.ShiftSequence
{C : Type u_1} {A : Type u_3} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} A] (F : CategoryTheory.Functor C A) {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] [F.ShiftSequence M] (n m a a' a'' : M) (ha' : n + a = a') (ha'' : m + a' = a'') : F.shiftIso (m + n) a a'' ⋯ = CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.shiftFunctorAdd C m n) (F.shift a) ≪≫ (CategoryTheory.shiftFunctor C m).associator (CategoryTheory.shiftFunctor C n) (F.shift a) ≪≫ (CategoryTheory.shiftFunctor C m).isoWhiskerLeft (F.shiftIso n a a' ha') ≪≫ F.shiftIso m a' a'' ha'' - CategoryTheory.Functor.ShiftSequence.shiftIso_add 📋 Mathlib.CategoryTheory.Shift.ShiftSequence
{C : Type u_1} {A : Type u_3} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {inst✝¹ : CategoryTheory.Category.{v_3, u_3} A} {F : CategoryTheory.Functor C A} {M : Type u_4} {inst✝² : AddMonoid M} {inst✝³ : CategoryTheory.HasShift C M} [self : F.ShiftSequence M] (n m a a' a'' : M) (ha' : n + a = a') (ha'' : m + a' = a'') : CategoryTheory.Functor.ShiftSequence.shiftIso (m + n) a a'' ⋯ = CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.shiftFunctorAdd C m n) (CategoryTheory.Functor.ShiftSequence.sequence F a) ≪≫ (CategoryTheory.shiftFunctor C m).associator (CategoryTheory.shiftFunctor C n) (CategoryTheory.Functor.ShiftSequence.sequence F a) ≪≫ (CategoryTheory.shiftFunctor C m).isoWhiskerLeft (CategoryTheory.Functor.ShiftSequence.shiftIso n a a' ha') ≪≫ CategoryTheory.Functor.ShiftSequence.shiftIso m a' a'' ha'' - CategoryTheory.Functor.ShiftSequence.mk 📋 Mathlib.CategoryTheory.Shift.ShiftSequence
{C : Type u_1} {A : Type u_3} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} A] {F : CategoryTheory.Functor C A} {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] (sequence : M → CategoryTheory.Functor C A) (isoZero : sequence 0 ≅ F) (shiftIso : (n a a' : M) → n + a = a' → ((CategoryTheory.shiftFunctor C n).comp (sequence a) ≅ sequence a')) (shiftIso_zero : ∀ (a : M), shiftIso 0 a a ⋯ = CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.shiftFunctorZero C M) (sequence a) ≪≫ (sequence a).leftUnitor) (shiftIso_add : ∀ (n m a a' a'' : M) (ha' : n + a = a') (ha'' : m + a' = a''), shiftIso (m + n) a a'' ⋯ = CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.shiftFunctorAdd C m n) (sequence a) ≪≫ (CategoryTheory.shiftFunctor C m).associator (CategoryTheory.shiftFunctor C n) (sequence a) ≪≫ (CategoryTheory.shiftFunctor C m).isoWhiskerLeft (shiftIso n a a' ha') ≪≫ shiftIso m a' a'' ha'') : F.ShiftSequence M - CategoryTheory.Functor.ShiftSequence.leftComp_shiftIso 📋 Mathlib.CategoryTheory.Shift.ShiftSequence
{C : Type u_1} {D : Type u_2} {A : Type u_3} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_3, u_3} A] {F : CategoryTheory.Functor C A} {π : CategoryTheory.Functor C D} {H : CategoryTheory.Functor D A} (e : π.comp H ≅ F) (M : Type u_4) [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] [π.CommShift M] [H.ShiftSequence M] (n a a' : M) (ha' : n + a = a') : CategoryTheory.Functor.ShiftSequence.shiftIso n a a' ha' = ((CategoryTheory.shiftFunctor C n).associator π (H.shift a)).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.Functor.commShiftIso π n) (H.shift a) ≪≫ π.associator (CategoryTheory.shiftFunctor D n) (H.shift a) ≪≫ π.isoWhiskerLeft (H.shiftIso n a a' ha') - CategoryTheory.SingleFunctors.shiftIso_add' 📋 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 : CategoryTheory.SingleFunctors C D A) (n m mn : A) (hnm : m + n = mn) (a a' a'' : A) (ha' : n + a = a') (ha'' : m + a' = a'') : F.shiftIso mn a a'' ⋯ = (F.functor a'').isoWhiskerLeft (CategoryTheory.shiftFunctorAdd' D m n mn hnm) ≪≫ ((F.functor a'').associator (CategoryTheory.shiftFunctor D m) (CategoryTheory.shiftFunctor D n)).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (F.shiftIso m a' a'' ha'') (CategoryTheory.shiftFunctor D n) ≪≫ F.shiftIso n a a' ha' - CategoryTheory.SingleFunctors.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] (functor : A → CategoryTheory.Functor C D) (shiftIso : (n a a' : A) → n + a = a' → ((functor a').comp (CategoryTheory.shiftFunctor D n) ≅ functor a)) (shiftIso_zero : ∀ (a : A), shiftIso 0 a a ⋯ = (functor a).isoWhiskerLeft (CategoryTheory.shiftFunctorZero D A)) (shiftIso_add : ∀ (n m a a' a'' : A) (ha' : n + a = a') (ha'' : m + a' = a''), shiftIso (m + n) a a'' ⋯ = (functor a'').isoWhiskerLeft (CategoryTheory.shiftFunctorAdd D m n) ≪≫ ((functor a'').associator (CategoryTheory.shiftFunctor D m) (CategoryTheory.shiftFunctor D n)).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (shiftIso m a' a'' ha'') (CategoryTheory.shiftFunctor D n) ≪≫ shiftIso n a a' ha') : CategoryTheory.SingleFunctors C D A - CategoryTheory.SingleFunctors.shiftIso_add 📋 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] (self : CategoryTheory.SingleFunctors C D A) (n m a a' a'' : A) (ha' : n + a = a') (ha'' : m + a' = a'') : self.shiftIso (m + n) a a'' ⋯ = (self.functor a'').isoWhiskerLeft (CategoryTheory.shiftFunctorAdd D m n) ≪≫ ((self.functor a'').associator (CategoryTheory.shiftFunctor D m) (CategoryTheory.shiftFunctor D n)).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (self.shiftIso m a' a'' ha'') (CategoryTheory.shiftFunctor D n) ≪≫ self.shiftIso n a a' ha' - PresheafOfModules.pushforward_assoc 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {E' : Type u₄} [CategoryTheory.Category.{v₄, u₄} E'] {F : CategoryTheory.Functor C D} {R : CategoryTheory.Functor Dᵒᵖ RingCat} {S : CategoryTheory.Functor Cᵒᵖ RingCat} (φ : S ⟶ F.op.comp R) {T : CategoryTheory.Functor Eᵒᵖ RingCat} {G : CategoryTheory.Functor D E} (ψ : R ⟶ G.op.comp T) {T' : CategoryTheory.Functor E'ᵒᵖ RingCat} {G' : CategoryTheory.Functor E E'} (ψ' : T ⟶ G'.op.comp T') : (PresheafOfModules.pushforward ψ').isoWhiskerLeft (PresheafOfModules.pushforwardComp φ ψ) ≪≫ PresheafOfModules.pushforwardComp (CategoryTheory.CategoryStruct.comp φ (F.op.whiskerLeft ψ)) ψ' = ((PresheafOfModules.pushforward ψ').associator (PresheafOfModules.pushforward ψ) (PresheafOfModules.pushforward φ)).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (PresheafOfModules.pushforwardComp ψ ψ') (PresheafOfModules.pushforward φ) ≪≫ PresheafOfModules.pushforwardComp φ (CategoryTheory.CategoryStruct.comp ψ (G.op.whiskerLeft ψ')) - CategoryTheory.Adjunction.leftAdjointCompIso_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₃₀) (e₀₁₂ : G₂₁.comp G₁₀ ≅ G₂₀) (e₁₂₃ : G₃₂.comp G₂₁ ≅ G₃₁) (e₀₁₃ : G₃₁.comp G₁₀ ≅ G₃₀) (e₀₂₃ : G₃₂.comp G₂₀ ≅ G₃₀) (h : G₃₂.isoWhiskerLeft e₀₁₂ ≪≫ e₀₂₃ = (G₃₂.associator G₂₁ G₁₀).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight e₁₂₃ G₁₀ ≪≫ e₀₁₃) : F₀₁.isoWhiskerLeft (adj₁₂.leftAdjointCompIso adj₂₃ adj₁₃ e₁₂₃) ≪≫ adj₀₁.leftAdjointCompIso adj₁₃ adj₀₃ e₀₁₃ = (F₀₁.associator F₁₂ F₂₃).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (adj₀₁.leftAdjointCompIso adj₁₂ adj₀₂ e₀₁₂) F₂₃ ≪≫ adj₀₂.leftAdjointCompIso adj₂₃ adj₀₃ e₀₂₃ - 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₀₁.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)) - PresheafOfModules.pullback_assoc 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Pullback
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {E' : Type u₄} [CategoryTheory.Category.{v₄, u₄} E'] {F : CategoryTheory.Functor C D} {R : CategoryTheory.Functor Dᵒᵖ RingCat} {S : CategoryTheory.Functor Cᵒᵖ RingCat} (φ : S ⟶ F.op.comp R) {G : CategoryTheory.Functor D E} {T : CategoryTheory.Functor Eᵒᵖ RingCat} (ψ : R ⟶ G.op.comp T) [(PresheafOfModules.pushforward φ).IsRightAdjoint] [(PresheafOfModules.pushforward ψ).IsRightAdjoint] {T' : CategoryTheory.Functor E'ᵒᵖ RingCat} {G' : CategoryTheory.Functor E E'} (ψ' : T ⟶ G'.op.comp T') [(PresheafOfModules.pushforward ψ').IsRightAdjoint] : (PresheafOfModules.pullback φ).isoWhiskerLeft (PresheafOfModules.pullbackComp ψ ψ') ≪≫ PresheafOfModules.pullbackComp φ (CategoryTheory.CategoryStruct.comp ψ (G.op.whiskerLeft ψ')) = ((PresheafOfModules.pullback φ).associator (PresheafOfModules.pullback ψ) (PresheafOfModules.pullback ψ')).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (PresheafOfModules.pullbackComp φ ψ) (PresheafOfModules.pullback ψ') ≪≫ PresheafOfModules.pullbackComp (CategoryTheory.CategoryStruct.comp φ (F.op.whiskerLeft ψ)) ψ' - CategoryTheory.Functor.PreservesLeftKanExtension.mk 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] {G : CategoryTheory.Functor B D} {F : CategoryTheory.Functor A B} {L : CategoryTheory.Functor A C} (preserves : ∀ (F' : CategoryTheory.Functor C B) (α : F ⟶ L.comp F') [F'.IsLeftKanExtension α], (F'.comp G).IsLeftKanExtension (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α G) (L.associator F' G).hom)) : G.PreservesLeftKanExtension F L - CategoryTheory.Functor.PreservesLeftKanExtension.mk_of_preserves_isLeftKanExtension 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) (F' : CategoryTheory.Functor C B) (α : F ⟶ L.comp F') [F'.IsLeftKanExtension α] (h : (F'.comp G).IsLeftKanExtension (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α G) (L.associator F' G).hom)) : G.PreservesLeftKanExtension F L - CategoryTheory.Functor.PreservesLeftKanExtension.preserves 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} {inst✝ : CategoryTheory.Category.{v_1, u_1} A} {inst✝¹ : CategoryTheory.Category.{v_2, u_2} B} {inst✝² : CategoryTheory.Category.{v_3, u_3} C} {inst✝³ : CategoryTheory.Category.{v_4, u_4} D} {G : CategoryTheory.Functor B D} {F : CategoryTheory.Functor A B} {L : CategoryTheory.Functor A C} [self : G.PreservesLeftKanExtension F L] (F' : CategoryTheory.Functor C B) (α : F ⟶ L.comp F') [F'.IsLeftKanExtension α] : (F'.comp G).IsLeftKanExtension (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α G) (L.associator F' G).hom) - CategoryTheory.Functor.PreservesRightKanExtension.mk 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] {G : CategoryTheory.Functor B D} {F : CategoryTheory.Functor A B} {L : CategoryTheory.Functor A C} (preserves : ∀ (F' : CategoryTheory.Functor C B) (α : L.comp F' ⟶ F) [F'.IsRightKanExtension α], (F'.comp G).IsRightKanExtension (CategoryTheory.CategoryStruct.comp (L.associator F' G).inv (CategoryTheory.Functor.whiskerRight α G))) : G.PreservesRightKanExtension F L - CategoryTheory.Functor.PreservesRightKanExtension.mk_of_preserves_isRightKanExtension 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) (F' : CategoryTheory.Functor C B) (α : L.comp F' ⟶ F) [F'.IsRightKanExtension α] (h : (F'.comp G).IsRightKanExtension (CategoryTheory.CategoryStruct.comp (L.associator F' G).inv (CategoryTheory.Functor.whiskerRight α G))) : G.PreservesRightKanExtension F L - CategoryTheory.Functor.PreservesRightKanExtension.preserves 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} {inst✝ : CategoryTheory.Category.{v_1, u_1} A} {inst✝¹ : CategoryTheory.Category.{v_2, u_2} B} {inst✝² : CategoryTheory.Category.{v_3, u_3} C} {inst✝³ : CategoryTheory.Category.{v_4, u_4} D} {G : CategoryTheory.Functor B D} {F : CategoryTheory.Functor A B} {L : CategoryTheory.Functor A C} [self : G.PreservesRightKanExtension F L] (F' : CategoryTheory.Functor C B) (α : L.comp F' ⟶ F) [F'.IsRightKanExtension α] : (F'.comp G).IsRightKanExtension (CategoryTheory.CategoryStruct.comp (L.associator F' G).inv (CategoryTheory.Functor.whiskerRight α G)) - CategoryTheory.Functor.leftKanExtensionCompIsoOfPreserves_inv_fac 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesLeftKanExtension F L] [L.HasLeftKanExtension F] : CategoryTheory.CategoryStruct.comp (L.leftKanExtensionUnit (F.comp G)) (L.whiskerLeft (G.leftKanExtensionCompIsoOfPreserves F L).inv) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.leftKanExtensionUnit F) G) (L.associator (L.leftKanExtension F) G).hom - CategoryTheory.Functor.rightKanExtensionCompIsoOfPreserves_hom_fac 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesRightKanExtension F L] [L.HasRightKanExtension F] : CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.rightKanExtensionCompIsoOfPreserves F L).hom) (L.rightKanExtensionCounit (F.comp G)) = CategoryTheory.CategoryStruct.comp (L.associator (L.rightKanExtension F) G).inv (CategoryTheory.Functor.whiskerRight (L.rightKanExtensionCounit F) G) - CategoryTheory.Functor.pointwiseLeftKanExtensionCompIsoOfPreserves_inv_fac 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesPointwiseLeftKanExtension F L] [L.HasPointwiseLeftKanExtension F] : CategoryTheory.CategoryStruct.comp (L.pointwiseLeftKanExtensionUnit (F.comp G)) (L.whiskerLeft (G.pointwiseLeftKanExtensionCompIsoOfPreserves F L).inv) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.pointwiseLeftKanExtensionUnit F) G) (L.associator (L.pointwiseLeftKanExtension F) G).hom - CategoryTheory.Functor.pointwiseRightKanExtensionCompIsoOfPreserves_hom_fac 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesPointwiseRightKanExtension F L] [L.HasPointwiseRightKanExtension F] : CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.pointwiseRightKanExtensionCompIsoOfPreserves F L).hom) (L.pointwiseRightKanExtensionCounit (F.comp G)) = CategoryTheory.CategoryStruct.comp (L.associator (L.pointwiseRightKanExtension F) G).inv (CategoryTheory.Functor.whiskerRight (L.pointwiseRightKanExtensionCounit F) G) - CategoryTheory.Functor.rightKanExtensionCompIsoOfPreserves_inv_fac 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesRightKanExtension F L] [L.HasRightKanExtension F] : CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.rightKanExtensionCompIsoOfPreserves F L).inv) (CategoryTheory.CategoryStruct.comp (L.associator (L.rightKanExtension F) G).inv (CategoryTheory.Functor.whiskerRight (L.rightKanExtensionCounit F) G)) = L.rightKanExtensionCounit (F.comp G) - CategoryTheory.Functor.pointwiseRightKanExtensionCompIsoOfPreserves_inv_fac 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesPointwiseRightKanExtension F L] [L.HasPointwiseRightKanExtension F] : CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.pointwiseRightKanExtensionCompIsoOfPreserves F L).inv) (CategoryTheory.CategoryStruct.comp (L.associator (L.pointwiseRightKanExtension F) G).inv (CategoryTheory.Functor.whiskerRight (L.pointwiseRightKanExtensionCounit F) G)) = L.pointwiseRightKanExtensionCounit (F.comp G) - CategoryTheory.Functor.leftKanExtensionCompIsoOfPreserves_hom_fac 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesLeftKanExtension F L] [L.HasLeftKanExtension F] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.leftKanExtensionUnit F) G) (CategoryTheory.CategoryStruct.comp (L.associator (L.leftKanExtension F) G).hom (L.whiskerLeft (G.leftKanExtensionCompIsoOfPreserves F L).hom)) = L.leftKanExtensionUnit (F.comp G) - CategoryTheory.Functor.pointwiseLeftKanExtensionCompIsoOfPreserves_hom_fac 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesPointwiseLeftKanExtension F L] [L.HasPointwiseLeftKanExtension F] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.pointwiseLeftKanExtensionUnit F) G) (CategoryTheory.CategoryStruct.comp (L.associator (L.pointwiseLeftKanExtension F) G).hom (L.whiskerLeft (G.pointwiseLeftKanExtensionCompIsoOfPreserves F L).hom)) = L.pointwiseLeftKanExtensionUnit (F.comp G) - CategoryTheory.Functor.leftKanExtensionCompIsoOfPreserves_inv_fac_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesLeftKanExtension F L] [L.HasLeftKanExtension F] {Z : CategoryTheory.Functor A D} (h : L.comp ((L.leftKanExtension F).comp G) ⟶ Z) : CategoryTheory.CategoryStruct.comp (L.leftKanExtensionUnit (F.comp G)) (CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.leftKanExtensionCompIsoOfPreserves F L).inv) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.leftKanExtensionUnit F) G) (CategoryTheory.CategoryStruct.comp (L.associator (L.leftKanExtension F) G).hom h) - CategoryTheory.Functor.rightKanExtensionCompIsoOfPreserves_hom_fac_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesRightKanExtension F L] [L.HasRightKanExtension F] {Z : CategoryTheory.Functor A D} (h : F.comp G ⟶ Z) : CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.rightKanExtensionCompIsoOfPreserves F L).hom) (CategoryTheory.CategoryStruct.comp (L.rightKanExtensionCounit (F.comp G)) h) = CategoryTheory.CategoryStruct.comp (L.associator (L.rightKanExtension F) G).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.rightKanExtensionCounit F) G) h) - CategoryTheory.Functor.pointwiseLeftKanExtensionCompIsoOfPreserves_inv_fac_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesPointwiseLeftKanExtension F L] [L.HasPointwiseLeftKanExtension F] {Z : CategoryTheory.Functor A D} (h : L.comp ((L.pointwiseLeftKanExtension F).comp G) ⟶ Z) : CategoryTheory.CategoryStruct.comp (L.pointwiseLeftKanExtensionUnit (F.comp G)) (CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.pointwiseLeftKanExtensionCompIsoOfPreserves F L).inv) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.pointwiseLeftKanExtensionUnit F) G) (CategoryTheory.CategoryStruct.comp (L.associator (L.pointwiseLeftKanExtension F) G).hom h) - CategoryTheory.Functor.pointwiseRightKanExtensionCompIsoOfPreserves_hom_fac_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesPointwiseRightKanExtension F L] [L.HasPointwiseRightKanExtension F] {Z : CategoryTheory.Functor A D} (h : F.comp G ⟶ Z) : CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.pointwiseRightKanExtensionCompIsoOfPreserves F L).hom) (CategoryTheory.CategoryStruct.comp (L.pointwiseRightKanExtensionCounit (F.comp G)) h) = CategoryTheory.CategoryStruct.comp (L.associator (L.pointwiseRightKanExtension F) G).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.pointwiseRightKanExtensionCounit F) G) h) - CategoryTheory.Functor.leftKanExtensionCompIsoOfPreserves_hom_fac_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesLeftKanExtension F L] [L.HasLeftKanExtension F] {Z : CategoryTheory.Functor A D} (h : L.comp (L.leftKanExtension (F.comp G)) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.leftKanExtensionUnit F) G) (CategoryTheory.CategoryStruct.comp (L.associator (L.leftKanExtension F) G).hom (CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.leftKanExtensionCompIsoOfPreserves F L).hom) h)) = CategoryTheory.CategoryStruct.comp (L.leftKanExtensionUnit (F.comp G)) h - CategoryTheory.Functor.rightKanExtensionCompIsoOfPreserves_inv_fac_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesRightKanExtension F L] [L.HasRightKanExtension F] {Z : CategoryTheory.Functor A D} (h : F.comp G ⟶ Z) : CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.rightKanExtensionCompIsoOfPreserves F L).inv) (CategoryTheory.CategoryStruct.comp (L.associator (L.rightKanExtension F) G).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.rightKanExtensionCounit F) G) h)) = CategoryTheory.CategoryStruct.comp (L.rightKanExtensionCounit (F.comp G)) h - CategoryTheory.Functor.pointwiseLeftKanExtensionCompIsoOfPreserves_hom_fac_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesPointwiseLeftKanExtension F L] [L.HasPointwiseLeftKanExtension F] {Z : CategoryTheory.Functor A D} (h : L.comp (L.pointwiseLeftKanExtension (F.comp G)) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.pointwiseLeftKanExtensionUnit F) G) (CategoryTheory.CategoryStruct.comp (L.associator (L.pointwiseLeftKanExtension F) G).hom (CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.pointwiseLeftKanExtensionCompIsoOfPreserves F L).hom) h)) = CategoryTheory.CategoryStruct.comp (L.pointwiseLeftKanExtensionUnit (F.comp G)) h - CategoryTheory.Functor.pointwiseRightKanExtensionCompIsoOfPreserves_inv_fac_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Preserves
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (G : CategoryTheory.Functor B D) (F : CategoryTheory.Functor A B) (L : CategoryTheory.Functor A C) [G.PreservesPointwiseRightKanExtension F L] [L.HasPointwiseRightKanExtension F] {Z : CategoryTheory.Functor A D} (h : F.comp G ⟶ Z) : CategoryTheory.CategoryStruct.comp (L.whiskerLeft (G.pointwiseRightKanExtensionCompIsoOfPreserves F L).inv) (CategoryTheory.CategoryStruct.comp (L.associator (L.pointwiseRightKanExtension F) G).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (L.pointwiseRightKanExtensionCounit F) G) h)) = CategoryTheory.CategoryStruct.comp (L.pointwiseRightKanExtensionCounit (F.comp G)) h - CategoryTheory.GrothendieckTopology.overMapPullback_assoc 📋 Mathlib.CategoryTheory.Sites.Over
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) (A : Type u') [CategoryTheory.Category.{v', u'} A] {X Y Z T : C} (f : X ⟶ Y) (g : Y ⟶ Z) (h : Z ⟶ T) : CategoryTheory.CategoryStruct.comp (J.overMapPullbackComp A f (CategoryTheory.CategoryStruct.comp g h)).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (J.overMapPullbackComp A g h).inv (J.overMapPullback A f)) (CategoryTheory.CategoryStruct.comp ((J.overMapPullback A h).associator (J.overMapPullback A g) (J.overMapPullback A f)).hom (CategoryTheory.CategoryStruct.comp ((J.overMapPullback A h).whiskerLeft (J.overMapPullbackComp A f g).hom) (J.overMapPullbackComp A (CategoryTheory.CategoryStruct.comp f g) h).hom))) = (J.overMapPullbackCongr A ⋯).hom - CategoryTheory.GrothendieckTopology.overMapPullback_assoc_assoc 📋 Mathlib.CategoryTheory.Sites.Over
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) (A : Type u') [CategoryTheory.Category.{v', u'} A] {X Y Z T : C} (f : X ⟶ Y) (g : Y ⟶ Z) (h : Z ⟶ T) {Z✝ : CategoryTheory.Functor (CategoryTheory.Sheaf (J.over T) A) (CategoryTheory.Sheaf (J.over X) A)} (h✝ : J.overMapPullback A (CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp f g) h) ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (J.overMapPullbackComp A f (CategoryTheory.CategoryStruct.comp g h)).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (J.overMapPullbackComp A g h).inv (J.overMapPullback A f)) (CategoryTheory.CategoryStruct.comp ((J.overMapPullback A h).associator (J.overMapPullback A g) (J.overMapPullback A f)).hom (CategoryTheory.CategoryStruct.comp ((J.overMapPullback A h).whiskerLeft (J.overMapPullbackComp A f g).hom) (CategoryTheory.CategoryStruct.comp (J.overMapPullbackComp A (CategoryTheory.CategoryStruct.comp f g) h).hom h✝)))) = CategoryTheory.CategoryStruct.comp (J.overMapPullbackCongr A ⋯).hom h✝ - SheafOfModules.pushforward_assoc 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PushforwardContinuous
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {D' : Type u₃} [CategoryTheory.Category.{v₃, u₃} D'] {D'' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D''] {J : CategoryTheory.GrothendieckTopology C} {K : CategoryTheory.GrothendieckTopology D} {F : CategoryTheory.Functor C D} {S : CategoryTheory.Sheaf J RingCat} {R : CategoryTheory.Sheaf K RingCat} [F.IsContinuous J K] (φ : S ⟶ (F.sheafPushforwardContinuous RingCat J K).obj R) {K' : CategoryTheory.GrothendieckTopology D'} {K'' : CategoryTheory.GrothendieckTopology D''} {G : CategoryTheory.Functor D D'} {R' : CategoryTheory.Sheaf K' RingCat} [G.IsContinuous K K'] (ψ : R ⟶ (G.sheafPushforwardContinuous RingCat K K').obj R') {G' : CategoryTheory.Functor D' D''} {R'' : CategoryTheory.Sheaf K'' RingCat} [G'.IsContinuous K' K''] [(G.comp G').IsContinuous K K''] [(F.comp G).IsContinuous J K'] (ψ' : R' ⟶ (G'.sheafPushforwardContinuous RingCat K' K'').obj R'') : (SheafOfModules.pushforward ψ').isoWhiskerLeft (SheafOfModules.pushforwardComp φ ψ) ≪≫ SheafOfModules.pushforwardComp (CategoryTheory.CategoryStruct.comp φ ((F.sheafPushforwardContinuous RingCat J K).map ψ)) ψ' = ((SheafOfModules.pushforward ψ').associator (SheafOfModules.pushforward ψ) (SheafOfModules.pushforward φ)).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (SheafOfModules.pushforwardComp ψ ψ') (SheafOfModules.pushforward φ) ≪≫ SheafOfModules.pushforwardComp φ (CategoryTheory.CategoryStruct.comp ψ ((G.sheafPushforwardContinuous RingCat K K').map ψ')) - SheafOfModules.pullback_assoc 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackContinuous
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {D' : Type u₃} [CategoryTheory.Category.{v₃, u₃} D'] {D'' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D''] {J : CategoryTheory.GrothendieckTopology C} {K : CategoryTheory.GrothendieckTopology D} {F : CategoryTheory.Functor C D} {S : CategoryTheory.Sheaf J RingCat} {R : CategoryTheory.Sheaf K RingCat} [F.IsContinuous J K] (φ : S ⟶ (F.sheafPushforwardContinuous RingCat J K).obj R) [(SheafOfModules.pushforward φ).IsRightAdjoint] {K' : CategoryTheory.GrothendieckTopology D'} {K'' : CategoryTheory.GrothendieckTopology D''} {G : CategoryTheory.Functor D D'} {R' : CategoryTheory.Sheaf K' RingCat} [G.IsContinuous K K'] [(F.comp G).IsContinuous J K'] (ψ : R ⟶ (G.sheafPushforwardContinuous RingCat K K').obj R') [(SheafOfModules.pushforward ψ).IsRightAdjoint] {G' : CategoryTheory.Functor D' D''} {R'' : CategoryTheory.Sheaf K'' RingCat} [G'.IsContinuous K' K''] [(G.comp G').IsContinuous K K''] [((F.comp G).comp G').IsContinuous J K''] [(F.comp (G.comp G')).IsContinuous J K''] (ψ' : R' ⟶ (G'.sheafPushforwardContinuous RingCat K' K'').obj R'') [(SheafOfModules.pushforward ψ').IsRightAdjoint] : (SheafOfModules.pullback φ).isoWhiskerLeft (SheafOfModules.pullbackComp ψ ψ') ≪≫ SheafOfModules.pullbackComp φ (CategoryTheory.CategoryStruct.comp ψ ((G.sheafPushforwardContinuous RingCat K K').map ψ')) = ((SheafOfModules.pullback φ).associator (SheafOfModules.pullback ψ) (SheafOfModules.pullback ψ')).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (SheafOfModules.pullbackComp φ ψ) (SheafOfModules.pullback ψ') ≪≫ SheafOfModules.pullbackComp (CategoryTheory.CategoryStruct.comp φ ((F.sheafPushforwardContinuous RingCat J K).map ψ)) ψ' - CategoryTheory.Adjunction.rightExtensionPostCompose₂LeftAdjoint_map_left_app 📋 Mathlib.CategoryTheory.Functor.KanExtension.AdjunctionPreserves
{C : Type u_1} {D : Type u_2} {H₁ : Type u_3} {H₂ : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_3, u_3} H₁] [CategoryTheory.Category.{v_4, u_4} H₂] {G₁ : CategoryTheory.Functor H₁ H₂} {G₂ : CategoryTheory.Functor H₂ H₁} (adj : G₁ ⊣ G₂) (F : CategoryTheory.Functor C H₂) (L : CategoryTheory.Functor C D) {X Y : CategoryTheory.Comma ((CategoryTheory.Functor.whiskeringLeft C D H₁).obj L) (CategoryTheory.Functor.fromPUnit (F.comp G₂))} (φ : X ⟶ Y) (X✝ : D) : ((adj.rightExtensionPostCompose₂LeftAdjoint F L).map φ).left.app X✝ = G₁.map (φ.left.app X✝) - CategoryTheory.Adjunction.leftExtensionPostCompose₂RightAdjoint_map_right_app 📋 Mathlib.CategoryTheory.Functor.KanExtension.AdjunctionPreserves
{C : Type u_1} {D : Type u_2} {H₁ : Type u_3} {H₂ : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_3, u_3} H₁] [CategoryTheory.Category.{v_4, u_4} H₂] {G₁ : CategoryTheory.Functor H₁ H₂} {G₂ : CategoryTheory.Functor H₂ H₁} (adj : G₁ ⊣ G₂) (F : CategoryTheory.Functor C H₁) (L : CategoryTheory.Functor C D) {X Y : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit (F.comp G₁)) ((CategoryTheory.Functor.whiskeringLeft C D H₂).obj L)} (φ : X ⟶ Y) (X✝ : D) : ((adj.leftExtensionPostCompose₂RightAdjoint F L).map φ).right.app X✝ = G₂.map (φ.right.app X✝) - CategoryTheory.Functor.instIsRightDerivedFunctorCompCompWhiskerRightHomAssociatorOfIsLeftAdjoint 📋 Mathlib.CategoryTheory.Functor.Derived.RightDerived
{C : Type u_3} {D : Type u_4} {H : Type u_1} {H' : Type u_2} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Category.{v_2, u_4} D] [CategoryTheory.Category.{v_3, u_1} H] [CategoryTheory.Category.{v_4, u_2} H'] (RF : CategoryTheory.Functor D H) {F : CategoryTheory.Functor C H} {L : CategoryTheory.Functor C D} (α : F ⟶ L.comp RF) (W : CategoryTheory.MorphismProperty C) [L.IsLocalization W] [RF.IsRightDerivedFunctor α W] (G : CategoryTheory.Functor H H') [G.IsLeftAdjoint] : (RF.comp G).IsRightDerivedFunctor (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α G) (L.associator RF G).hom) W - CategoryTheory.LocalizerMorphism.isRightDerivedFunctor_iff_precomp 📋 Mathlib.CategoryTheory.Functor.Derived.RightDerived
{C₁ : Type u_1} {C₂ : Type u_2} {H₁ : Type u_3} {H₂ : Type u_4} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_5} D] [CategoryTheory.Category.{v_4, u_3} H₁] [CategoryTheory.Category.{v_5, u_4} H₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) [Φ.IsLocalizedEquivalence] [Φ.functor.IsEquivalence] (L₁ : CategoryTheory.Functor C₁ H₁) (L₂ : CategoryTheory.Functor C₂ H₂) [L₁.IsLocalization W₁] [L₂.IsLocalization W₂] (G : CategoryTheory.Functor H₁ H₂) (iso : Φ.functor.comp L₂ ≅ L₁.comp G) {F₁ : CategoryTheory.Functor C₁ D} {RF₁ : CategoryTheory.Functor H₁ D} (α₁ : F₁ ⟶ L₁.comp RF₁) {F₂ : CategoryTheory.Functor C₂ D} {RF₂ : CategoryTheory.Functor H₂ D} (α₂ : F₂ ⟶ L₂.comp RF₂) (e₁ : Φ.functor.comp F₂ ≅ F₁) (e₂ : G.comp RF₂ ≅ RF₁) (h : α₁ = CategoryTheory.CategoryStruct.comp e₁.inv (CategoryTheory.CategoryStruct.comp (Φ.functor.whiskerLeft α₂) (CategoryTheory.CategoryStruct.comp (Φ.functor.associator L₂ RF₂).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight iso.hom RF₂) (CategoryTheory.CategoryStruct.comp (L₁.associator G RF₂).hom (L₁.whiskerLeft e₂.hom))))) := by cat_disch) : RF₂.IsRightDerivedFunctor α₂ W₂ ↔ RF₁.IsRightDerivedFunctor α₁ W₁ - CategoryTheory.LocalizerMorphism.rightDerivedFunctorComparison_fac 📋 Mathlib.CategoryTheory.Localization.DerivabilityStructure.PointwiseRightDerived
{C₁ : Type u₁} {C₂ : Type u₂} {H : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} H] {D₁ : Type u₄} {D₂ : Type u₅} [CategoryTheory.Category.{v₄, u₄} D₁] [CategoryTheory.Category.{v₅, u₅} D₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) (L₁ : CategoryTheory.Functor C₁ D₁) (L₂ : CategoryTheory.Functor C₂ D₂) [L₁.IsLocalization W₁] [L₂.IsLocalization W₂] (F : CategoryTheory.Functor C₂ H) (F₁ : CategoryTheory.Functor D₁ H) (α₁ : Φ.functor.comp F ⟶ L₁.comp F₁) (F₂ : CategoryTheory.Functor D₂ H) (α₂ : F ⟶ L₂.comp F₂) [F₁.IsRightDerivedFunctor α₁ W₁] : CategoryTheory.CategoryStruct.comp α₁ (L₁.whiskerLeft (Φ.rightDerivedFunctorComparison L₁ L₂ F F₁ α₁ F₂ α₂)) = CategoryTheory.CategoryStruct.comp (Φ.functor.whiskerLeft α₂) (CategoryTheory.CategoryStruct.comp (Φ.functor.associator L₂ F₂).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.CatCommSq.iso Φ.functor L₁ L₂ (Φ.localizedFunctor L₁ L₂)).hom F₂) (L₁.associator (Φ.localizedFunctor L₁ L₂) F₂).hom)) - CategoryTheory.LocalizerMorphism.rightDerivedFunctorComparison_fac_assoc 📋 Mathlib.CategoryTheory.Localization.DerivabilityStructure.PointwiseRightDerived
{C₁ : Type u₁} {C₂ : Type u₂} {H : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} H] {D₁ : Type u₄} {D₂ : Type u₅} [CategoryTheory.Category.{v₄, u₄} D₁] [CategoryTheory.Category.{v₅, u₅} D₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) (L₁ : CategoryTheory.Functor C₁ D₁) (L₂ : CategoryTheory.Functor C₂ D₂) [L₁.IsLocalization W₁] [L₂.IsLocalization W₂] (F : CategoryTheory.Functor C₂ H) (F₁ : CategoryTheory.Functor D₁ H) (α₁ : Φ.functor.comp F ⟶ L₁.comp F₁) (F₂ : CategoryTheory.Functor D₂ H) (α₂ : F ⟶ L₂.comp F₂) [F₁.IsRightDerivedFunctor α₁ W₁] {Z : CategoryTheory.Functor C₁ H} (h : L₁.comp ((Φ.localizedFunctor L₁ L₂).comp F₂) ⟶ Z) : CategoryTheory.CategoryStruct.comp α₁ (CategoryTheory.CategoryStruct.comp (L₁.whiskerLeft (Φ.rightDerivedFunctorComparison L₁ L₂ F F₁ α₁ F₂ α₂)) h) = CategoryTheory.CategoryStruct.comp (Φ.functor.whiskerLeft α₂) (CategoryTheory.CategoryStruct.comp (Φ.functor.associator L₂ F₂).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.CatCommSq.iso Φ.functor L₁ L₂ (Φ.localizedFunctor L₁ L₂)).hom F₂) (CategoryTheory.CategoryStruct.comp (L₁.associator (Φ.localizedFunctor L₁ L₂) F₂).hom h))) - AlgebraicGeometry.Scheme.Modules.pseudofunctor_associativity 📋 Mathlib.AlgebraicGeometry.Modules.Sheaf
{X Y Z T : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) (h : Z ⟶ T) : CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.Scheme.Modules.pullbackComp f (CategoryTheory.CategoryStruct.comp g h)).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (AlgebraicGeometry.Scheme.Modules.pullbackComp g h).inv (AlgebraicGeometry.Scheme.Modules.pullback f)) (CategoryTheory.CategoryStruct.comp ((AlgebraicGeometry.Scheme.Modules.pullback h).associator (AlgebraicGeometry.Scheme.Modules.pullback g) (AlgebraicGeometry.Scheme.Modules.pullback f)).hom (CategoryTheory.CategoryStruct.comp ((AlgebraicGeometry.Scheme.Modules.pullback h).whiskerLeft (AlgebraicGeometry.Scheme.Modules.pullbackComp f g).hom) (AlgebraicGeometry.Scheme.Modules.pullbackComp (CategoryTheory.CategoryStruct.comp f g) h).hom))) = CategoryTheory.eqToHom ⋯ - AlgebraicGeometry.Scheme.Modules.pseudofunctor_associativity_assoc 📋 Mathlib.AlgebraicGeometry.Modules.Sheaf
{X Y Z T : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) (h : Z ⟶ T) {Z✝ : CategoryTheory.Functor T.Modules X.Modules} (h✝ : AlgebraicGeometry.Scheme.Modules.pullback (CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp f g) h) ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.Scheme.Modules.pullbackComp f (CategoryTheory.CategoryStruct.comp g h)).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (AlgebraicGeometry.Scheme.Modules.pullbackComp g h).inv (AlgebraicGeometry.Scheme.Modules.pullback f)) (CategoryTheory.CategoryStruct.comp ((AlgebraicGeometry.Scheme.Modules.pullback h).associator (AlgebraicGeometry.Scheme.Modules.pullback g) (AlgebraicGeometry.Scheme.Modules.pullback f)).hom (CategoryTheory.CategoryStruct.comp ((AlgebraicGeometry.Scheme.Modules.pullback h).whiskerLeft (AlgebraicGeometry.Scheme.Modules.pullbackComp f g).hom) (CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.Scheme.Modules.pullbackComp (CategoryTheory.CategoryStruct.comp f g) h).hom h✝)))) = CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom ⋯) h✝ - AlgebraicTopology.DoldKan.identity_N₂ 📋 Mathlib.AlgebraicTopology.DoldKan.NCompGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] : CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.id AlgebraicTopology.DoldKan.N₂ ◫ AlgebraicTopology.DoldKan.N₂Γ₂.inv) (CategoryTheory.CategoryStruct.comp (AlgebraicTopology.DoldKan.N₂.associator AlgebraicTopology.DoldKan.Γ₂ AlgebraicTopology.DoldKan.N₂).inv (AlgebraicTopology.DoldKan.Γ₂N₂.natTrans ◫ CategoryTheory.CategoryStruct.id AlgebraicTopology.DoldKan.N₂)) = CategoryTheory.CategoryStruct.id AlgebraicTopology.DoldKan.N₂ - CategoryTheory.Adjunction.Triple.rightToLeft_eq_counits 📋 Mathlib.CategoryTheory.Adjunction.Triple
{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 : CategoryTheory.Functor D C} {H : CategoryTheory.Functor C D} (t : CategoryTheory.Adjunction.Triple F G H) [G.Full] [G.Faithful] : t.rightToLeft = CategoryTheory.CategoryStruct.comp H.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.inv (H.whiskerLeft t.adj₁.counit)) (CategoryTheory.CategoryStruct.comp (H.associator G F).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight t.adj₂.counit F) F.leftUnitor.hom))) - CategoryTheory.Adjunction.Triple.rightToLeft_eq_units 📋 Mathlib.CategoryTheory.Adjunction.Triple
{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 : CategoryTheory.Functor D C} {H : CategoryTheory.Functor C D} (t : CategoryTheory.Adjunction.Triple F G H) [G.Full] [G.Faithful] : t.rightToLeft = CategoryTheory.CategoryStruct.comp H.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight t.adj₁.unit H) (CategoryTheory.CategoryStruct.comp (F.associator G H).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.inv (F.whiskerLeft t.adj₂.unit)) F.rightUnitor.hom))) - CategoryTheory.Adjunction.Triple.leftToRight_eq_counits 📋 Mathlib.CategoryTheory.Adjunction.Triple
{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 : CategoryTheory.Functor D C} {H : CategoryTheory.Functor C D} (t : CategoryTheory.Adjunction.Triple F G H) [F.Full] [F.Faithful] [H.Full] [H.Faithful] : t.leftToRight = CategoryTheory.CategoryStruct.comp F.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.inv (CategoryTheory.Functor.whiskerRight t.adj₂.counit F)) (CategoryTheory.CategoryStruct.comp (H.associator G F).hom (CategoryTheory.CategoryStruct.comp (H.whiskerLeft t.adj₁.counit) H.rightUnitor.hom))) - CategoryTheory.Iso.coreAssociator 📋 Mathlib.CategoryTheory.Core
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {E' : Type u₄} [CategoryTheory.Category.{v₄, u₄} E'] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) (H : CategoryTheory.Functor E E') : (F.associator G H).core = (F.comp G).coreComp H ≪≫ CategoryTheory.Functor.isoWhiskerRight (F.coreComp G) H.core ≪≫ F.core.associator G.core H.core ≪≫ (F.core.isoWhiskerLeft (G.coreComp H)).symm ≪≫ (F.coreComp (G.comp H)).symm - CategoryTheory.Limits.fiberwiseColimitLimitIso_inv_app 📋 Mathlib.CategoryTheory.Limits.Preserves.Grothendieck
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {H : Type u₂} [CategoryTheory.Category.{v₂, u₂} H] {J : Type u₃} [CategoryTheory.Category.{v₃, u₃} J] {F : CategoryTheory.Functor C CategoryTheory.Cat} (K : CategoryTheory.Functor J (CategoryTheory.Functor (CategoryTheory.Grothendieck F) H)) [∀ (c : C), CategoryTheory.Limits.HasColimitsOfShape (↑(F.obj c)) H] [CategoryTheory.Limits.HasLimitsOfShape J H] [∀ (c : C), CategoryTheory.Limits.PreservesLimitsOfShape J CategoryTheory.Limits.colim] (X : C) : (CategoryTheory.Limits.fiberwiseColimitLimitIso K).inv.app X = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limitObjIsoLimitCompEvaluation (K.comp (CategoryTheory.Limits.fiberwiseColim F H)) X).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.HasLimit.isoOfNatIso (K.associator ((CategoryTheory.Functor.whiskeringLeft (↑(F.obj X)) (CategoryTheory.Grothendieck F) H).obj (CategoryTheory.Grothendieck.ι F X)) CategoryTheory.Limits.colim ≪≫ K.isoWhiskerLeft (CategoryTheory.Limits.fiberwiseColimCompEvaluationIso X).symm ≪≫ (K.associator (CategoryTheory.Limits.fiberwiseColim F H) ((CategoryTheory.evaluation C H).obj X)).symm)).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.preservesLimitIso CategoryTheory.Limits.colim (K.comp ((CategoryTheory.Functor.whiskeringLeft (↑(F.obj X)) (CategoryTheory.Grothendieck F) H).obj (CategoryTheory.Grothendieck.ι F X)))).inv (CategoryTheory.Limits.HasColimit.isoOfNatIso (CategoryTheory.Limits.limitCompWhiskeringLeftIsoCompLimit K (CategoryTheory.Grothendieck.ι F X)).symm).inv)) - CategoryTheory.Limits.fiberwiseColimitLimitIso_hom_app 📋 Mathlib.CategoryTheory.Limits.Preserves.Grothendieck
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {H : Type u₂} [CategoryTheory.Category.{v₂, u₂} H] {J : Type u₃} [CategoryTheory.Category.{v₃, u₃} J] {F : CategoryTheory.Functor C CategoryTheory.Cat} (K : CategoryTheory.Functor J (CategoryTheory.Functor (CategoryTheory.Grothendieck F) H)) [∀ (c : C), CategoryTheory.Limits.HasColimitsOfShape (↑(F.obj c)) H] [CategoryTheory.Limits.HasLimitsOfShape J H] [∀ (c : C), CategoryTheory.Limits.PreservesLimitsOfShape J CategoryTheory.Limits.colim] (X : C) : (CategoryTheory.Limits.fiberwiseColimitLimitIso K).hom.app X = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.HasColimit.isoOfNatIso (CategoryTheory.Limits.limitCompWhiskeringLeftIsoCompLimit K (CategoryTheory.Grothendieck.ι F X)).symm).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.preservesLimitIso CategoryTheory.Limits.colim (K.comp ((CategoryTheory.Functor.whiskeringLeft (↑(F.obj X)) (CategoryTheory.Grothendieck F) H).obj (CategoryTheory.Grothendieck.ι F X)))).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.HasLimit.isoOfNatIso (K.associator ((CategoryTheory.Functor.whiskeringLeft (↑(F.obj X)) (CategoryTheory.Grothendieck F) H).obj (CategoryTheory.Grothendieck.ι F X)) CategoryTheory.Limits.colim ≪≫ K.isoWhiskerLeft (CategoryTheory.Limits.fiberwiseColimCompEvaluationIso X).symm ≪≫ (K.associator (CategoryTheory.Limits.fiberwiseColim F H) ((CategoryTheory.evaluation C H).obj X)).symm)).hom (CategoryTheory.Limits.limitObjIsoLimitCompEvaluation (K.comp (CategoryTheory.Limits.fiberwiseColim F H)) X).inv)) - CategoryTheory.Functor.instIsLeftDerivedFunctorCompCompInvAssociatorWhiskerRightOfIsRightAdjoint 📋 Mathlib.CategoryTheory.Functor.Derived.LeftDerived
{C : Type u_3} {D : Type u_4} {H : Type u_1} {H' : Type u_2} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Category.{v_2, u_4} D] [CategoryTheory.Category.{v_3, u_1} H] [CategoryTheory.Category.{v_4, u_2} H'] (LF : CategoryTheory.Functor D H) {F : CategoryTheory.Functor C H} {L : CategoryTheory.Functor C D} (α : L.comp LF ⟶ F) (W : CategoryTheory.MorphismProperty C) [L.IsLocalization W] [LF.IsLeftDerivedFunctor α W] (G : CategoryTheory.Functor H H') [G.IsRightAdjoint] : (LF.comp G).IsLeftDerivedFunctor (CategoryTheory.CategoryStruct.comp (L.associator LF G).inv (CategoryTheory.Functor.whiskerRight α G)) W - CategoryTheory.LocalizerMorphism.isLeftDerivedFunctor_iff_precomp 📋 Mathlib.CategoryTheory.Functor.Derived.LeftDerived
{C₁ : Type u_1} {C₂ : Type u_2} {H₁ : Type u_3} {H₂ : Type u_4} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_5} D] [CategoryTheory.Category.{v_4, u_3} H₁] [CategoryTheory.Category.{v_5, u_4} H₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) [Φ.IsLocalizedEquivalence] [Φ.functor.IsEquivalence] (L₁ : CategoryTheory.Functor C₁ H₁) (L₂ : CategoryTheory.Functor C₂ H₂) [L₁.IsLocalization W₁] [L₂.IsLocalization W₂] (G : CategoryTheory.Functor H₁ H₂) (iso : Φ.functor.comp L₂ ≅ L₁.comp G) {F₁ : CategoryTheory.Functor C₁ D} {LF₁ : CategoryTheory.Functor H₁ D} (α₁ : L₁.comp LF₁ ⟶ F₁) {F₂ : CategoryTheory.Functor C₂ D} {LF₂ : CategoryTheory.Functor H₂ D} (α₂ : L₂.comp LF₂ ⟶ F₂) (e₁ : Φ.functor.comp F₂ ≅ F₁) (e₂ : G.comp LF₂ ≅ LF₁) (h : α₁ = CategoryTheory.CategoryStruct.comp (L₁.whiskerLeft e₂.inv) (CategoryTheory.CategoryStruct.comp (L₁.associator G LF₂).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight iso.inv LF₂) (CategoryTheory.CategoryStruct.comp (Φ.functor.associator L₂ LF₂).hom (CategoryTheory.CategoryStruct.comp (Φ.functor.whiskerLeft α₂) e₁.hom)))) := by cat_disch) : LF₂.IsLeftDerivedFunctor α₂ W₂ ↔ LF₁.IsLeftDerivedFunctor α₁ W₁ - CategoryTheory.Adjunction.derivedε 📋 Mathlib.CategoryTheory.Functor.Derived.Adjunction
{C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D₁] [CategoryTheory.Category.{v_4, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) {L₁ : CategoryTheory.Functor C₁ D₁} {L₂ : CategoryTheory.Functor C₂ D₂} (W₂ : CategoryTheory.MorphismProperty C₂) [L₂.IsLocalization W₂] {G' : CategoryTheory.Functor D₁ D₂} {F' : CategoryTheory.Functor D₂ D₁} (α : L₁.comp G' ⟶ G.comp L₂) (β : F.comp L₁ ⟶ L₂.comp F') [(F'.comp G').IsRightDerivedFunctor (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G') (L₂.associator F' G').hom) W₂] : F'.comp G' ⟶ CategoryTheory.Functor.id D₂ - CategoryTheory.Adjunction.derivedη 📋 Mathlib.CategoryTheory.Functor.Derived.Adjunction
{C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D₁] [CategoryTheory.Category.{v_4, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) {L₁ : CategoryTheory.Functor C₁ D₁} {L₂ : CategoryTheory.Functor C₂ D₂} (W₁ : CategoryTheory.MorphismProperty C₁) [L₁.IsLocalization W₁] {G' : CategoryTheory.Functor D₁ D₂} {F' : CategoryTheory.Functor D₂ D₁} (α : L₁.comp G' ⟶ G.comp L₂) (β : F.comp L₁ ⟶ L₂.comp F') [(G'.comp F').IsLeftDerivedFunctor (CategoryTheory.CategoryStruct.comp (L₁.associator G' F').inv (CategoryTheory.Functor.whiskerRight α F')) W₁] : CategoryTheory.Functor.id D₁ ⟶ G'.comp F' - CategoryTheory.Adjunction.derived 📋 Mathlib.CategoryTheory.Functor.Derived.Adjunction
{C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D₁] [CategoryTheory.Category.{v_4, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) {L₁ : CategoryTheory.Functor C₁ D₁} {L₂ : CategoryTheory.Functor C₂ D₂} (W₁ : CategoryTheory.MorphismProperty C₁) (W₂ : CategoryTheory.MorphismProperty C₂) [L₁.IsLocalization W₁] [L₂.IsLocalization W₂] {G' : CategoryTheory.Functor D₁ D₂} {F' : CategoryTheory.Functor D₂ D₁} (α : L₁.comp G' ⟶ G.comp L₂) (β : F.comp L₁ ⟶ L₂.comp F') [G'.IsLeftDerivedFunctor α W₁] [F'.IsRightDerivedFunctor β W₂] [(G'.comp F').IsLeftDerivedFunctor (CategoryTheory.CategoryStruct.comp (L₁.associator G' F').inv (CategoryTheory.Functor.whiskerRight α F')) W₁] [(F'.comp G').IsRightDerivedFunctor (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G') (L₂.associator F' G').hom) W₂] : G' ⊣ F' - CategoryTheory.Adjunction.derived_counit 📋 Mathlib.CategoryTheory.Functor.Derived.Adjunction
{C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D₁] [CategoryTheory.Category.{v_4, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) {L₁ : CategoryTheory.Functor C₁ D₁} {L₂ : CategoryTheory.Functor C₂ D₂} (W₁ : CategoryTheory.MorphismProperty C₁) (W₂ : CategoryTheory.MorphismProperty C₂) [L₁.IsLocalization W₁] [L₂.IsLocalization W₂] {G' : CategoryTheory.Functor D₁ D₂} {F' : CategoryTheory.Functor D₂ D₁} (α : L₁.comp G' ⟶ G.comp L₂) (β : F.comp L₁ ⟶ L₂.comp F') [G'.IsLeftDerivedFunctor α W₁] [F'.IsRightDerivedFunctor β W₂] [(G'.comp F').IsLeftDerivedFunctor (CategoryTheory.CategoryStruct.comp (L₁.associator G' F').inv (CategoryTheory.Functor.whiskerRight α F')) W₁] [(F'.comp G').IsRightDerivedFunctor (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G') (L₂.associator F' G').hom) W₂] : (adj.derived W₁ W₂ α β).counit = adj.derivedε W₂ α β - CategoryTheory.Adjunction.derived_unit 📋 Mathlib.CategoryTheory.Functor.Derived.Adjunction
{C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D₁] [CategoryTheory.Category.{v_4, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) {L₁ : CategoryTheory.Functor C₁ D₁} {L₂ : CategoryTheory.Functor C₂ D₂} (W₁ : CategoryTheory.MorphismProperty C₁) (W₂ : CategoryTheory.MorphismProperty C₂) [L₁.IsLocalization W₁] [L₂.IsLocalization W₂] {G' : CategoryTheory.Functor D₁ D₂} {F' : CategoryTheory.Functor D₂ D₁} (α : L₁.comp G' ⟶ G.comp L₂) (β : F.comp L₁ ⟶ L₂.comp F') [G'.IsLeftDerivedFunctor α W₁] [F'.IsRightDerivedFunctor β W₂] [(G'.comp F').IsLeftDerivedFunctor (CategoryTheory.CategoryStruct.comp (L₁.associator G' F').inv (CategoryTheory.Functor.whiskerRight α F')) W₁] [(F'.comp G').IsRightDerivedFunctor (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G') (L₂.associator F' G').hom) W₂] : (adj.derived W₁ W₂ α β).unit = adj.derivedη W₁ α β - CategoryTheory.Adjunction.derivedε_fac_app 📋 Mathlib.CategoryTheory.Functor.Derived.Adjunction
{C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D₁] [CategoryTheory.Category.{v_4, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) {L₁ : CategoryTheory.Functor C₁ D₁} {L₂ : CategoryTheory.Functor C₂ D₂} (W₂ : CategoryTheory.MorphismProperty C₂) [L₂.IsLocalization W₂] {G' : CategoryTheory.Functor D₁ D₂} {F' : CategoryTheory.Functor D₂ D₁} (α : L₁.comp G' ⟶ G.comp L₂) (β : F.comp L₁ ⟶ L₂.comp F') [(F'.comp G').IsRightDerivedFunctor (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G') (L₂.associator F' G').hom) W₂] (X₂ : C₂) : CategoryTheory.CategoryStruct.comp (G'.map (β.app X₂)) ((adj.derivedε W₂ α β).app (L₂.obj X₂)) = CategoryTheory.CategoryStruct.comp (α.app (F.obj X₂)) (L₂.map (adj.counit.app X₂)) - CategoryTheory.Adjunction.derivedη_fac_app 📋 Mathlib.CategoryTheory.Functor.Derived.Adjunction
{C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D₁] [CategoryTheory.Category.{v_4, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) {L₁ : CategoryTheory.Functor C₁ D₁} {L₂ : CategoryTheory.Functor C₂ D₂} (W₁ : CategoryTheory.MorphismProperty C₁) [L₁.IsLocalization W₁] {G' : CategoryTheory.Functor D₁ D₂} {F' : CategoryTheory.Functor D₂ D₁} (α : L₁.comp G' ⟶ G.comp L₂) (β : F.comp L₁ ⟶ L₂.comp F') [(G'.comp F').IsLeftDerivedFunctor (CategoryTheory.CategoryStruct.comp (L₁.associator G' F').inv (CategoryTheory.Functor.whiskerRight α F')) W₁] (X₁ : C₁) : CategoryTheory.CategoryStruct.comp ((adj.derivedη W₁ α β).app (L₁.obj X₁)) (F'.map (α.app X₁)) = CategoryTheory.CategoryStruct.comp (L₁.map (adj.unit.app X₁)) (β.app (G.obj X₁)) - CategoryTheory.Adjunction.derivedε_fac_app_assoc 📋 Mathlib.CategoryTheory.Functor.Derived.Adjunction
{C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D₁] [CategoryTheory.Category.{v_4, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) {L₁ : CategoryTheory.Functor C₁ D₁} {L₂ : CategoryTheory.Functor C₂ D₂} (W₂ : CategoryTheory.MorphismProperty C₂) [L₂.IsLocalization W₂] {G' : CategoryTheory.Functor D₁ D₂} {F' : CategoryTheory.Functor D₂ D₁} (α : L₁.comp G' ⟶ G.comp L₂) (β : F.comp L₁ ⟶ L₂.comp F') [(F'.comp G').IsRightDerivedFunctor (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G') (L₂.associator F' G').hom) W₂] (X₂ : C₂) {Z : D₂} (h : L₂.obj X₂ ⟶ Z) : CategoryTheory.CategoryStruct.comp (G'.map (β.app X₂)) (CategoryTheory.CategoryStruct.comp ((adj.derivedε W₂ α β).app (L₂.obj X₂)) h) = CategoryTheory.CategoryStruct.comp (α.app (F.obj X₂)) (CategoryTheory.CategoryStruct.comp (L₂.map (adj.counit.app X₂)) h) - CategoryTheory.Adjunction.derivedη_fac_app_assoc 📋 Mathlib.CategoryTheory.Functor.Derived.Adjunction
{C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D₁] [CategoryTheory.Category.{v_4, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) {L₁ : CategoryTheory.Functor C₁ D₁} {L₂ : CategoryTheory.Functor C₂ D₂} (W₁ : CategoryTheory.MorphismProperty C₁) [L₁.IsLocalization W₁] {G' : CategoryTheory.Functor D₁ D₂} {F' : CategoryTheory.Functor D₂ D₁} (α : L₁.comp G' ⟶ G.comp L₂) (β : F.comp L₁ ⟶ L₂.comp F') [(G'.comp F').IsLeftDerivedFunctor (CategoryTheory.CategoryStruct.comp (L₁.associator G' F').inv (CategoryTheory.Functor.whiskerRight α F')) W₁] (X₁ : C₁) {Z : D₁} (h : F'.obj (L₂.obj (G.obj X₁)) ⟶ Z) : CategoryTheory.CategoryStruct.comp ((adj.derivedη W₁ α β).app (L₁.obj X₁)) (CategoryTheory.CategoryStruct.comp (F'.map (α.app X₁)) h) = CategoryTheory.CategoryStruct.comp (L₁.map (adj.unit.app X₁)) (CategoryTheory.CategoryStruct.comp (β.app (G.obj X₁)) h) - CategoryTheory.Join.mapWhiskerLeft_associator_hom 📋 Mathlib.CategoryTheory.Join.Pseudofunctor
(A : Type u_1) {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] {E : Type u_5} [CategoryTheory.Category.{v_5, u_5} E] (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) (H : CategoryTheory.Functor D E) : CategoryTheory.Join.mapWhiskerLeft (CategoryTheory.Functor.id A) (F.associator G H).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Join.mapCompRight A (F.comp G) H).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Join.mapCompRight A F G).hom (CategoryTheory.Join.mapPair (CategoryTheory.Functor.id A) H)) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Join.mapPair (CategoryTheory.Functor.id A) F).associator (CategoryTheory.Join.mapPair (CategoryTheory.Functor.id A) G) (CategoryTheory.Join.mapPair (CategoryTheory.Functor.id A) H)).hom (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Join.mapPair (CategoryTheory.Functor.id A) F).whiskerLeft (CategoryTheory.Join.mapCompRight A G H).inv) (CategoryTheory.Join.mapCompRight A F (G.comp H)).inv))) - CategoryTheory.Join.mapWhiskerRight_associator_hom 📋 Mathlib.CategoryTheory.Join.Pseudofunctor
{A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] (E : Type u_5) [CategoryTheory.Category.{v_5, u_5} E] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor B C) (H : CategoryTheory.Functor C D) : CategoryTheory.Join.mapWhiskerRight (F.associator G H).hom (CategoryTheory.Functor.id E) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Join.mapCompLeft E (F.comp G) H).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Join.mapCompLeft E F G).hom (CategoryTheory.Join.mapPair H (CategoryTheory.Functor.id E))) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Join.mapPair F (CategoryTheory.Functor.id E)).associator (CategoryTheory.Join.mapPair G (CategoryTheory.Functor.id E)) (CategoryTheory.Join.mapPair H (CategoryTheory.Functor.id E))).hom (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Join.mapPair F (CategoryTheory.Functor.id E)).whiskerLeft (CategoryTheory.Join.mapCompLeft E G H).inv) (CategoryTheory.Join.mapCompLeft E F (G.comp H)).inv))) - CategoryTheory.Join.mapWhiskerLeft_associator_hom_assoc 📋 Mathlib.CategoryTheory.Join.Pseudofunctor
(A : Type u_1) {B : Type u_2} {C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_1, u_1} A] [CategoryTheory.Category.{v_2, u_2} B] [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] {E : Type u_5} [CategoryTheory.Category.{v_5, u_5} E] (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) (H : CategoryTheory.Functor D E) {Z : CategoryTheory.Functor (CategoryTheory.Join A B) (CategoryTheory.Join A E)} (h : CategoryTheory.Join.mapPair (CategoryTheory.Functor.id A) (F.comp (G.comp H)) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Join.mapWhiskerLeft (CategoryTheory.Functor.id A) (F.associator G H).hom) h = CategoryTheory.CategoryStruct.comp (CategoryTheory.Join.mapCompRight A (F.comp G) H).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Join.mapCompRight A F G).hom (CategoryTheory.Join.mapPair (CategoryTheory.Functor.id A) H)) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Join.mapPair (CategoryTheory.Functor.id A) F).associator (CategoryTheory.Join.mapPair (CategoryTheory.Functor.id A) G) (CategoryTheory.Join.mapPair (CategoryTheory.Functor.id A) H)).hom (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Join.mapPair (CategoryTheory.Functor.id A) F).whiskerLeft (CategoryTheory.Join.mapCompRight A G H).inv) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Join.mapCompRight A F (G.comp H)).inv h)))) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose_obj_map_fst_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor C B) {X : Type u₄} {Y : Type u₅} [CategoryTheory.Category.{v₄, u₄} X] [CategoryTheory.Category.{v₅, u₅} Y] (U : CategoryTheory.Functor X Y) {S S' : CategoryTheory.Limits.CategoricalPullback.CatCommSqOver F G Y} (φ : S ⟶ S') (X✝ : X) : (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj U).map φ).fst.app X✝ = φ.fst.app (U.obj X✝) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose_obj_map_snd_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor C B) {X : Type u₄} {Y : Type u₅} [CategoryTheory.Category.{v₄, u₄} X] [CategoryTheory.Category.{v₅, u₅} Y] (U : CategoryTheory.Functor X Y) {S S' : CategoryTheory.Limits.CategoricalPullback.CatCommSqOver F G Y} (φ : S ⟶ S') (X✝ : X) : (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj U).map φ).snd.app X✝ = φ.snd.app (U.obj X✝) - CategoryTheory.Limits.CategoricalPullback.toCatCommSqOver_map_fst_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor C B) (X : Type u₄) [CategoryTheory.Category.{v₄, u₄} X] {J J' : CategoryTheory.Functor X (CategoryTheory.Limits.CategoricalPullback F G)} (F✝ : J ⟶ J') (X✝ : X) : ((CategoryTheory.Limits.CategoricalPullback.toCatCommSqOver F G X).map F✝).fst.app X✝ = (F✝.app X✝).fst - CategoryTheory.Limits.CategoricalPullback.toCatCommSqOver_map_snd_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor C B) (X : Type u₄) [CategoryTheory.Category.{v₄, u₄} X] {J J' : CategoryTheory.Functor X (CategoryTheory.Limits.CategoricalPullback F G)} (F✝ : J ⟶ J') (X✝ : X) : ((CategoryTheory.Limits.CategoricalPullback.toCatCommSqOver F G X).map F✝).snd.app X✝ = (F✝.app X✝).snd - CategoryTheory.Limits.CategoricalPullback.functorEquiv_functor_map_fst_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor C B) (X : Type u₄) [CategoryTheory.Category.{v₄, u₄} X] {J J' : CategoryTheory.Functor X (CategoryTheory.Limits.CategoricalPullback F G)} (F✝ : J ⟶ J') (X✝ : X) : ((CategoryTheory.Limits.CategoricalPullback.functorEquiv F G X).functor.map F✝).fst.app X✝ = (F✝.app X✝).fst - CategoryTheory.Limits.CategoricalPullback.functorEquiv_functor_map_snd_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor C B) (X : Type u₄) [CategoryTheory.Category.{v₄, u₄} X] {J J' : CategoryTheory.Functor X (CategoryTheory.Limits.CategoricalPullback F G)} (F✝ : J ⟶ J') (X✝ : X) : ((CategoryTheory.Limits.CategoricalPullback.functorEquiv F G X).functor.map F✝).snd.app X✝ = (F✝.app X✝).snd - CategoryTheory.Limits.CategoricalPullback.mkNatIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {X : Type u₄} [CategoryTheory.Category.{v₄, u₄} X] {J K : CategoryTheory.Functor X (CategoryTheory.Limits.CategoricalPullback F G)} (e₁ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G)) (e₂ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G)) (coh : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom F) (CategoryTheory.CategoryStruct.comp (K.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (K.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (K.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv)) = CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (J.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv (CategoryTheory.Functor.whiskerRight e₂.hom G))) := by cat_disch) : J ≅ K - CategoryTheory.Limits.CategoricalPullback.mkNatIso_hom_app_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {X : Type u₄} [CategoryTheory.Category.{v₄, u₄} X] {J K : CategoryTheory.Functor X (CategoryTheory.Limits.CategoricalPullback F G)} (e₁ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G)) (e₂ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G)) (coh : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom F) (CategoryTheory.CategoryStruct.comp (K.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (K.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (K.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv)) = CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (J.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv (CategoryTheory.Functor.whiskerRight e₂.hom G))) := by cat_disch) (X✝ : X) : ((CategoryTheory.Limits.CategoricalPullback.mkNatIso e₁ e₂ coh).hom.app X✝).fst = e₁.hom.app X✝ - CategoryTheory.Limits.CategoricalPullback.mkNatIso_hom_app_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {X : Type u₄} [CategoryTheory.Category.{v₄, u₄} X] {J K : CategoryTheory.Functor X (CategoryTheory.Limits.CategoricalPullback F G)} (e₁ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G)) (e₂ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G)) (coh : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom F) (CategoryTheory.CategoryStruct.comp (K.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (K.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (K.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv)) = CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (J.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv (CategoryTheory.Functor.whiskerRight e₂.hom G))) := by cat_disch) (X✝ : X) : ((CategoryTheory.Limits.CategoricalPullback.mkNatIso e₁ e₂ coh).hom.app X✝).snd = e₂.hom.app X✝ - CategoryTheory.Limits.CategoricalPullback.mkNatIso_inv_app_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {X : Type u₄} [CategoryTheory.Category.{v₄, u₄} X] {J K : CategoryTheory.Functor X (CategoryTheory.Limits.CategoricalPullback F G)} (e₁ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G)) (e₂ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G)) (coh : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom F) (CategoryTheory.CategoryStruct.comp (K.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (K.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (K.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv)) = CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (J.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv (CategoryTheory.Functor.whiskerRight e₂.hom G))) := by cat_disch) (X✝ : X) : ((CategoryTheory.Limits.CategoricalPullback.mkNatIso e₁ e₂ coh).inv.app X✝).fst = e₁.inv.app X✝ - CategoryTheory.Limits.CategoricalPullback.mkNatIso_inv_app_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {X : Type u₄} [CategoryTheory.Category.{v₄, u₄} X] {J K : CategoryTheory.Functor X (CategoryTheory.Limits.CategoricalPullback F G)} (e₁ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G)) (e₂ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G)) (coh : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom F) (CategoryTheory.CategoryStruct.comp (K.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (K.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (K.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv)) = CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (J.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv (CategoryTheory.Functor.whiskerRight e₂.hom G))) := by cat_disch) (X✝ : X) : ((CategoryTheory.Limits.CategoricalPullback.mkNatIso e₁ e₂ coh).inv.app X✝).snd = e₂.inv.app X✝ - CategoryTheory.Limits.CategoricalPullback.toCatCommSqOver_mapIso_mkNatIso_eq_mkIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {X : Type u₄} [CategoryTheory.Category.{v₄, u₄} X] {J K : CategoryTheory.Functor X (CategoryTheory.Limits.CategoricalPullback F G)} (e₁ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G)) (e₂ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G)) (coh : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom F) (CategoryTheory.CategoryStruct.comp (K.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (K.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (K.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv)) = CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (J.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv (CategoryTheory.Functor.whiskerRight e₂.hom G))) := by cat_disch) : (CategoryTheory.Limits.CategoricalPullback.toCatCommSqOver F G X).mapIso (CategoryTheory.Limits.CategoricalPullback.mkNatIso e₁ e₂ coh) = CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.mkIso e₁ e₂ ⋯ - CategoryTheory.Limits.CategoricalPullback.mkNatIso_eq 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {X : Type u₄} [CategoryTheory.Category.{v₄, u₄} X] {J K : CategoryTheory.Functor X (CategoryTheory.Limits.CategoricalPullback F G)} (e₁ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₁ F G)) (e₂ : J.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G) ≅ K.comp (CategoryTheory.Limits.CategoricalPullback.π₂ F G)) (coh : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom F) (CategoryTheory.CategoryStruct.comp (K.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (K.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (K.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv)) = CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₁ F G) F).hom (CategoryTheory.CategoryStruct.comp (J.whiskerLeft (CategoryTheory.CatCommSq.iso (CategoryTheory.Limits.CategoricalPullback.π₁ F G) (CategoryTheory.Limits.CategoricalPullback.π₂ F G) F G).hom) (CategoryTheory.CategoryStruct.comp (J.associator (CategoryTheory.Limits.CategoricalPullback.π₂ F G) G).inv (CategoryTheory.Functor.whiskerRight e₂.hom G))) := by cat_disch) : CategoryTheory.Limits.CategoricalPullback.mkNatIso e₁ e₂ coh = (CategoryTheory.Limits.CategoricalPullback.functorEquiv F G X).fullyFaithfulFunctor.preimageIso (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.mkIso e₁ e₂ ⋯) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform_obj_map_fst_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {A₁ : Type u₄} {B₁ : Type u₅} {C₁ : Type u₆} [CategoryTheory.Category.{v₄, u₄} A₁] [CategoryTheory.Category.{v₅, u₅} B₁] [CategoryTheory.Category.{v₆, u₆} C₁] {F₁ : CategoryTheory.Functor A₁ B₁} {G₁ : CategoryTheory.Functor C₁ B₁} (X : Type u₇) [CategoryTheory.Category.{v₇, u₇} X] (ψ : CategoryTheory.Limits.CatCospanTransform F G F₁ G₁) {x y : CategoryTheory.Limits.CategoricalPullback.CatCommSqOver F G X} (f : x ⟶ y) (X✝ : X) : (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ).map f).fst.app X✝ = ψ.left.map (f.fst.app X✝) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform_obj_map_snd_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {A₁ : Type u₄} {B₁ : Type u₅} {C₁ : Type u₆} [CategoryTheory.Category.{v₄, u₄} A₁] [CategoryTheory.Category.{v₅, u₅} B₁] [CategoryTheory.Category.{v₆, u₆} C₁] {F₁ : CategoryTheory.Functor A₁ B₁} {G₁ : CategoryTheory.Functor C₁ B₁} (X : Type u₇) [CategoryTheory.Category.{v₇, u₇} X] (ψ : CategoryTheory.Limits.CatCospanTransform F G F₁ G₁) {x y : CategoryTheory.Limits.CategoricalPullback.CatCommSqOver F G X} (f : x ⟶ y) (X✝ : X) : (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ).map f).snd.app X✝ = ψ.right.map (f.snd.app X✝) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose_map_app_fst_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor C B) {X : Type u₄} {Y : Type u₅} [CategoryTheory.Category.{v₄, u₄} X] [CategoryTheory.Category.{v₅, u₅} Y] {U V : CategoryTheory.Functor X Y} (α : U ⟶ V) (x : CategoryTheory.Limits.CategoricalPullback.CatCommSqOver F G Y) (X✝ : X) : (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).map α).app x).fst.app X✝ = x.fst.map (α.app X✝) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose_map_app_snd_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor C B) {X : Type u₄} {Y : Type u₅} [CategoryTheory.Category.{v₄, u₄} X] [CategoryTheory.Category.{v₅, u₅} Y] {U V : CategoryTheory.Functor X Y} (α : U ⟶ V) (x : CategoryTheory.Limits.CategoricalPullback.CatCommSqOver F G Y) (X✝ : X) : (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).map α).app x).snd.app X✝ = x.snd.map (α.app X✝) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose_map_associator 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor A B) (G : CategoryTheory.Functor C B) {X : Type u₄} {Y : Type u₅} {Z : Type u₆} [CategoryTheory.Category.{v₄, u₄} X] [CategoryTheory.Category.{v₅, u₅} Y] [CategoryTheory.Category.{v₆, u₆} Z] {T : Type u₇} [CategoryTheory.Category.{v₇, u₇} T] (U : CategoryTheory.Functor X Y) (V : CategoryTheory.Functor Y Z) (W : CategoryTheory.Functor Z T) : (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).map (U.associator V W).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precomposeObjComp F G (U.comp V) W).hom (CategoryTheory.CategoryStruct.comp (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj W).whiskerLeft (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precomposeObjComp F G U V).hom) (CategoryTheory.CategoryStruct.comp (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj W).associator ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj V) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj U)).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precomposeObjComp F G V W).inv ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj U)) (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precomposeObjComp F G U (V.comp W)).inv))) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform_map_associator 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {A₁ : Type u₄} {B₁ : Type u₅} {C₁ : Type u₆} [CategoryTheory.Category.{v₄, u₄} A₁] [CategoryTheory.Category.{v₅, u₅} B₁] [CategoryTheory.Category.{v₆, u₆} C₁] {F₁ : CategoryTheory.Functor A₁ B₁} {G₁ : CategoryTheory.Functor C₁ B₁} {A₂ : Type u₇} {B₂ : Type u₈} {C₂ : Type u₉} [CategoryTheory.Category.{v₇, u₇} A₂] [CategoryTheory.Category.{v₈, u₈} B₂] [CategoryTheory.Category.{v₉, u₉} C₂] {F₂ : CategoryTheory.Functor A₂ B₂} {G₂ : CategoryTheory.Functor C₂ B₂} {A₃ : Type u₁₀} {B₃ : Type u₁₁} {C₃ : Type u₁₂} [CategoryTheory.Category.{v₁₀, u₁₀} A₃] [CategoryTheory.Category.{v₁₁, u₁₁} B₃] [CategoryTheory.Category.{v₁₂, u₁₂} C₃] {F₃ : CategoryTheory.Functor A₃ B₃} {G₃ : CategoryTheory.Functor C₃ B₃} (X : Type u₁₃) [CategoryTheory.Category.{v₁₃, u₁₃} X] (ψ : CategoryTheory.Limits.CatCospanTransform F G F₁ G₁) (φ : CategoryTheory.Limits.CatCospanTransform F₁ G₁ F₂ G₂) (τ : CategoryTheory.Limits.CatCospanTransform F₂ G₂ F₃ G₃) : (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).map (ψ.associator φ τ).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transformObjComp X (ψ.comp φ) τ).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transformObjComp X ψ φ).hom ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj τ)) (CategoryTheory.CategoryStruct.comp (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ).associator ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj φ) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj τ)).hom (CategoryTheory.CategoryStruct.comp (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ).whiskerLeft (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transformObjComp X φ τ).inv) (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transformObjComp X ψ (φ.comp τ)).inv))) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precomposeObjTransformObjSquare_iso_hom_comp 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {A₁ : Type u₄} {B₁ : Type u₅} {C₁ : Type u₆} [CategoryTheory.Category.{v₄, u₄} A₁] [CategoryTheory.Category.{v₅, u₅} B₁] [CategoryTheory.Category.{v₆, u₆} C₁] {F₁ : CategoryTheory.Functor A₁ B₁} {G₁ : CategoryTheory.Functor C₁ B₁} {X : Type u₇} {Y : Type u₈} {Z : Type u₉} [CategoryTheory.Category.{v₇, u₇} X] [CategoryTheory.Category.{v₈, u₈} Y] [CategoryTheory.Category.{v₉, u₉} Z] (ψ : CategoryTheory.Limits.CatCospanTransform F G F₁ G₁) (U : CategoryTheory.Functor X Y) (V : CategoryTheory.Functor Y Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.CatCommSq.iso ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj (U.comp V)) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Z).obj ψ) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₁ G₁).obj (U.comp V))).hom (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Z).obj ψ).whiskerLeft (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precomposeObjComp F₁ G₁ U V).hom) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precomposeObjComp F G U V).hom ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ)) (CategoryTheory.CategoryStruct.comp (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj V).associator ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj U) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ)).hom (CategoryTheory.CategoryStruct.comp (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj V).whiskerLeft (CategoryTheory.CatCommSq.iso ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj U) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Y).obj ψ) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₁ G₁).obj U)).hom) (CategoryTheory.CategoryStruct.comp (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj V).associator ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Y).obj ψ) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₁ G₁).obj U)).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.CatCommSq.iso ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj V) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Z).obj ψ) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Y).obj ψ) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₁ G₁).obj V)).hom ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₁ G₁).obj U)) (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Z).obj ψ).associator ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₁ G₁).obj V) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₁ G₁).obj U)).hom)))) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transformPrecomposeObjSquare_iso_hom_comp 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {A₁ : Type u₄} {B₁ : Type u₅} {C₁ : Type u₆} [CategoryTheory.Category.{v₄, u₄} A₁] [CategoryTheory.Category.{v₅, u₅} B₁] [CategoryTheory.Category.{v₆, u₆} C₁] {F₁ : CategoryTheory.Functor A₁ B₁} {G₁ : CategoryTheory.Functor C₁ B₁} {A₂ : Type u₇} {B₂ : Type u₈} {C₂ : Type u₉} [CategoryTheory.Category.{v₇, u₇} A₂] [CategoryTheory.Category.{v₈, u₈} B₂] [CategoryTheory.Category.{v₉, u₉} C₂] {F₂ : CategoryTheory.Functor A₂ B₂} {G₂ : CategoryTheory.Functor C₂ B₂} {X : Type u₁₀} {Y : Type u₁₁} [CategoryTheory.Category.{v₁₀, u₁₀} X] [CategoryTheory.Category.{v₁₁, u₁₁} Y] (U : CategoryTheory.Functor X Y) (ψ : CategoryTheory.Limits.CatCospanTransform F G F₁ G₁) (ψ' : CategoryTheory.Limits.CatCospanTransform F₁ G₁ F₂ G₂) : CategoryTheory.CategoryStruct.comp (CategoryTheory.CatCommSq.iso ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Y).obj (ψ.comp ψ')) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj U) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₂ G₂).obj U) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj (ψ.comp ψ'))).hom (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj U).whiskerLeft (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transformObjComp X ψ ψ').hom) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transformObjComp Y ψ ψ').hom ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₂ G₂).obj U)) (CategoryTheory.CategoryStruct.comp (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Y).obj ψ).associator ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Y).obj ψ') ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₂ G₂).obj U)).hom (CategoryTheory.CategoryStruct.comp (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Y).obj ψ).whiskerLeft (CategoryTheory.CatCommSq.iso ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Y).obj ψ') ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₁ G₁).obj U) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₂ G₂).obj U) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ')).hom) (CategoryTheory.CategoryStruct.comp (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Y).obj ψ).associator ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₁ G₁).obj U) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ')).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.CatCommSq.iso ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform Y).obj ψ) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj U) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F₁ G₁).obj U) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ)).hom ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ')) (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.precompose F G).obj U).associator ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ) ((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).obj ψ')).hom)))) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform_map_app_fst_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {A₁ : Type u₄} {B₁ : Type u₅} {C₁ : Type u₆} [CategoryTheory.Category.{v₄, u₄} A₁] [CategoryTheory.Category.{v₅, u₅} B₁] [CategoryTheory.Category.{v₆, u₆} C₁] {F₁ : CategoryTheory.Functor A₁ B₁} {G₁ : CategoryTheory.Functor C₁ B₁} (X : Type u₇) [CategoryTheory.Category.{v₇, u₇} X] {ψ ψ' : CategoryTheory.Limits.CatCospanTransform F G F₁ G₁} (η : ψ ⟶ ψ') (S : CategoryTheory.Limits.CategoricalPullback.CatCommSqOver F G X) (y : X) : (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).map η).app S).fst.app y = η.left.app (S.fst.obj y) - CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform_map_app_snd_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Categorical.Basic
{A : Type u₁} {B : Type u₂} {C : Type u₃} [CategoryTheory.Category.{v₁, u₁} A] [CategoryTheory.Category.{v₂, u₂} B] [CategoryTheory.Category.{v₃, u₃} C] {F : CategoryTheory.Functor A B} {G : CategoryTheory.Functor C B} {A₁ : Type u₄} {B₁ : Type u₅} {C₁ : Type u₆} [CategoryTheory.Category.{v₄, u₄} A₁] [CategoryTheory.Category.{v₅, u₅} B₁] [CategoryTheory.Category.{v₆, u₆} C₁] {F₁ : CategoryTheory.Functor A₁ B₁} {G₁ : CategoryTheory.Functor C₁ B₁} (X : Type u₇) [CategoryTheory.Category.{v₇, u₇} X] {ψ ψ' : CategoryTheory.Limits.CatCospanTransform F G F₁ G₁} (η : ψ ⟶ ψ') (S : CategoryTheory.Limits.CategoricalPullback.CatCommSqOver F G X) (y : X) : (((CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.transform X).map η).app S).snd.app y = η.right.app (S.snd.obj y) - CategoryTheory.MorphismProperty.hasLocalizationOfLocallySmall'_def 📋 Mathlib.CategoryTheory.Localization.LocallySmall
{C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] (W : CategoryTheory.MorphismProperty C) {D : Type u_3} [CategoryTheory.Category.{u_4, u_3} D] [CategoryTheory.LocallySmall.{u_5, u_4, u_3} D] (L : CategoryTheory.Functor C D) [L.IsLocalization W] : W.hasLocalizationOfLocallySmall' L = have this := ⋯; let L' := { obj := fun X => X, map := fun {X Y} f => CategoryTheory.InducedCategory.homMk (L.map f), map_id := ⋯, map_comp := ⋯ }; have this_1 := ⋯; have this_2 := ⋯; have this_3 := ⋯; have e := (CategoryTheory.inducedFunctor L.obj).asEquivalence; have e' := L'.associator e.functor e.inverse ≪≫ L'.isoWhiskerLeft e.unitIso.symm ≪≫ L'.rightUnitor; have this_4 := ⋯; W.hasLocalizationOfLocallySmall L' - CategoryTheory.Sum.Swap.equivalenceFunctorEquivFunctorIso_hom_app_fst 📋 Mathlib.CategoryTheory.Sums.Products
{A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {A' : Type u_2} [CategoryTheory.Category.{v_2, u_2} A'] {B : Type u} [CategoryTheory.Category.{v, u} B] (X : CategoryTheory.Functor (A ⊕ A') B) : (CategoryTheory.Sum.Swap.equivalenceFunctorEquivFunctorIso.hom.app X).1 = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Sum.inl_ A' A).associator (CategoryTheory.Sum.swap A' A) X).inv (CategoryTheory.Functor.whiskerRight (CategoryTheory.Sum.swapCompInl A' A).hom X) - CategoryTheory.Sum.Swap.equivalenceFunctorEquivFunctorIso_hom_app_snd 📋 Mathlib.CategoryTheory.Sums.Products
{A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {A' : Type u_2} [CategoryTheory.Category.{v_2, u_2} A'] {B : Type u} [CategoryTheory.Category.{v, u} B] (X : CategoryTheory.Functor (A ⊕ A') B) : (CategoryTheory.Sum.Swap.equivalenceFunctorEquivFunctorIso.hom.app X).2 = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Sum.inr_ A' A).associator (CategoryTheory.Sum.swap A' A) X).inv (CategoryTheory.Functor.whiskerRight (CategoryTheory.Sum.swapCompInr A' A).hom X) - CategoryTheory.Sum.Swap.equivalenceFunctorEquivFunctorIso_inv_app_fst 📋 Mathlib.CategoryTheory.Sums.Products
{A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {A' : Type u_2} [CategoryTheory.Category.{v_2, u_2} A'] {B : Type u} [CategoryTheory.Category.{v, u} B] (X : CategoryTheory.Functor (A ⊕ A') B) : (CategoryTheory.Sum.Swap.equivalenceFunctorEquivFunctorIso.inv.app X).1 = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Sum.swapCompInl A' A).inv X) ((CategoryTheory.Sum.inl_ A' A).associator (CategoryTheory.Sum.swap A' A) X).hom - CategoryTheory.Sum.Swap.equivalenceFunctorEquivFunctorIso_inv_app_snd 📋 Mathlib.CategoryTheory.Sums.Products
{A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {A' : Type u_2} [CategoryTheory.Category.{v_2, u_2} A'] {B : Type u} [CategoryTheory.Category.{v, u} B] (X : CategoryTheory.Functor (A ⊕ A') B) : (CategoryTheory.Sum.Swap.equivalenceFunctorEquivFunctorIso.inv.app X).2 = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Sum.swapCompInr A' A).inv X) ((CategoryTheory.Sum.inr_ A' A).associator (CategoryTheory.Sum.swap A' A) X).hom - CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso_hom_app_fst 📋 Mathlib.CategoryTheory.Sums.Products
{A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {A' : Type u_2} [CategoryTheory.Category.{v_2, u_2} A'] {B : Type u} [CategoryTheory.Category.{v, u} B] (T : Type u_3) [CategoryTheory.Category.{v_3, u_3} T] (X : CategoryTheory.Functor ((A ⊕ A') ⊕ T) B) : ((CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso T).hom.app X).1 = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Sum.inl_ A (A' ⊕ T)).associator (CategoryTheory.sum.inverseAssociator A A' T) X).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.sum.inlCompInverseAssociator A A' T).hom X) ((CategoryTheory.Sum.inl_ A A').associator (CategoryTheory.Sum.inl_ (A ⊕ A') T) X).hom) - CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso_inv_app_fst 📋 Mathlib.CategoryTheory.Sums.Products
{A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {A' : Type u_2} [CategoryTheory.Category.{v_2, u_2} A'] {B : Type u} [CategoryTheory.Category.{v, u} B] (T : Type u_3) [CategoryTheory.Category.{v_3, u_3} T] (X : CategoryTheory.Functor ((A ⊕ A') ⊕ T) B) : ((CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso T).inv.app X).1 = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Sum.inl_ A A').associator (CategoryTheory.Sum.inl_ (A ⊕ A') T) X).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.sum.inlCompInverseAssociator A A' T).inv X) ((CategoryTheory.Sum.inl_ A (A' ⊕ T)).associator (CategoryTheory.sum.inverseAssociator A A' T) X).hom) - CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso_hom_app_snd_snd 📋 Mathlib.CategoryTheory.Sums.Products
{A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {A' : Type u_2} [CategoryTheory.Category.{v_2, u_2} A'] {B : Type u} [CategoryTheory.Category.{v, u} B] (T : Type u_3) [CategoryTheory.Category.{v_3, u_3} T] (X : CategoryTheory.Functor ((A ⊕ A') ⊕ T) B) : ((CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso T).hom.app X).2.2 = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Sum.inr_ A' T).whiskerLeft ((CategoryTheory.Sum.inr_ A (A' ⊕ T)).associator (CategoryTheory.sum.inverseAssociator A A' T) X).inv) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Sum.inr_ A' T).associator ((CategoryTheory.Sum.inr_ A (A' ⊕ T)).comp (CategoryTheory.sum.inverseAssociator A A' T)) X).inv (CategoryTheory.Functor.whiskerRight (CategoryTheory.sum.inrCompInrCompInverseAssociator A A' T).hom X)) - CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso_inv_app_snd_snd 📋 Mathlib.CategoryTheory.Sums.Products
{A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {A' : Type u_2} [CategoryTheory.Category.{v_2, u_2} A'] {B : Type u} [CategoryTheory.Category.{v, u} B] (T : Type u_3) [CategoryTheory.Category.{v_3, u_3} T] (X : CategoryTheory.Functor ((A ⊕ A') ⊕ T) B) : ((CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso T).inv.app X).2.2 = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.sum.inrCompInrCompInverseAssociator A A' T).inv X) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Sum.inr_ A' T).associator ((CategoryTheory.Sum.inr_ A (A' ⊕ T)).comp (CategoryTheory.sum.inverseAssociator A A' T)) X).hom ((CategoryTheory.Sum.inr_ A' T).whiskerLeft ((CategoryTheory.Sum.inr_ A (A' ⊕ T)).associator (CategoryTheory.sum.inverseAssociator A A' T) X).hom)) - CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso_hom_app_snd_fst 📋 Mathlib.CategoryTheory.Sums.Products
{A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {A' : Type u_2} [CategoryTheory.Category.{v_2, u_2} A'] {B : Type u} [CategoryTheory.Category.{v, u} B] (T : Type u_3) [CategoryTheory.Category.{v_3, u_3} T] (X : CategoryTheory.Functor ((A ⊕ A') ⊕ T) B) : ((CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso T).hom.app X).2.1 = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Sum.inl_ A' T).whiskerLeft ((CategoryTheory.Sum.inr_ A (A' ⊕ T)).associator (CategoryTheory.sum.inverseAssociator A A' T) X).inv) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Sum.inl_ A' T).associator ((CategoryTheory.Sum.inr_ A (A' ⊕ T)).comp (CategoryTheory.sum.inverseAssociator A A' T)) X).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.sum.inlCompInrCompInverseAssociator A A' T).hom X) ((CategoryTheory.Sum.inr_ A A').associator (CategoryTheory.Sum.inl_ (A ⊕ A') T) X).hom)) - CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso_inv_app_snd_fst 📋 Mathlib.CategoryTheory.Sums.Products
{A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {A' : Type u_2} [CategoryTheory.Category.{v_2, u_2} A'] {B : Type u} [CategoryTheory.Category.{v, u} B] (T : Type u_3) [CategoryTheory.Category.{v_3, u_3} T] (X : CategoryTheory.Functor ((A ⊕ A') ⊕ T) B) : ((CategoryTheory.Sum.associativityFunctorEquivNaturalityFunctorIso T).inv.app X).2.1 = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Sum.inr_ A A').associator (CategoryTheory.Sum.inl_ (A ⊕ A') T) X).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.sum.inlCompInrCompInverseAssociator A A' T).inv X) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Sum.inl_ A' T).associator ((CategoryTheory.Sum.inr_ A (A' ⊕ T)).comp (CategoryTheory.sum.inverseAssociator A A' T)) X).hom ((CategoryTheory.Sum.inl_ A' T).whiskerLeft ((CategoryTheory.Sum.inr_ A (A' ⊕ T)).associator (CategoryTheory.sum.inverseAssociator A A' T) X).hom)))
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