Loogle!
Result
Found 92 declarations mentioning CategoryTheory.Functor.isoWhiskerLeft.
- CategoryTheory.Functor.isoWhiskerLeft 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (α : G ≅ H) : F.comp G ≅ F.comp H - CategoryTheory.Functor.isoWhiskerLeft_refl 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) (G : CategoryTheory.Functor D E) : F.isoWhiskerLeft (CategoryTheory.Iso.refl G) = CategoryTheory.Iso.refl (F.comp G) - CategoryTheory.Functor.isoWhiskerLeft_symm 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (α : G ≅ H) : (F.isoWhiskerLeft α).symm = F.isoWhiskerLeft α.symm - CategoryTheory.Functor.isoWhiskerLeft_hom 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (α : G ≅ H) : (F.isoWhiskerLeft α).hom = F.whiskerLeft α.hom - CategoryTheory.Functor.isoWhiskerLeft_inv 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (α : G ≅ H) : (F.isoWhiskerLeft α).inv = F.whiskerLeft α.inv - CategoryTheory.Functor.isoWhiskerLeft_trans 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H K : CategoryTheory.Functor D E} (α : G ≅ H) (β : H ≅ K) : F.isoWhiskerLeft (α ≪≫ β) = F.isoWhiskerLeft α ≪≫ F.isoWhiskerLeft β - 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.isoWhiskerLeft_trans_isoWhiskerRight 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : CategoryTheory.Functor C D} {H K : CategoryTheory.Functor D E} (α : F ≅ G) (β : H ≅ K) : F.isoWhiskerLeft β ≪≫ CategoryTheory.Functor.isoWhiskerRight α K = CategoryTheory.Functor.isoWhiskerRight α H ≪≫ G.isoWhiskerLeft β - CategoryTheory.Functor.isoWhiskerLeft_trans_assoc 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G H K : CategoryTheory.Functor D E} (α : G ≅ H) (β : H ≅ K) {Z : CategoryTheory.Functor C E} (h : F.comp K ≅ Z) : F.isoWhiskerLeft (α ≪≫ β) ≪≫ h = F.isoWhiskerLeft α ≪≫ F.isoWhiskerLeft β ≪≫ h - CategoryTheory.Functor.isoWhiskerLeft_trans_isoWhiskerRight_assoc 📋 Mathlib.CategoryTheory.Whiskering
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {F G : CategoryTheory.Functor C D} {H K : CategoryTheory.Functor D E} (α : F ≅ G) (β : H ≅ K) {Z : CategoryTheory.Functor C E} (h : G.comp K ≅ Z) : F.isoWhiskerLeft β ≪≫ CategoryTheory.Functor.isoWhiskerRight α K ≪≫ h = CategoryTheory.Functor.isoWhiskerRight α H ≪≫ G.isoWhiskerLeft β ≪≫ h - 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.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.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.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.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.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.NatIso.op_isoWhiskerLeft 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor C D} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] {H : CategoryTheory.Functor E C} (α : F ≅ G) : CategoryTheory.NatIso.op (H.isoWhiskerLeft α) = H.opComp G ≪≫ H.op.isoWhiskerLeft (CategoryTheory.NatIso.op α) ≪≫ (H.opComp F).symm - CategoryTheory.NatIso.unop_rightUnitor 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor Cᵒᵖ Dᵒᵖ} : CategoryTheory.NatIso.unop F.rightUnitor = F.unop.rightUnitor.symm ≪≫ F.unop.isoWhiskerLeft (CategoryTheory.Functor.unopId D).symm ≪≫ (F.unopComp (CategoryTheory.Functor.id Dᵒᵖ)).symm - CategoryTheory.NatIso.unop_whiskerLeft 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G : CategoryTheory.Functor Cᵒᵖ Dᵒᵖ} {E : Type u_1} [CategoryTheory.Category.{v_1, u_1} E] {H : CategoryTheory.Functor Eᵒᵖ Cᵒᵖ} (α : F ≅ G) : CategoryTheory.NatIso.unop (H.isoWhiskerLeft α) = H.unopComp G ≪≫ H.unop.isoWhiskerLeft (CategoryTheory.NatIso.unop α) ≪≫ (H.unopComp F).symm - CategoryTheory.NatIso.op_rightUnitor 📋 Mathlib.CategoryTheory.Opposites
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} : CategoryTheory.NatIso.op F.rightUnitor = F.op.rightUnitor.symm ≪≫ F.op.isoWhiskerLeft (CategoryTheory.Functor.opId D).symm ≪≫ (F.opComp (CategoryTheory.Functor.id D)).symm - 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_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.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.Limits.IsColimit.coconePointsIsoOfEquivalence_inv 📋 Mathlib.CategoryTheory.Limits.IsLimit
{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} {s : CategoryTheory.Limits.Cocone F} {G : CategoryTheory.Functor K C} {t : CategoryTheory.Limits.Cocone G} (P : CategoryTheory.Limits.IsColimit s) (Q : CategoryTheory.Limits.IsColimit t) (e : J ≌ K) (w : e.functor.comp G ≅ F) : (P.coconePointsIsoOfEquivalence Q e w).inv = Q.desc ((CategoryTheory.Limits.Cocone.equivalenceOfReindexing e.symm ((e.inverse.isoWhiskerLeft w).symm ≪≫ e.invFunIdAssoc G)).functor.obj s) - CategoryTheory.Limits.IsLimit.conePointsIsoOfEquivalence_hom 📋 Mathlib.CategoryTheory.Limits.IsLimit
{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} {s : CategoryTheory.Limits.Cone F} {G : CategoryTheory.Functor K C} {t : CategoryTheory.Limits.Cone G} (P : CategoryTheory.Limits.IsLimit s) (Q : CategoryTheory.Limits.IsLimit t) (e : J ≌ K) (w : e.functor.comp G ≅ F) : (P.conePointsIsoOfEquivalence Q e w).hom = Q.lift ((CategoryTheory.Limits.Cone.equivalenceOfReindexing e.symm ((e.inverse.isoWhiskerLeft w).symm ≪≫ e.invFunIdAssoc G)).functor.obj s) - CategoryTheory.Equivalence.congrFullSubcategory_counitIso 📋 Mathlib.CategoryTheory.ObjectProperty.Equivalence
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {P : CategoryTheory.ObjectProperty C} {Q : CategoryTheory.ObjectProperty D} (e : C ≌ D) [Q.IsClosedUnderIsomorphisms] (h : Q.inverseImage e.functor = P) : (e.congrFullSubcategory h).counitIso = (Q.fullyFaithfulι.whiskeringRight Q.FullSubcategory).preimageIso (Q.ι.isoWhiskerLeft e.counitIso) - CategoryTheory.Equivalence.congrFullSubcategory_unitIso 📋 Mathlib.CategoryTheory.ObjectProperty.Equivalence
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {P : CategoryTheory.ObjectProperty C} {Q : CategoryTheory.ObjectProperty D} (e : C ≌ D) [Q.IsClosedUnderIsomorphisms] (h : Q.inverseImage e.functor = P) : (e.congrFullSubcategory h).unitIso = (P.fullyFaithfulι.whiskeringRight P.FullSubcategory).preimageIso (P.ι.isoWhiskerLeft e.unitIso) - CategoryTheory.shiftFunctorAdd'_add_zero 📋 Mathlib.CategoryTheory.Shift.Basic
(C : Type u) {A : Type u_1} [CategoryTheory.Category.{v, u} C] [AddMonoid A] [CategoryTheory.HasShift C A] (a : A) : CategoryTheory.shiftFunctorAdd' C a 0 a ⋯ = (CategoryTheory.shiftFunctor C a).rightUnitor.symm ≪≫ (CategoryTheory.shiftFunctor C a).isoWhiskerLeft (CategoryTheory.shiftFunctorZero C A).symm - 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.Functor.ShiftSequence.leftComp_isoZero 📋 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] : CategoryTheory.Functor.ShiftSequence.isoZero = π.isoWhiskerLeft (H.isoShiftZero M) ≪≫ e - 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.Localization.Lifting.ofIsos_iso 📋 Mathlib.CategoryTheory.Localization.Predicate
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (L : CategoryTheory.Functor C D) (W : CategoryTheory.MorphismProperty C) {E : Type u_3} [CategoryTheory.Category.{v_3, u_3} E] {F₁ F₂ : CategoryTheory.Functor C E} {F₁' F₂' : CategoryTheory.Functor D E} (e : F₁ ≅ F₂) (e' : F₁' ≅ F₂') [CategoryTheory.Localization.Lifting L W F₁ F₁'] : CategoryTheory.Localization.Lifting.iso L W F₂ F₂' = L.isoWhiskerLeft e'.symm ≪≫ CategoryTheory.Localization.Lifting.iso L W F₁ F₁' ≪≫ e - CategoryTheory.SingleFunctors.shiftIso_zero 📋 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) (a : A) : self.shiftIso 0 a a ⋯ = (self.functor a).isoWhiskerLeft (CategoryTheory.shiftFunctorZero 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] (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' - CategoryTheory.Functor.commShiftPullback_iso_eq 📋 Mathlib.CategoryTheory.Shift.Pullback
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A : Type u_2} {B : Type u_3} [AddMonoid A] [AddMonoid B] [CategoryTheory.HasShift C B] (φ : A →+ B) {D : Type u_4} [CategoryTheory.Category.{v_2, u_4} D] [CategoryTheory.HasShift D B] (F : CategoryTheory.Functor C D) [F.CommShift B] (a : A) (b : B) (h : b = φ a) : CategoryTheory.Functor.commShiftIso (CategoryTheory.PullbackShift.functor φ F) a = CategoryTheory.Functor.isoWhiskerRight (CategoryTheory.pullbackShiftIso C φ a b h) F ≪≫ CategoryTheory.Functor.commShiftIso F b ≪≫ F.isoWhiskerLeft (CategoryTheory.pullbackShiftIso D φ a b h).symm - PresheafOfModules.pushforward_comp_id 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {R : CategoryTheory.Functor Dᵒᵖ RingCat} {S : CategoryTheory.Functor Cᵒᵖ RingCat} (φ : S ⟶ F.op.comp R) : PresheafOfModules.pushforwardComp (CategoryTheory.CategoryStruct.id S) φ = (PresheafOfModules.pushforward φ).isoWhiskerLeft (PresheafOfModules.pushforwardId S) ≪≫ (PresheafOfModules.pushforward φ).rightUnitor - PresheafOfModules.pushforward_assoc 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Pushforward
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {E' : Type u₄} [CategoryTheory.Category.{v₄, u₄} E'] {F : CategoryTheory.Functor C D} {R : CategoryTheory.Functor Dᵒᵖ RingCat} {S : CategoryTheory.Functor Cᵒᵖ RingCat} (φ : S ⟶ F.op.comp R) {T : CategoryTheory.Functor Eᵒᵖ RingCat} {G : CategoryTheory.Functor D E} (ψ : R ⟶ G.op.comp T) {T' : CategoryTheory.Functor E'ᵒᵖ RingCat} {G' : CategoryTheory.Functor E E'} (ψ' : T ⟶ G'.op.comp T') : (PresheafOfModules.pushforward ψ').isoWhiskerLeft (PresheafOfModules.pushforwardComp φ ψ) ≪≫ PresheafOfModules.pushforwardComp (CategoryTheory.CategoryStruct.comp φ (F.op.whiskerLeft ψ)) ψ' = ((PresheafOfModules.pushforward ψ').associator (PresheafOfModules.pushforward ψ) (PresheafOfModules.pushforward φ)).symm ≪≫ CategoryTheory.Functor.isoWhiskerRight (PresheafOfModules.pushforwardComp ψ ψ') (PresheafOfModules.pushforward φ) ≪≫ PresheafOfModules.pushforwardComp φ (CategoryTheory.CategoryStruct.comp ψ (G.op.whiskerLeft ψ')) - CategoryTheory.Adjunction.leftAdjointCompIso_comp_id 📋 Mathlib.CategoryTheory.Adjunction.CompositionIso
{C₀ : Type u_1} {C₁ : Type u_2} [CategoryTheory.Category.{v_1, u_1} C₀] [CategoryTheory.Category.{v_2, u_2} C₁] {F₀₁ : CategoryTheory.Functor C₀ C₁} {F₁₁' : CategoryTheory.Functor C₁ C₁} {G₁₀ : CategoryTheory.Functor C₁ C₀} {G₁'₁ : CategoryTheory.Functor C₁ C₁} (adj₀₁ : F₀₁ ⊣ G₁₀) (adj₁₁' : F₁₁' ⊣ G₁'₁) (e₀₁₁' : G₁'₁.comp G₁₀ ≅ G₁₀) (e₁'₁ : G₁'₁ ≅ CategoryTheory.Functor.id C₁) (h : e₀₁₁' = CategoryTheory.Functor.isoWhiskerRight e₁'₁ G₁₀ ≪≫ G₁₀.leftUnitor) : adj₀₁.leftAdjointCompIso adj₁₁' adj₀₁ e₀₁₁' = F₀₁.isoWhiskerLeft (adj₁₁'.leftAdjointIdIso e₁'₁) ≪≫ F₀₁.rightUnitor - CategoryTheory.Adjunction.leftAdjointCompIso_id_comp 📋 Mathlib.CategoryTheory.Adjunction.CompositionIso
{C₀ : Type u_1} {C₁ : Type u_2} [CategoryTheory.Category.{v_1, u_1} C₀] [CategoryTheory.Category.{v_2, u_2} C₁] {F₀₀' : CategoryTheory.Functor C₀ C₀} {F₀'₁ : CategoryTheory.Functor C₀ C₁} {G₀'₀ : CategoryTheory.Functor C₀ C₀} {G₁₀' : CategoryTheory.Functor C₁ C₀} (adj₀₀' : F₀₀' ⊣ G₀'₀) (adj₀'₁ : F₀'₁ ⊣ G₁₀') (e₀₀'₁ : G₁₀'.comp G₀'₀ ≅ G₁₀') (e₀'₀ : G₀'₀ ≅ CategoryTheory.Functor.id C₀) (h : e₀₀'₁ = G₁₀'.isoWhiskerLeft e₀'₀ ≪≫ G₁₀'.rightUnitor) : adj₀₀'.leftAdjointCompIso adj₀'₁ adj₀'₁ e₀₀'₁ = CategoryTheory.Functor.isoWhiskerRight (adj₀₀'.leftAdjointIdIso e₀'₀) F₀'₁ ≪≫ F₀'₁.leftUnitor - 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₀₂₃ - PresheafOfModules.pullback_comp_id 📋 Mathlib.Algebra.Category.ModuleCat.Presheaf.Pullback
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {R : CategoryTheory.Functor Dᵒᵖ RingCat} {S : CategoryTheory.Functor Cᵒᵖ RingCat} (φ : S ⟶ F.op.comp R) [(PresheafOfModules.pushforward φ).IsRightAdjoint] : PresheafOfModules.pullbackComp φ (CategoryTheory.CategoryStruct.id R) = (PresheafOfModules.pullback φ).isoWhiskerLeft (PresheafOfModules.pullbackId R) ≪≫ (PresheafOfModules.pullback φ).rightUnitor - 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 ψ)) ψ' - SheafOfModules.pushforward_comp_id 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PushforwardContinuous
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {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.pushforwardComp (CategoryTheory.CategoryStruct.id S) φ = (SheafOfModules.pushforward φ).isoWhiskerLeft (SheafOfModules.pushforwardId S) ≪≫ (SheafOfModules.pushforward φ).rightUnitor - 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_comp_id 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.PullbackContinuous
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {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] : SheafOfModules.pullbackComp φ (CategoryTheory.CategoryStruct.id R) = (SheafOfModules.pullback φ).isoWhiskerLeft (SheafOfModules.pullbackId R) ≪≫ (SheafOfModules.pullback φ).rightUnitor - 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.Iso.coreRightUnitor 📋 Mathlib.CategoryTheory.Core
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} : F.rightUnitor.core = F.coreComp (CategoryTheory.Functor.id D) ≪≫ F.core.isoWhiskerLeft (CategoryTheory.Functor.coreId D) ≪≫ F.core.rightUnitor - CategoryTheory.Iso.coreWhiskerLeft 📋 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] (F : CategoryTheory.Functor C D) {G H : CategoryTheory.Functor D E} (η : G ≅ H) : (F.isoWhiskerLeft η).core = F.coreComp G ≪≫ F.core.isoWhiskerLeft η.core ≪≫ (F.coreComp H).symm - 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.Join.mkNatIso 📋 Mathlib.CategoryTheory.Join.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 G : CategoryTheory.Functor (CategoryTheory.Join C D) E} (eₗ : (CategoryTheory.Join.inclLeft C D).comp F ≅ (CategoryTheory.Join.inclLeft C D).comp G) (eᵣ : (CategoryTheory.Join.inclRight C D).comp F ≅ (CategoryTheory.Join.inclRight C D).comp G) (h : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Join.edgeTransform C D) F) ((CategoryTheory.Prod.snd C D).isoWhiskerLeft eᵣ).hom = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Prod.fst C D).isoWhiskerLeft eₗ).hom (CategoryTheory.Functor.whiskerRight (CategoryTheory.Join.edgeTransform C D) G) := by cat_disch) : F ≅ G - CategoryTheory.Join.mkNatIso_hom 📋 Mathlib.CategoryTheory.Join.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 G : CategoryTheory.Functor (CategoryTheory.Join C D) E} (eₗ : (CategoryTheory.Join.inclLeft C D).comp F ≅ (CategoryTheory.Join.inclLeft C D).comp G) (eᵣ : (CategoryTheory.Join.inclRight C D).comp F ≅ (CategoryTheory.Join.inclRight C D).comp G) (h : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Join.edgeTransform C D) F) ((CategoryTheory.Prod.snd C D).isoWhiskerLeft eᵣ).hom = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Prod.fst C D).isoWhiskerLeft eₗ).hom (CategoryTheory.Functor.whiskerRight (CategoryTheory.Join.edgeTransform C D) G) := by cat_disch) : (CategoryTheory.Join.mkNatIso eₗ eᵣ h).hom = CategoryTheory.Join.mkNatTrans eₗ.hom eᵣ.hom h - CategoryTheory.Join.mkNatIso_inv 📋 Mathlib.CategoryTheory.Join.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 G : CategoryTheory.Functor (CategoryTheory.Join C D) E} (eₗ : (CategoryTheory.Join.inclLeft C D).comp F ≅ (CategoryTheory.Join.inclLeft C D).comp G) (eᵣ : (CategoryTheory.Join.inclRight C D).comp F ≅ (CategoryTheory.Join.inclRight C D).comp G) (h : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight (CategoryTheory.Join.edgeTransform C D) F) ((CategoryTheory.Prod.snd C D).isoWhiskerLeft eᵣ).hom = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Prod.fst C D).isoWhiskerLeft eₗ).hom (CategoryTheory.Functor.whiskerRight (CategoryTheory.Join.edgeTransform C D) G) := by cat_disch) : (CategoryTheory.Join.mkNatIso eₗ eᵣ h).inv = CategoryTheory.Join.mkNatTrans eₗ.inv eᵣ.inv ⋯ - CategoryTheory.Join.InclLeftCompRightOpOpEquivFunctor_hom_app 📋 Mathlib.CategoryTheory.Join.Opposites
(C : Type u₁) (D : Type u₂) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] (X : C) : (CategoryTheory.Join.InclLeftCompRightOpOpEquivFunctor C D).hom.app X = CategoryTheory.CategoryStruct.comp (((CategoryTheory.Join.inclLeft C D).isoWhiskerLeft (CategoryTheory.Join.mkFunctor (CategoryTheory.Join.inclRight Dᵒᵖ Cᵒᵖ).rightOp (CategoryTheory.Join.inclLeft Dᵒᵖ Cᵒᵖ).rightOp { app := fun x => (CategoryTheory.Join.edge (Opposite.op x.2) (Opposite.op x.1)).op, naturality := ⋯ }).leftOpRightOpIso).hom.app X) (CategoryTheory.CategoryStruct.id (Opposite.op (CategoryTheory.Join.right (Opposite.op X)))) - CategoryTheory.Join.InclLeftCompRightOpOpEquivFunctor_inv_app 📋 Mathlib.CategoryTheory.Join.Opposites
(C : Type u₁) (D : Type u₂) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] (X : C) : (CategoryTheory.Join.InclLeftCompRightOpOpEquivFunctor C D).inv.app X = CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.id (Opposite.op (CategoryTheory.Join.right (Opposite.op X)))) (((CategoryTheory.Join.inclLeft C D).isoWhiskerLeft (CategoryTheory.Join.mkFunctor (CategoryTheory.Join.inclRight Dᵒᵖ Cᵒᵖ).rightOp (CategoryTheory.Join.inclLeft Dᵒᵖ Cᵒᵖ).rightOp { app := fun x => (CategoryTheory.Join.edge (Opposite.op x.2) (Opposite.op x.1)).op, naturality := ⋯ }).leftOpRightOpIso).inv.app X) - CategoryTheory.Join.InclRightCompRightOpOpEquivFunctor_hom_app 📋 Mathlib.CategoryTheory.Join.Opposites
(C : Type u₁) (D : Type u₂) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] (X : D) : (CategoryTheory.Join.InclRightCompRightOpOpEquivFunctor C D).hom.app X = CategoryTheory.CategoryStruct.comp (((CategoryTheory.Join.inclRight C D).isoWhiskerLeft (CategoryTheory.Join.mkFunctor (CategoryTheory.Join.inclRight Dᵒᵖ Cᵒᵖ).rightOp (CategoryTheory.Join.inclLeft Dᵒᵖ Cᵒᵖ).rightOp { app := fun x => (CategoryTheory.Join.edge (Opposite.op x.2) (Opposite.op x.1)).op, naturality := ⋯ }).leftOpRightOpIso).hom.app X) (CategoryTheory.CategoryStruct.id (Opposite.op (CategoryTheory.Join.left (Opposite.op X)))) - CategoryTheory.Join.InclRightCompRightOpOpEquivFunctor_inv_app 📋 Mathlib.CategoryTheory.Join.Opposites
(C : Type u₁) (D : Type u₂) [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] (X : D) : (CategoryTheory.Join.InclRightCompRightOpOpEquivFunctor C D).inv.app X = CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.id (Opposite.op (CategoryTheory.Join.left (Opposite.op X)))) (((CategoryTheory.Join.inclRight C D).isoWhiskerLeft (CategoryTheory.Join.mkFunctor (CategoryTheory.Join.inclRight Dᵒᵖ Cᵒᵖ).rightOp (CategoryTheory.Join.inclLeft Dᵒᵖ Cᵒᵖ).rightOp { app := fun x => (CategoryTheory.Join.edge (Opposite.op x.2) (Opposite.op x.1)).op, naturality := ⋯ }).leftOpRightOpIso).inv.app X) - 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.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.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'
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