File: Mathlib/CategoryTheory/Idempotents/Biproducts.lean

full_name: CategoryTheory.Idempotents.Karoubi.Biproducts.bicone_ι_f
code: /-- The `Bicone` used in order to obtain the existence of
the biproduct of a functor `J ⥤ Karoubi C` when the category `C` is additive. -/
@[simps]
def bicone [HasFiniteBiproducts C] {J : Type} [Finite J] (F : J → Karoubi C) : Bicone F 
goal: ((CategoryTheory.Idempotents.Karoubi.Biproducts.bicone F).ι j).f =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.biproduct.ι (fun j => (F j).X) j)
    (CategoryTheory.Limits.biproduct.map fun j => (F j).p)

full_name: CategoryTheory.Idempotents.Karoubi.Biproducts.bicone_π_f
code: /-- The `Bicone` used in order to obtain the existence of
the biproduct of a functor `J ⥤ Karoubi C` when the category `C` is additive. -/
@[simps]
def bicone [HasFiniteBiproducts C] {J : Type} [Finite J] (F : J → Karoubi C) : Bicone F 
goal: ((CategoryTheory.Idempotents.Karoubi.Biproducts.bicone F).π j).f =
  CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.biproduct.map fun j => (F j).p)
    ((CategoryTheory.Limits.biproduct.bicone fun j => (F j).X).π j)

full_name: CategoryTheory.Idempotents.Karoubi.Biproducts.bicone_pt_p
code: /-- The `Bicone` used in order to obtain the existence of
the biproduct of a functor `J ⥤ Karoubi C` when the category `C` is additive. -/
@[simps]
def bicone [HasFiniteBiproducts C] {J : Type} [Finite J] (F : J → Karoubi C) : Bicone F 
goal: (CategoryTheory.Idempotents.Karoubi.Biproducts.bicone F).pt.p = CategoryTheory.Limits.biproduct.map fun j => (F j).p

full_name: CategoryTheory.Idempotents.Karoubi.Biproducts.bicone
code: /-- The `Bicone` used in order to obtain the existence of
the biproduct of a functor `J ⥤ Karoubi C` when the category `C` is additive. -/
@[simps]
def bicone [HasFiniteBiproducts C] {J : Type} [Finite J] (F : J → Karoubi C) : Bicone F 
goal: CategoryTheory.Limits.Bicone F

full_name: CategoryTheory.Idempotents.Karoubi.Biproducts.bicone_pt_X
code: /-- The `Bicone` used in order to obtain the existence of
the biproduct of a functor `J ⥤ Karoubi C` when the category `C` is additive. -/
@[simps]
def bicone [HasFiniteBiproducts C] {J : Type} [Finite J] (F : J → Karoubi C) : Bicone F 
goal: (CategoryTheory.Idempotents.Karoubi.Biproducts.bicone F).pt.X = ⨁ fun j => (F j).X

full_name: CategoryTheory.Idempotents.Karoubi.karoubi_hasFiniteBiproducts
code: theorem karoubi_hasFiniteBiproducts [HasFiniteBiproducts C] : HasFiniteBiproducts (Karoubi C) 
goal: CategoryTheory.Limits.HasFiniteBiproducts (CategoryTheory.Idempotents.Karoubi C)

full_name: CategoryTheory.Idempotents.Karoubi.complement_X
code: /-- `P.complement` is the formal direct factor of `P.X` given by the idempotent
endomorphism `𝟙 P.X - P.p` -/
@[simps]
def complement (P : Karoubi C) : Karoubi C 
goal: P.complement.X = P.X

full_name: CategoryTheory.Idempotents.Karoubi.complement_p
code: /-- `P.complement` is the formal direct factor of `P.X` given by the idempotent
endomorphism `𝟙 P.X - P.p` -/
@[simps]
def complement (P : Karoubi C) : Karoubi C 
goal: P.complement.p = CategoryTheory.CategoryStruct.id P.X - P.p

full_name: CategoryTheory.Idempotents.Karoubi.complement
code: /-- `P.complement` is the formal direct factor of `P.X` given by the idempotent
endomorphism `𝟙 P.X - P.p` -/
@[simps]
def complement (P : Karoubi C) : Karoubi C 
goal: CategoryTheory.Idempotents.Karoubi C

full_name: CategoryTheory.Idempotents.Karoubi.instHasBinaryBiproductComplement
code: instance (P : Karoubi C) : HasBinaryBiproduct P P.complement 
goal: CategoryTheory.Limits.HasBinaryBiproduct P P.complement

full_name: CategoryTheory.Idempotents.Karoubi.decomposition
code: /-- A formal direct factor `P : Karoubi C` of an object `P.X : C` in a
preadditive category is actually a direct factor of the image `(toKaroubi C).obj P.X`
of `P.X` in the category `Karoubi C` -/
def decomposition (P : Karoubi C) : P ⊞ P.complement ≅ (toKaroubi _).obj P.X 
goal: P ⊞ P.complement ≅ (CategoryTheory.Idempotents.toKaroubi C).obj P.X