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
The canonical functor (C ⥤ karoubi D) ⥤ (karoubi C ⥤ karoubi D)
Equations
- category_theory.idempotents.functor_extension₁ C D = {obj := category_theory.idempotents.functor_extension₁.obj _inst_2, map := λ (F G : C ⥤ category_theory.idempotents.karoubi D), category_theory.idempotents.functor_extension₁.map, map_id' := _, map_comp' := _}
The natural isomorphism expressing that functors karoubi C ⥤ karoubi D
obtained
using functor_extension₁
actually extends the original functors C ⥤ karoubi D
.
The counit isomorphism of the equivalence (C ⥤ karoubi D) ≌ (karoubi C ⥤ karoubi D)
.
Equations
- category_theory.idempotents.karoubi_universal₁.counit_iso C D = category_theory.nat_iso.of_components (λ (G : category_theory.idempotents.karoubi C ⥤ category_theory.idempotents.karoubi D), {hom := {app := λ (P : category_theory.idempotents.karoubi C), {f := (G.map P.decomp_id_p).f, comm := _}, naturality' := _}, inv := {app := λ (P : category_theory.idempotents.karoubi C), {f := (G.map P.decomp_id_i).f, comm := _}, naturality' := _}, hom_inv_id' := _, inv_hom_id' := _}) _
The equivalence of categories (C ⥤ karoubi D) ≌ (karoubi C ⥤ karoubi D)
.
Equations
- category_theory.idempotents.karoubi_universal₁ C D = {functor := category_theory.idempotents.functor_extension₁ C D _inst_2, inverse := (category_theory.whiskering_left C (category_theory.idempotents.karoubi C) (category_theory.idempotents.karoubi D)).obj (category_theory.idempotents.to_karoubi C), unit_iso := (category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso C D).symm, counit_iso := category_theory.idempotents.karoubi_universal₁.counit_iso C D _inst_2, functor_unit_iso_comp' := _}
The canonical functor (C ⥤ D) ⥤ (karoubi C ⥤ karoubi D)
Equations
Instances for category_theory.idempotents.functor_extension₂
The natural isomorphism expressing that functors karoubi C ⥤ karoubi D
obtained
using functor_extension₂
actually extends the original functors C ⥤ D
.
The equivalence of categories (C ⥤ D) ≌ (karoubi C ⥤ karoubi D)
when D
is idempotent complete.
The extension of functors functor (C ⥤ D) ⥤ (karoubi C ⥤ D)
when D
is idempotent compltete.
Equations
- category_theory.idempotents.functor_extension C D = category_theory.idempotents.functor_extension₂ C D ⋙ (category_theory.whiskering_right (category_theory.idempotents.karoubi C) (category_theory.idempotents.karoubi D) D).obj (category_theory.is_equivalence.inverse (category_theory.idempotents.to_karoubi D))
Instances for category_theory.idempotents.functor_extension
The equivalence (C ⥤ D) ≌ (karoubi C ⥤ D)
when D
is idempotent complete.
Equations
- category_theory.idempotents.obj.category_theory.is_equivalence C D = category_theory.is_equivalence.cancel_comp_right ((category_theory.whiskering_left C (category_theory.idempotents.karoubi C) D).obj (category_theory.idempotents.to_karoubi C)) ((category_theory.whiskering_right C D (category_theory.idempotents.karoubi D)).obj (category_theory.idempotents.to_karoubi D) ⋙ (category_theory.whiskering_right C (category_theory.idempotents.karoubi D) D).obj (category_theory.idempotents.to_karoubi D).inv) (category_theory.is_equivalence.of_equivalence ((category_theory.idempotents.to_karoubi D).as_equivalence.trans (category_theory.idempotents.to_karoubi D).as_equivalence.symm).congr_right) (id (category_theory.is_equivalence.of_equivalence_inverse (category_theory.idempotents.karoubi_universal C D)))