mathlib3 documentation

category_theory.idempotents.functor_extension

Extension of functors to the idempotent completion #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

In this file, we construct an extension functor_extension₁ of functors C ⥤ karoubi D to functors karoubi C ⥤ karoubi D. This results in an equivalence karoubi_universal₁ C D : (C ⥤ karoubi D) ≌ (karoubi C ⥤ karoubi D).

We also construct an extension functor_extension₂ of functors (C ⥤ D) ⥤ (karoubi C ⥤ karoubi D). Moreover, when D is idempotent complete, we get equivalences karoubi_universal₂ C D : C ⥤ D ≌ karoubi C ⥤ karoubi D and karoubi_universal C D : C ⥤ D ≌ karoubi C ⥤ D.

We occasionally state and use equalities of functors because it is sometimes convenient to use rewrites when proving properties of functors obtained using the constructions in this file. Users are encouraged to use the corresponding natural isomorphism whenever possible.

A natural transformation between functors karoubi C ⥤ D is determined by its value on objects coming from C.

The canonical extension of a functor C ⥤ karoubi D to a functor karoubi C ⥤ karoubi D

Equations

Extension of a natural transformation φ between functors C ⥤ karoubi D to a natural transformation between the extension of these functors to karoubi C ⥤ karoubi D

Equations
@[simp]
theorem category_theory.idempotents.karoubi_universal_unit_iso_hom_app_app (C : Type u_1) (D : Type u_2) [category_theory.category C] [category_theory.category D] [category_theory.is_idempotent_complete D] (X : C D) (X_1 : C) :
((category_theory.idempotents.karoubi_universal C D).unit_iso.hom.app X).app X_1 = ((category_theory.equivalence.adjointify_η (category_theory.nat_iso.of_components (λ (F : C D), F.right_unitor.symm ≪≫ category_theory.iso_whisker_left F category_theory.is_equivalence.unit_iso ≪≫ F.associator (category_theory.idempotents.to_karoubi D) (category_theory.idempotents.to_karoubi D).inv) _) (category_theory.nat_iso.of_components (λ (F : C category_theory.idempotents.karoubi D), F.associator (category_theory.idempotents.to_karoubi D).inv (category_theory.idempotents.to_karoubi D) ≪≫ category_theory.iso_whisker_left F category_theory.is_equivalence.counit_iso ≪≫ F.right_unitor) _)).hom.app X).app X_1 (category_theory.idempotents.to_karoubi D).inv.map (category_theory.eq_to_hom _) (category_theory.idempotents.to_karoubi D).inv.map (((category_theory.equivalence.adjointify_η (category_theory.nat_iso.of_components (λ (F : category_theory.idempotents.karoubi C category_theory.idempotents.karoubi D), F.right_unitor.symm ≪≫ category_theory.iso_whisker_left F category_theory.is_equivalence.counit_iso.symm ≪≫ F.associator (category_theory.idempotents.to_karoubi D).inv (category_theory.idempotents.to_karoubi D)) _) (category_theory.nat_iso.of_components (λ (F : category_theory.idempotents.karoubi C D), F.associator (category_theory.idempotents.to_karoubi D) (category_theory.idempotents.to_karoubi D).inv ≪≫ category_theory.iso_whisker_left F category_theory.is_equivalence.unit_iso.symm ≪≫ F.right_unitor) _)).hom.app ((category_theory.idempotents.karoubi_universal₂ C D).functor.obj X)).app ((category_theory.idempotents.to_karoubi C).obj X_1))
@[simp]
theorem category_theory.idempotents.karoubi_universal_unit_iso_inv_app_app (C : Type u_1) (D : Type u_2) [category_theory.category C] [category_theory.category D] [category_theory.is_idempotent_complete D] (X : C D) (X_1 : C) :
((category_theory.idempotents.karoubi_universal C D).unit_iso.inv.app X).app X_1 = (category_theory.idempotents.to_karoubi D).inv.map (((category_theory.equivalence.adjointify_η (category_theory.nat_iso.of_components (λ (F : category_theory.idempotents.karoubi C category_theory.idempotents.karoubi D), F.right_unitor.symm ≪≫ category_theory.iso_whisker_left F category_theory.is_equivalence.counit_iso.symm ≪≫ F.associator (category_theory.idempotents.to_karoubi D).inv (category_theory.idempotents.to_karoubi D)) _) (category_theory.nat_iso.of_components (λ (F : category_theory.idempotents.karoubi C D), F.associator (category_theory.idempotents.to_karoubi D) (category_theory.idempotents.to_karoubi D).inv ≪≫ category_theory.iso_whisker_left F category_theory.is_equivalence.unit_iso.symm ≪≫ F.right_unitor) _)).inv.app ((category_theory.idempotents.karoubi_universal₂ C D).functor.obj X)).app ((category_theory.idempotents.to_karoubi C).obj X_1)) (category_theory.idempotents.to_karoubi D).inv.map (category_theory.eq_to_hom _) ((category_theory.equivalence.adjointify_η (category_theory.nat_iso.of_components (λ (F : C D), F.right_unitor.symm ≪≫ category_theory.iso_whisker_left F category_theory.is_equivalence.unit_iso ≪≫ F.associator (category_theory.idempotents.to_karoubi D) (category_theory.idempotents.to_karoubi D).inv) _) (category_theory.nat_iso.of_components (λ (F : C category_theory.idempotents.karoubi D), F.associator (category_theory.idempotents.to_karoubi D).inv (category_theory.idempotents.to_karoubi D) ≪≫ category_theory.iso_whisker_left F category_theory.is_equivalence.counit_iso ≪≫ F.right_unitor) _)).inv.app X).app X_1