Loogle!
Result
Found 240 declarations mentioning CategoryTheory.Subobject.underlying. Of these, only the first 200 are shown.
- CategoryTheory.Subobject.underlying ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X : C} : CategoryTheory.Functor (CategoryTheory.Subobject X) C - CategoryTheory.Subobject.arrow ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X : C} (Y : CategoryTheory.Subobject X) : CategoryTheory.Subobject.underlying.obj Y โถ X - CategoryTheory.Subobject.arrow_mono ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X : C} (Y : CategoryTheory.Subobject X) : CategoryTheory.Mono Y.arrow - CategoryTheory.Subobject.mk_arrow ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X : C} (P : CategoryTheory.Subobject X) : CategoryTheory.Subobject.mk P.arrow = P - CategoryTheory.Subobject.underlyingIso ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Mono f] : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Subobject.mk f) โ X - CategoryTheory.Subobject.isoOfEqMk ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (X : CategoryTheory.Subobject B) (f : A โถ B) [CategoryTheory.Mono f] (h : X = CategoryTheory.Subobject.mk f) : CategoryTheory.Subobject.underlying.obj X โ A - CategoryTheory.Subobject.isoOfMkEq ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (f : A โถ B) [CategoryTheory.Mono f] (X : CategoryTheory.Subobject B) (h : CategoryTheory.Subobject.mk f = X) : A โ CategoryTheory.Subobject.underlying.obj X - CategoryTheory.Subobject.isoOfEq ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} (X Y : CategoryTheory.Subobject B) (h : X = Y) : CategoryTheory.Subobject.underlying.obj X โ CategoryTheory.Subobject.underlying.obj Y - CategoryTheory.Subobject.ofLEMk ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (X : CategoryTheory.Subobject B) (f : A โถ B) [CategoryTheory.Mono f] (h : X โค CategoryTheory.Subobject.mk f) : CategoryTheory.Subobject.underlying.obj X โถ A - CategoryTheory.Subobject.ofMkLE ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (f : A โถ B) [CategoryTheory.Mono f] (X : CategoryTheory.Subobject B) (h : CategoryTheory.Subobject.mk f โค X) : A โถ CategoryTheory.Subobject.underlying.obj X - CategoryTheory.Subobject.imageFactorisation ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} [CategoryTheory.Limits.HasImages C] (f : X โถ Y) (x : CategoryTheory.Subobject X) : CategoryTheory.Limits.ImageFactorisation (CategoryTheory.CategoryStruct.comp x.arrow f) - CategoryTheory.Subobject.instMonoOfLEMk ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (X : CategoryTheory.Subobject B) (f : A โถ B) [CategoryTheory.Mono f] (h : X โค CategoryTheory.Subobject.mk f) : CategoryTheory.Mono (X.ofLEMk f h) - CategoryTheory.Subobject.instMonoOfMkLE ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (f : A โถ B) [CategoryTheory.Mono f] (X : CategoryTheory.Subobject B) (h : CategoryTheory.Subobject.mk f โค X) : CategoryTheory.Mono (CategoryTheory.Subobject.ofMkLE f X h) - CategoryTheory.Subobject.ofLE ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} (X Y : CategoryTheory.Subobject B) (h : X โค Y) : CategoryTheory.Subobject.underlying.obj X โถ CategoryTheory.Subobject.underlying.obj Y - CategoryTheory.Subobject.representative_coe ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X : C} (Y : CategoryTheory.Subobject X) : (CategoryTheory.Subobject.representative.obj Y).obj.left = CategoryTheory.Subobject.underlying.obj Y - CategoryTheory.Subobject.instMonoOfLE ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} (X Y : CategoryTheory.Subobject B) (h : X โค Y) : CategoryTheory.Mono (X.ofLE Y h) - CategoryTheory.Subobject.ofMkLE_arrow ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} {f : A โถ B} [CategoryTheory.Mono f] {X : CategoryTheory.Subobject B} (h : CategoryTheory.Subobject.mk f โค X) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLE f X h) X.arrow = f - CategoryTheory.Subobject.ofLE_refl ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} (X : CategoryTheory.Subobject B) : X.ofLE X โฏ = CategoryTheory.CategoryStruct.id (CategoryTheory.Subobject.underlying.obj X) - CategoryTheory.Subobject.pullbackฯ ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X โถ Y) (y : CategoryTheory.Subobject Y) : CategoryTheory.Subobject.underlying.obj ((CategoryTheory.Subobject.pullback f).obj y) โถ CategoryTheory.Subobject.underlying.obj y - CategoryTheory.Subobject.underlyingIso_arrow ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Mono f] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.underlyingIso f).inv (CategoryTheory.Subobject.mk f).arrow = f - CategoryTheory.Subobject.isoOfEqMk_hom ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (X : CategoryTheory.Subobject B) (f : A โถ B) [CategoryTheory.Mono f] (h : X = CategoryTheory.Subobject.mk f) : (X.isoOfEqMk f h).hom = X.ofLEMk f โฏ - CategoryTheory.Subobject.isoOfEqMk_inv ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (X : CategoryTheory.Subobject B) (f : A โถ B) [CategoryTheory.Mono f] (h : X = CategoryTheory.Subobject.mk f) : (X.isoOfEqMk f h).inv = CategoryTheory.Subobject.ofMkLE f X โฏ - CategoryTheory.Subobject.isoOfMkEq_hom ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (f : A โถ B) [CategoryTheory.Mono f] (X : CategoryTheory.Subobject B) (h : CategoryTheory.Subobject.mk f = X) : (CategoryTheory.Subobject.isoOfMkEq f X h).hom = CategoryTheory.Subobject.ofMkLE f X โฏ - CategoryTheory.Subobject.isoOfMkEq_inv ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (f : A โถ B) [CategoryTheory.Mono f] (X : CategoryTheory.Subobject B) (h : CategoryTheory.Subobject.mk f = X) : (CategoryTheory.Subobject.isoOfMkEq f X h).inv = X.ofLEMk f โฏ - CategoryTheory.Subobject.ofLEMk_comp ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} {X : CategoryTheory.Subobject B} {f : A โถ B} [CategoryTheory.Mono f] (h : X โค CategoryTheory.Subobject.mk f) : CategoryTheory.CategoryStruct.comp (X.ofLEMk f h) f = X.arrow - CategoryTheory.Subobject.mk_le_of_comm ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} {X : CategoryTheory.Subobject B} {f : A โถ B} [CategoryTheory.Mono f] (g : A โถ CategoryTheory.Subobject.underlying.obj X) (w : CategoryTheory.CategoryStruct.comp g X.arrow = f) : CategoryTheory.Subobject.mk f โค X - CategoryTheory.Subobject.ofLE_arrow ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} {X Y : CategoryTheory.Subobject B} (h : X โค Y) : CategoryTheory.CategoryStruct.comp (X.ofLE Y h) Y.arrow = X.arrow - CategoryTheory.Subobject.mk_eq_of_comm ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} {X : CategoryTheory.Subobject B} (f : A โถ B) [CategoryTheory.Mono f] (i : A โ CategoryTheory.Subobject.underlying.obj X) (w : CategoryTheory.CategoryStruct.comp i.hom X.arrow = f) : CategoryTheory.Subobject.mk f = X - CategoryTheory.Subobject.isoOfEq_hom ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} (X Y : CategoryTheory.Subobject B) (h : X = Y) : (X.isoOfEq Y h).hom = X.ofLE Y โฏ - CategoryTheory.Subobject.isoOfEq_inv ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} (X Y : CategoryTheory.Subobject B) (h : X = Y) : (X.isoOfEq Y h).inv = Y.ofLE X โฏ - CategoryTheory.Subobject.underlyingIso_hom_comp_eq_mk ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Mono f] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.underlyingIso f).hom f = (CategoryTheory.Subobject.mk f).arrow - CategoryTheory.Subobject.le_mk_of_comm ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} {X : CategoryTheory.Subobject B} {f : A โถ B} [CategoryTheory.Mono f] (g : CategoryTheory.Subobject.underlying.obj X โถ A) (w : CategoryTheory.CategoryStruct.comp g f = X.arrow) : X โค CategoryTheory.Subobject.mk f - CategoryTheory.Subobject.eq_mk_of_comm ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} {X : CategoryTheory.Subobject B} (f : A โถ B) [CategoryTheory.Mono f] (i : CategoryTheory.Subobject.underlying.obj X โ A) (w : CategoryTheory.CategoryStruct.comp i.hom f = X.arrow) : X = CategoryTheory.Subobject.mk f - CategoryTheory.Subobject.underlying_arrow ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X : C} {Y Z : CategoryTheory.Subobject X} (f : Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.underlying.map f) Z.arrow = Y.arrow - CategoryTheory.Subobject.underlyingIso_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Mono f] {Z : C} (h : Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.underlyingIso f).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.mk f).arrow h) = CategoryTheory.CategoryStruct.comp f h - CategoryTheory.Subobject.isPullback ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X โถ Y) (y : CategoryTheory.Subobject Y) : CategoryTheory.IsPullback (CategoryTheory.Subobject.pullbackฯ f y) ((CategoryTheory.Subobject.pullback f).obj y).arrow y.arrow f - CategoryTheory.Subobject.le_of_comm ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} {X Y : CategoryTheory.Subobject B} (f : CategoryTheory.Subobject.underlying.obj X โถ CategoryTheory.Subobject.underlying.obj Y) (w : CategoryTheory.CategoryStruct.comp f Y.arrow = X.arrow) : X โค Y - CategoryTheory.Subobject.ofMkLE_comp_ofLEMk ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B Aโ Aโ : C} (f : Aโ โถ B) [CategoryTheory.Mono f] (X : CategoryTheory.Subobject B) (g : Aโ โถ B) [CategoryTheory.Mono g] (hโ : CategoryTheory.Subobject.mk f โค X) (hโ : X โค CategoryTheory.Subobject.mk g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLE f X hโ) (X.ofLEMk g hโ) = CategoryTheory.Subobject.ofMkLEMk f g โฏ - CategoryTheory.Subobject.eq_of_comp_arrow_eq ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} {P : CategoryTheory.Subobject Y} {f g : X โถ CategoryTheory.Subobject.underlying.obj P} (h : CategoryTheory.CategoryStruct.comp f P.arrow = CategoryTheory.CategoryStruct.comp g P.arrow) : f = g - CategoryTheory.Subobject.eq_of_comp_arrow_eq_iff ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} {P : CategoryTheory.Subobject Y} {f g : X โถ CategoryTheory.Subobject.underlying.obj P} : f = g โ CategoryTheory.CategoryStruct.comp f P.arrow = CategoryTheory.CategoryStruct.comp g P.arrow - CategoryTheory.Subobject.underlyingIso_hom_comp_eq_mk_assoc ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Mono f] {Z : C} (h : Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.underlyingIso f).hom (CategoryTheory.CategoryStruct.comp f h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.mk f).arrow h - CategoryTheory.Subobject.arrow_congr ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {A : C} (X Y : CategoryTheory.Subobject A) (h : X = Y) : CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom โฏ) Y.arrow = X.arrow - CategoryTheory.Subobject.ofLE_comp_ofLEMk ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (X Y : CategoryTheory.Subobject B) (f : A โถ B) [CategoryTheory.Mono f] (hโ : X โค Y) (hโ : Y โค CategoryTheory.Subobject.mk f) : CategoryTheory.CategoryStruct.comp (X.ofLE Y hโ) (Y.ofLEMk f hโ) = X.ofLEMk f โฏ - CategoryTheory.Subobject.ofMkLE_comp_ofLE ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B Aโ : C} (f : Aโ โถ B) [CategoryTheory.Mono f] (X Y : CategoryTheory.Subobject B) (hโ : CategoryTheory.Subobject.mk f โค X) (hโ : X โค Y) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLE f X hโ) (X.ofLE Y hโ) = CategoryTheory.Subobject.ofMkLE f Y โฏ - CategoryTheory.Subobject.ofLE_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} {X Y : CategoryTheory.Subobject B} (h : X โค Y) {Z : C} (hโ : B โถ Z) : CategoryTheory.CategoryStruct.comp (X.ofLE Y h) (CategoryTheory.CategoryStruct.comp Y.arrow hโ) = CategoryTheory.CategoryStruct.comp X.arrow hโ - CategoryTheory.Subobject.ofLEMk_comp_ofMkLEMk ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B Aโ Aโ : C} (X : CategoryTheory.Subobject B) (f : Aโ โถ B) [CategoryTheory.Mono f] (g : Aโ โถ B) [CategoryTheory.Mono g] (hโ : X โค CategoryTheory.Subobject.mk f) (hโ : CategoryTheory.Subobject.mk f โค CategoryTheory.Subobject.mk g) : CategoryTheory.CategoryStruct.comp (X.ofLEMk f hโ) (CategoryTheory.Subobject.ofMkLEMk f g hโ) = X.ofLEMk g โฏ - CategoryTheory.Subobject.ofMkLEMk_comp_ofMkLE ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B Aโ Aโ : C} (f : Aโ โถ B) [CategoryTheory.Mono f] (g : Aโ โถ B) [CategoryTheory.Mono g] (X : CategoryTheory.Subobject B) (hโ : CategoryTheory.Subobject.mk f โค CategoryTheory.Subobject.mk g) (hโ : CategoryTheory.Subobject.mk g โค X) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLEMk f g hโ) (CategoryTheory.Subobject.ofMkLE g X hโ) = CategoryTheory.Subobject.ofMkLE f X โฏ - CategoryTheory.Subobject.eq_of_comm ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} {X Y : CategoryTheory.Subobject B} (f : CategoryTheory.Subobject.underlying.obj X โ CategoryTheory.Subobject.underlying.obj Y) (w : CategoryTheory.CategoryStruct.comp f.hom Y.arrow = X.arrow) : X = Y - CategoryTheory.Subobject.existsIsoImage ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} [CategoryTheory.Limits.HasImages C] (f : X โถ Y) (x : CategoryTheory.Subobject X) : CategoryTheory.Subobject.underlying.obj ((CategoryTheory.Subobject.exists f).obj x) โ CategoryTheory.Limits.image (CategoryTheory.CategoryStruct.comp x.arrow f) - CategoryTheory.Subobject.imageFactorisation_F_I ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} [CategoryTheory.Limits.HasImages C] (f : X โถ Y) (x : CategoryTheory.Subobject X) : (CategoryTheory.Subobject.imageFactorisation f x).F.I = CategoryTheory.Subobject.underlying.obj ((CategoryTheory.Subobject.exists f).obj x) - CategoryTheory.Subobject.ofLE_comp_ofLE ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} (X Y Z : CategoryTheory.Subobject B) (hโ : X โค Y) (hโ : Y โค Z) : CategoryTheory.CategoryStruct.comp (X.ofLE Y hโ) (Y.ofLE Z hโ) = X.ofLE Z โฏ - CategoryTheory.Subobject.ofLEMk_comp_ofMkLE ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (X : CategoryTheory.Subobject B) (f : A โถ B) [CategoryTheory.Mono f] (Y : CategoryTheory.Subobject B) (hโ : X โค CategoryTheory.Subobject.mk f) (hโ : CategoryTheory.Subobject.mk f โค Y) : CategoryTheory.CategoryStruct.comp (X.ofLEMk f hโ) (CategoryTheory.Subobject.ofMkLE f Y hโ) = X.ofLE Y โฏ - CategoryTheory.Subobject.ofMkLE_comp_ofLEMk_assoc ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B Aโ Aโ : C} (f : Aโ โถ B) [CategoryTheory.Mono f] (X : CategoryTheory.Subobject B) (g : Aโ โถ B) [CategoryTheory.Mono g] (hโ : CategoryTheory.Subobject.mk f โค X) (hโ : X โค CategoryTheory.Subobject.mk g) {Z : C} (h : Aโ โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLE f X hโ) (CategoryTheory.CategoryStruct.comp (X.ofLEMk g hโ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLEMk f g โฏ) h - CategoryTheory.Subobject.underlying_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X : C} {Y Z : CategoryTheory.Subobject X} (f : Y โถ Z) {Zโ : C} (h : X โถ Zโ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.underlying.map f) (CategoryTheory.CategoryStruct.comp Z.arrow h) = CategoryTheory.CategoryStruct.comp Y.arrow h - CategoryTheory.Subobject.ofLEMk_comp_ofMkLEMk_assoc ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B Aโ Aโ : C} (X : CategoryTheory.Subobject B) (f : Aโ โถ B) [CategoryTheory.Mono f] (g : Aโ โถ B) [CategoryTheory.Mono g] (hโ : X โค CategoryTheory.Subobject.mk f) (hโ : CategoryTheory.Subobject.mk f โค CategoryTheory.Subobject.mk g) {Z : C} (h : Aโ โถ Z) : CategoryTheory.CategoryStruct.comp (X.ofLEMk f hโ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLEMk f g hโ) h) = CategoryTheory.CategoryStruct.comp (X.ofLEMk g โฏ) h - CategoryTheory.Subobject.ofMkLEMk_comp_ofMkLE_assoc ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B Aโ Aโ : C} (f : Aโ โถ B) [CategoryTheory.Mono f] (g : Aโ โถ B) [CategoryTheory.Mono g] (X : CategoryTheory.Subobject B) (hโ : CategoryTheory.Subobject.mk f โค CategoryTheory.Subobject.mk g) (hโ : CategoryTheory.Subobject.mk g โค X) {Z : C} (h : CategoryTheory.Subobject.underlying.obj X โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLEMk f g hโ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLE g X hโ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLE f X โฏ) h - CategoryTheory.Subobject.imageFactorisation_F_m ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} [CategoryTheory.Limits.HasImages C] (f : X โถ Y) (x : CategoryTheory.Subobject X) : (CategoryTheory.Subobject.imageFactorisation f x).F.m = ((CategoryTheory.Subobject.exists f).obj x).arrow - CategoryTheory.Subobject.ofLE_comp_ofLEMk_assoc ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (X Y : CategoryTheory.Subobject B) (f : A โถ B) [CategoryTheory.Mono f] (hโ : X โค Y) (hโ : Y โค CategoryTheory.Subobject.mk f) {Z : C} (h : A โถ Z) : CategoryTheory.CategoryStruct.comp (X.ofLE Y hโ) (CategoryTheory.CategoryStruct.comp (Y.ofLEMk f hโ) h) = CategoryTheory.CategoryStruct.comp (X.ofLEMk f โฏ) h - CategoryTheory.Subobject.ofMkLE_comp_ofLE_assoc ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B Aโ : C} (f : Aโ โถ B) [CategoryTheory.Mono f] (X Y : CategoryTheory.Subobject B) (hโ : CategoryTheory.Subobject.mk f โค X) (hโ : X โค Y) {Z : C} (h : CategoryTheory.Subobject.underlying.obj Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLE f X hโ) (CategoryTheory.CategoryStruct.comp (X.ofLE Y hโ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLE f Y โฏ) h - CategoryTheory.Subobject.pullback_obj ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasPullbacks C] {X Y : C} (f : Y โถ X) (x : CategoryTheory.Subobject X) : (CategoryTheory.Subobject.pullback f).obj x = CategoryTheory.Subobject.mk (CategoryTheory.Limits.pullback.snd x.arrow f) - CategoryTheory.Subobject.ofLEMk_comp_ofMkLE_assoc ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B A : C} (X : CategoryTheory.Subobject B) (f : A โถ B) [CategoryTheory.Mono f] (Y : CategoryTheory.Subobject B) (hโ : X โค CategoryTheory.Subobject.mk f) (hโ : CategoryTheory.Subobject.mk f โค Y) {Z : C} (h : CategoryTheory.Subobject.underlying.obj Y โถ Z) : CategoryTheory.CategoryStruct.comp (X.ofLEMk f hโ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.ofMkLE f Y hโ) h) = CategoryTheory.CategoryStruct.comp (X.ofLE Y โฏ) h - CategoryTheory.Subobject.ofLE_comp_ofLE_assoc ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} (X Y Z : CategoryTheory.Subobject B) (hโ : X โค Y) (hโ : Y โค Z) {Zโ : C} (h : CategoryTheory.Subobject.underlying.obj Z โถ Zโ) : CategoryTheory.CategoryStruct.comp (X.ofLE Y hโ) (CategoryTheory.CategoryStruct.comp (Y.ofLE Z hโ) h) = CategoryTheory.CategoryStruct.comp (X.ofLE Z โฏ) h - CategoryTheory.Subobject.ofLE_mk_le_mk_of_comm ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B Aโ Aโ : C} {fโ : Aโ โถ B} {fโ : Aโ โถ B} [CategoryTheory.Mono fโ] [CategoryTheory.Mono fโ] (g : Aโ โถ Aโ) (w : CategoryTheory.CategoryStruct.comp g fโ = fโ) : (CategoryTheory.Subobject.mk fโ).ofLE (CategoryTheory.Subobject.mk fโ) โฏ = CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.underlyingIso fโ).hom (CategoryTheory.CategoryStruct.comp g (CategoryTheory.Subobject.underlyingIso fโ).inv) - CategoryTheory.Subobject.isPullback_aux ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X โถ Y) (y : CategoryTheory.Subobject Y) : โ ฯ, CategoryTheory.IsPullback ฯ ((CategoryTheory.Subobject.pullback f).obj y).arrow y.arrow f - CategoryTheory.Subobject.underlyingIso_arrow_apply ๐ Mathlib.CategoryTheory.Subobject.Basic
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Mono f] {F : C โ C โ Type uF} {carrier : C โ Type w} {instFunLike : (X Y : C) โ FunLike (F X Y) (carrier X) (carrier Y)} [inst : CategoryTheory.ConcreteCategory C F] (x : carrier X) : (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Subobject.mk f).arrow) ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Subobject.underlyingIso f).inv) x) = (CategoryTheory.ConcreteCategory.hom f) x - CategoryTheory.Subobject.factors_self ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X : C} (P : CategoryTheory.Subobject X) : P.Factors P.arrow - CategoryTheory.Subobject.factorThru ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} (P : CategoryTheory.Subobject Y) (f : X โถ Y) (h : P.Factors f) : X โถ CategoryTheory.Subobject.underlying.obj P - CategoryTheory.Subobject.le_of_factors ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {Y : C} {P Q : CategoryTheory.Subobject Y} (h : Q.Factors P.arrow) : P โค Q - CategoryTheory.Subobject.homOfFactors ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {Y : C} {P Q : CategoryTheory.Subobject Y} (h : Q.Factors P.arrow) : P โถ Q - CategoryTheory.Subobject.factorThru_arrow ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} (P : CategoryTheory.Subobject Y) (f : X โถ Y) (h : P.Factors f) : CategoryTheory.CategoryStruct.comp (P.factorThru f h) P.arrow = f - CategoryTheory.Subobject.factors_comp_arrow ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} {P : CategoryTheory.Subobject Y} (f : X โถ CategoryTheory.Subobject.underlying.obj P) : P.Factors (CategoryTheory.CategoryStruct.comp f P.arrow) - CategoryTheory.Subobject.factorThru_mk_self ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Mono f] : (CategoryTheory.Subobject.mk f).factorThru f โฏ = (CategoryTheory.Subobject.underlyingIso f).inv - CategoryTheory.Subobject.factorThru_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} (P : CategoryTheory.Subobject Y) (f : X โถ Y) (h : P.Factors f) {Z : C} (hโ : Y โถ Z) : CategoryTheory.CategoryStruct.comp (P.factorThru f h) (CategoryTheory.CategoryStruct.comp P.arrow hโ) = CategoryTheory.CategoryStruct.comp f hโ - CategoryTheory.Subobject.factorThru_right ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y Z : C} {P : CategoryTheory.Subobject Z} (f : X โถ Y) (g : Y โถ Z) (h : P.Factors g) : CategoryTheory.CategoryStruct.comp f (P.factorThru g h) = P.factorThru (CategoryTheory.CategoryStruct.comp f g) โฏ - CategoryTheory.Subobject.factorThru_comp_arrow ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X Y : C} {P : CategoryTheory.Subobject Y} (f : X โถ CategoryTheory.Subobject.underlying.obj P) (h : P.Factors (CategoryTheory.CategoryStruct.comp f P.arrow)) : P.factorThru (CategoryTheory.CategoryStruct.comp f P.arrow) h = f - CategoryTheory.Subobject.factorThru_self ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X : C} (P : CategoryTheory.Subobject X) (h : P.Factors P.arrow) : P.factorThru P.arrow h = CategoryTheory.CategoryStruct.id (CategoryTheory.Subobject.underlying.obj P) - CategoryTheory.Subobject.factorThru_ofLE ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {Y Z : C} {P Q : CategoryTheory.Subobject Y} {f : Z โถ Y} (h : P โค Q) (w : P.Factors f) : Q.factorThru f โฏ = CategoryTheory.CategoryStruct.comp (P.factorThru f w) (P.ofLE Q h) - CategoryTheory.Subobject.factorThru_eq_zero ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} {P : CategoryTheory.Subobject Y} {f : X โถ Y} {h : P.Factors f} : P.factorThru f h = 0 โ f = 0 - CategoryTheory.Subobject.factorThru_zero ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} {P : CategoryTheory.Subobject Y} (h : P.Factors 0) : P.factorThru 0 h = 0 - CategoryTheory.Subobject.factorThru_add_sub_factorThru_left ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Preadditive C] {X Y : C} {P : CategoryTheory.Subobject Y} (f g : X โถ Y) (w : P.Factors (f + g)) (wf : P.Factors f) : P.factorThru (f + g) w - P.factorThru f wf = P.factorThru g โฏ - CategoryTheory.Subobject.factorThru_add_sub_factorThru_right ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Preadditive C] {X Y : C} {P : CategoryTheory.Subobject Y} (f g : X โถ Y) (w : P.Factors (f + g)) (wg : P.Factors g) : P.factorThru (f + g) w - P.factorThru g wg = P.factorThru f โฏ - CategoryTheory.Subobject.factorThru_add ๐ Mathlib.CategoryTheory.Subobject.FactorThru
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Preadditive C] {X Y : C} {P : CategoryTheory.Subobject Y} (f g : X โถ Y) (w : P.Factors (f + g)) (wf : P.Factors f) (wg : P.Factors g) : P.factorThru (f + g) w = P.factorThru f wf + P.factorThru g wg - CategoryTheory.Subobject.botCoeIsoInitial ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasInitial C] [CategoryTheory.Limits.InitialMonoClass C] {B : C} : CategoryTheory.Subobject.underlying.obj โฅ โ โฅ_ C - CategoryTheory.Subobject.eq_top_of_isIso_arrow ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {Y : C} (P : CategoryTheory.Subobject Y) [CategoryTheory.IsIso P.arrow] : P = โค - CategoryTheory.Subobject.isIso_arrow_iff_eq_top ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {Y : C} (P : CategoryTheory.Subobject Y) : CategoryTheory.IsIso P.arrow โ P = โค - CategoryTheory.Subobject.botCoeIsoZero ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasZeroObject C] {B : C} : CategoryTheory.Subobject.underlying.obj โฅ โ 0 - CategoryTheory.Subobject.inf_arrow_factors_left ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasPullbacks C] {B : C} (X Y : CategoryTheory.Subobject B) : X.Factors (X โ Y).arrow - CategoryTheory.Subobject.inf_arrow_factors_right ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasPullbacks C] {B : C} (X Y : CategoryTheory.Subobject B) : Y.Factors (X โ Y).arrow - CategoryTheory.Subobject.isIso_top_arrow ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {Y : C} : CategoryTheory.IsIso โค.arrow - CategoryTheory.Subobject.top_arrow_isIso ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} : CategoryTheory.IsIso โค.arrow - CategoryTheory.Subobject.finset_inf_arrow_factors ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasPullbacks C] {I : Type u_1} {B : C} (s : Finset I) (P : I โ CategoryTheory.Subobject B) (i : I) (m : i โ s) : (P i).Factors (s.inf P).arrow - CategoryTheory.Subobject.underlyingIso_top_hom ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} : (CategoryTheory.Subobject.underlyingIso (CategoryTheory.CategoryStruct.id B)).hom = โค.arrow - CategoryTheory.Subobject.underlyingIso_inv_top_arrow ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.underlyingIso (CategoryTheory.CategoryStruct.id B)).inv โค.arrow = CategoryTheory.CategoryStruct.id B - CategoryTheory.Subobject.inf_isPullback ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) : CategoryTheory.IsPullback ((f โ g).ofLE f โฏ) ((f โ g).ofLE g โฏ) f.arrow g.arrow - CategoryTheory.Subobject.inf_comp_left ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) : CategoryTheory.CategoryStruct.comp ((f โ g).ofLE f โฏ) f.arrow = (f โ g).arrow - CategoryTheory.Subobject.inf_comp_right ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) : CategoryTheory.CategoryStruct.comp ((f โ g).ofLE g โฏ) g.arrow = (f โ g).arrow - CategoryTheory.Subobject.subobjectOrderIso ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {X : C} (Y : CategoryTheory.Subobject X) : CategoryTheory.Subobject (CategoryTheory.Subobject.underlying.obj Y) โo โ(Set.Iic Y) - CategoryTheory.Subobject.underlyingIso_inv_top_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {B Z : C} (h : B โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Subobject.underlyingIso (CategoryTheory.CategoryStruct.id B)).inv (CategoryTheory.CategoryStruct.comp โค.arrow h) = h - CategoryTheory.Subobject.inf_comp_left_assoc ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) {Z : C} (h : A โถ Z) : CategoryTheory.CategoryStruct.comp ((f โ g).ofLE f โฏ) (CategoryTheory.CategoryStruct.comp f.arrow h) = CategoryTheory.CategoryStruct.comp (f โ g).arrow h - CategoryTheory.Subobject.inf_comp_right_assoc ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) {Z : C} (h : A โถ Z) : CategoryTheory.CategoryStruct.comp ((f โ g).ofLE g โฏ) (CategoryTheory.CategoryStruct.comp g.arrow h) = CategoryTheory.CategoryStruct.comp (f โ g).arrow h - CategoryTheory.Subobject.bot_arrow ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {B : C} : โฅ.arrow = 0 - CategoryTheory.Subobject.inf_eq_map_pullback ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (fโ fโ : CategoryTheory.Subobject A) : fโ โ fโ = (CategoryTheory.Subobject.map fโ.arrow).obj ((CategoryTheory.Subobject.pullback fโ.arrow).obj fโ) - CategoryTheory.Subobject.smallCoproductDesc ๐ Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.LocallySmall.{w, vโ, uโ} C] [CategoryTheory.WellPowered.{w, vโ, uโ} C] [CategoryTheory.Limits.HasCoproducts C] {A : C} (s : Set (CategoryTheory.Subobject A)) : (โ fun j => CategoryTheory.Subobject.underlying.obj ((equivShrink (CategoryTheory.Subobject A)).symm โj)) โถ A - CategoryTheory.Limits.factorThruImageSubobject ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] : X โถ CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.imageSubobject f) - CategoryTheory.Limits.imageSubobjectIso ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.imageSubobject f) โ CategoryTheory.Limits.image f - CategoryTheory.Limits.instEpiFactorThruImageSubobjectOfHasEqualizers ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] [CategoryTheory.Limits.HasEqualizers C] : CategoryTheory.Epi (CategoryTheory.Limits.factorThruImageSubobject f) - CategoryTheory.Limits.kernelSubobjectIso ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject f) โ CategoryTheory.Limits.kernel f - CategoryTheory.Limits.equalizerSubobjectIso ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.equalizerSubobject f g) โ CategoryTheory.Limits.equalizer f g - CategoryTheory.Limits.imageSubobject_arrow_comp ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.factorThruImageSubobject f) (CategoryTheory.Limits.imageSubobject f).arrow = f - CategoryTheory.Limits.factorThruKernelSubobject ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] {W : C} (h : W โถ X) (w : CategoryTheory.CategoryStruct.comp h f = 0) : W โถ CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject f) - CategoryTheory.Limits.imageSubobjectCompIso ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasEqualizers C] (f : X โถ Y) [CategoryTheory.Limits.HasImage f] {Y' : C} (h : Y โถ Y') [CategoryTheory.IsIso h] : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.imageSubobject (CategoryTheory.CategoryStruct.comp f h)) โ CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.imageSubobject f) - CategoryTheory.Limits.kernelSubobjectIsoComp ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {X' : C} (f : X' โถ X) [CategoryTheory.IsIso f] (g : X โถ Y) [CategoryTheory.Limits.HasKernel g] : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject (CategoryTheory.CategoryStruct.comp f g)) โ CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject g) - CategoryTheory.Limits.kernelSubobjectMap ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X โถ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' โถ Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk f') : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject f) โถ CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject f') - CategoryTheory.Limits.imageSubobject_le ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {A B : C} {X : CategoryTheory.Subobject B} (f : A โถ B) [CategoryTheory.Limits.HasImage f] (h : A โถ CategoryTheory.Subobject.underlying.obj X) (w : CategoryTheory.CategoryStruct.comp h X.arrow = f) : CategoryTheory.Limits.imageSubobject f โค X - CategoryTheory.Limits.imageSubobject_arrow_comp_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] {Z : C} (h : Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.factorThruImageSubobject f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject f).arrow h) = CategoryTheory.CategoryStruct.comp f h - CategoryTheory.Limits.imageSubobject_arrow' ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectIso f).inv (CategoryTheory.Limits.imageSubobject f).arrow = CategoryTheory.Limits.image.ฮน f - CategoryTheory.Limits.factorThruKernelSubobject_comp_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] {W : C} (h : W โถ X) (w : CategoryTheory.CategoryStruct.comp h f = 0) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.factorThruKernelSubobject f h w) (CategoryTheory.Limits.kernelSubobject f).arrow = h - CategoryTheory.Limits.imageSubobjectMap ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W โถ X} [CategoryTheory.Limits.HasImage f] {g : Y โถ Z} [CategoryTheory.Limits.HasImage g] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk g) [CategoryTheory.Limits.HasImageMap sq] : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.imageSubobject f) โถ CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.imageSubobject g) - CategoryTheory.Limits.kernelSubobject_arrow' ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIso f).inv (CategoryTheory.Limits.kernelSubobject f).arrow = CategoryTheory.Limits.kernel.ฮน f - CategoryTheory.Limits.factorThruImageSubobject_comp_self ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] {W : C} (k : W โถ X) (h : (CategoryTheory.Limits.imageSubobject f).Factors (CategoryTheory.CategoryStruct.comp k f)) : (CategoryTheory.Limits.imageSubobject f).factorThru (CategoryTheory.CategoryStruct.comp k f) h = CategoryTheory.CategoryStruct.comp k (CategoryTheory.Limits.factorThruImageSubobject f) - CategoryTheory.Limits.kernelSubobjectMap_id ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X โถ Y} [CategoryTheory.Limits.HasKernel f] : CategoryTheory.Limits.kernelSubobjectMap (CategoryTheory.CategoryStruct.id (CategoryTheory.Arrow.mk f)) = CategoryTheory.CategoryStruct.id (CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject f)) - CategoryTheory.Limits.equalizerSubobject_arrow' ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobjectIso f g).inv (CategoryTheory.Limits.equalizerSubobject f g).arrow = CategoryTheory.Limits.equalizer.ฮน f g - CategoryTheory.Limits.imageSubobject_comp_le_epi_of_epi ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasEqualizers C] {X' : C} (h : X' โถ X) [CategoryTheory.Epi h] (f : X โถ Y) [CategoryTheory.Limits.HasImage f] [CategoryTheory.Limits.HasImage (CategoryTheory.CategoryStruct.comp h f)] : CategoryTheory.Epi ((CategoryTheory.Limits.imageSubobject (CategoryTheory.CategoryStruct.comp h f)).ofLE (CategoryTheory.Limits.imageSubobject f) โฏ) - CategoryTheory.Limits.isIso_kernelSubobject_zero_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] : CategoryTheory.IsIso (CategoryTheory.Limits.kernelSubobject 0).arrow - CategoryTheory.Limits.imageSubobject_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectIso f).hom (CategoryTheory.Limits.image.ฮน f) = (CategoryTheory.Limits.imageSubobject f).arrow - CategoryTheory.Limits.equalizerSubobject_arrow_comp ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow f = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow g - CategoryTheory.Limits.kernelSubobject_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIso f).hom (CategoryTheory.Limits.kernel.ฮน f) = (CategoryTheory.Limits.kernelSubobject f).arrow - CategoryTheory.Limits.kernelSubobject_comp_mono_isIso ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] {Z : C} (h : Y โถ Z) [CategoryTheory.Mono h] : CategoryTheory.IsIso ((CategoryTheory.Limits.kernelSubobject f).ofLE (CategoryTheory.Limits.kernelSubobject (CategoryTheory.CategoryStruct.comp f h)) โฏ) - CategoryTheory.Limits.equalizerSubobject_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobjectIso f g).hom (CategoryTheory.Limits.equalizer.ฮน f g) = (CategoryTheory.Limits.equalizerSubobject f g).arrow - CategoryTheory.Limits.equalizerSubobject_arrow_comp_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] {Z : C} (h : Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow (CategoryTheory.CategoryStruct.comp f h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow (CategoryTheory.CategoryStruct.comp g h) - CategoryTheory.Limits.imageSubobject_arrow'_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] {Z : C} (h : Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectIso f).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject f).arrow h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.image.ฮน f) h - CategoryTheory.Limits.factorThruKernelSubobject_comp_kernelSubobjectIso ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] {W : C} (h : W โถ X) (w : CategoryTheory.CategoryStruct.comp h f = 0) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.factorThruKernelSubobject f h w) (CategoryTheory.Limits.kernelSubobjectIso f).hom = CategoryTheory.Limits.kernel.lift f h w - CategoryTheory.Limits.kernelSubobject_arrow'_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] {Z : C} (h : X โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIso f).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject f).arrow h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.ฮน f) h - CategoryTheory.Limits.factorThruImageSubobject_comp_self_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] {W W' : C} (k : W โถ W') (k' : W' โถ X) (h : (CategoryTheory.Limits.imageSubobject f).Factors (CategoryTheory.CategoryStruct.comp k (CategoryTheory.CategoryStruct.comp k' f))) : (CategoryTheory.Limits.imageSubobject f).factorThru (CategoryTheory.CategoryStruct.comp k (CategoryTheory.CategoryStruct.comp k' f)) h = CategoryTheory.CategoryStruct.comp k (CategoryTheory.CategoryStruct.comp k' (CategoryTheory.Limits.factorThruImageSubobject f)) - CategoryTheory.Limits.le_kernelSubobject ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] (A : CategoryTheory.Subobject X) (h : CategoryTheory.CategoryStruct.comp A.arrow f = 0) : A โค CategoryTheory.Limits.kernelSubobject f - CategoryTheory.Limits.equalizerSubobject_arrow'_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] {Z : C} (h : X โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobjectIso f g).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ฮน f g) h - CategoryTheory.Limits.imageSubobject_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] {Z : C} (h : Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectIso f).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.image.ฮน f) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject f).arrow h - CategoryTheory.Limits.kernelSubobject_arrow_comp ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject f).arrow f = 0 - CategoryTheory.Limits.kernelSubobject_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] {Z : C} (h : X โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIso f).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.ฮน f) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject f).arrow h - CategoryTheory.Limits.equalizerSubobject_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] {Z : C} (h : X โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobjectIso f g).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ฮน f g) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow h - CategoryTheory.Limits.kernelSubobjectMap_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X โถ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' โถ Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk f') : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectMap sq) (CategoryTheory.Limits.kernelSubobject f').arrow = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject f).arrow (CategoryTheory.Arrow.Hom.left sq) - CategoryTheory.Limits.imageSubobjectMap_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W โถ X} [CategoryTheory.Limits.HasImage f] {g : Y โถ Z} [CategoryTheory.Limits.HasImage g] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk g) [CategoryTheory.Limits.HasImageMap sq] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectMap sq) (CategoryTheory.Limits.imageSubobject g).arrow = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject f).arrow (CategoryTheory.Arrow.Hom.right sq) - CategoryTheory.Limits.kernelSubobject_arrow_comp_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] {Z : C} (h : Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject f).arrow (CategoryTheory.CategoryStruct.comp f h) = CategoryTheory.CategoryStruct.comp 0 h - CategoryTheory.Limits.kernelSubobjectMap_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X โถ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' โถ Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk f') {Z : C} (h : X' โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectMap sq) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject f').arrow h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject f).arrow (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) h) - CategoryTheory.Limits.imageSubobject_arrow_comp_eq_zero ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y Z : C} {f : X โถ Y} {g : Y โถ Z} [CategoryTheory.Limits.HasImage f] [CategoryTheory.Epi (CategoryTheory.Limits.factorThruImageSubobject f)] (h : CategoryTheory.CategoryStruct.comp f g = 0) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject f).arrow g = 0 - CategoryTheory.Limits.imageSubobject_zero_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] : (CategoryTheory.Limits.imageSubobject 0).arrow = 0 - CategoryTheory.Limits.imageSubobjectCompIso_inv_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasEqualizers C] (f : X โถ Y) [CategoryTheory.Limits.HasImage f] {Y' : C} (h : Y โถ Y') [CategoryTheory.IsIso h] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectCompIso f h).inv (CategoryTheory.Limits.imageSubobject (CategoryTheory.CategoryStruct.comp f h)).arrow = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject f).arrow h - CategoryTheory.Limits.kernelSubobjectMap_comp ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X โถ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' โถ Y'} [CategoryTheory.Limits.HasKernel f'] {X'' Y'' : C} {f'' : X'' โถ Y''} [CategoryTheory.Limits.HasKernel f''] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk f') (sq' : CategoryTheory.Arrow.mk f' โถ CategoryTheory.Arrow.mk f'') : CategoryTheory.Limits.kernelSubobjectMap (CategoryTheory.CategoryStruct.comp sq sq') = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectMap sq) (CategoryTheory.Limits.kernelSubobjectMap sq') - CategoryTheory.Limits.imageSubobjectMap_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W โถ X} [CategoryTheory.Limits.HasImage f] {g : Y โถ Z} [CategoryTheory.Limits.HasImage g] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk g) [CategoryTheory.Limits.HasImageMap sq] {Zโ : C} (h : Z โถ Zโ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectMap sq) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject g).arrow h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject f).arrow (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right sq) h) - CategoryTheory.Limits.kernelSubobjectIsoComp_inv_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {X' : C} (f : X' โถ X) [CategoryTheory.IsIso f] (g : X โถ Y) [CategoryTheory.Limits.HasKernel g] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIsoComp f g).inv (CategoryTheory.Limits.kernelSubobject (CategoryTheory.CategoryStruct.comp f g)).arrow = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject g).arrow (CategoryTheory.inv f) - CategoryTheory.Limits.imageSubobjectCompIso_hom_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasEqualizers C] (f : X โถ Y) [CategoryTheory.Limits.HasImage f] {Y' : C} (h : Y โถ Y') [CategoryTheory.IsIso h] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectCompIso f h).hom (CategoryTheory.Limits.imageSubobject f).arrow = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject (CategoryTheory.CategoryStruct.comp f h)).arrow (CategoryTheory.inv h) - CategoryTheory.Limits.kernelSubobjectIsoComp_hom_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {X' : C} (f : X' โถ X) [CategoryTheory.IsIso f] (g : X โถ Y) [CategoryTheory.Limits.HasKernel g] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIsoComp f g).hom (CategoryTheory.Limits.kernelSubobject g).arrow = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject (CategoryTheory.CategoryStruct.comp f g)).arrow f - CategoryTheory.Limits.imageSubobject_arrow_comp_apply ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasImage f] {F : C โ C โ Type uF} {carrier : C โ Type w} {instFunLike : (X Y : C) โ FunLike (F X Y) (carrier X) (carrier Y)} [inst : CategoryTheory.ConcreteCategory C F] (x : carrier X) : (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.imageSubobject f).arrow) ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.factorThruImageSubobject f)) x) = (CategoryTheory.ConcreteCategory.hom f) x - CategoryTheory.Limits.imageSubobjectCompIso_inv_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasEqualizers C] (f : X โถ Y) [CategoryTheory.Limits.HasImage f] {Y' : C} (h : Y โถ Y') [CategoryTheory.IsIso h] {Z : C} (hโ : Y' โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectCompIso f h).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject (CategoryTheory.CategoryStruct.comp f h)).arrow hโ) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject f).arrow (CategoryTheory.CategoryStruct.comp h hโ) - CategoryTheory.Limits.imageSubobjectCompIso_hom_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasEqualizers C] (f : X โถ Y) [CategoryTheory.Limits.HasImage f] {Y' : C} (h : Y โถ Y') [CategoryTheory.IsIso h] {Z : C} (hโ : Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectCompIso f h).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject f).arrow hโ) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject (CategoryTheory.CategoryStruct.comp f h)).arrow (CategoryTheory.CategoryStruct.comp (CategoryTheory.inv h) hโ) - CategoryTheory.Limits.kernelSubobject_arrow'_apply ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] {F : C โ C โ Type uF} {carrier : C โ Type w} {instFunLike : (X Y : C) โ FunLike (F X Y) (carrier X) (carrier Y)} [inst : CategoryTheory.ConcreteCategory C F] (x : carrier (CategoryTheory.Limits.kernel f)) : (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobject f).arrow) ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobjectIso f).inv) x) = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernel.ฮน f)) x - CategoryTheory.Limits.kernelSubobject_arrow_apply ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] {F : C โ C โ Type uF} {carrier : C โ Type w} {instFunLike : (X Y : C) โ FunLike (F X Y) (carrier X) (carrier Y)} [inst : CategoryTheory.ConcreteCategory C F] (x : carrier (CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject f))) : (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernel.ฮน f)) ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobjectIso f).hom) x) = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobject f).arrow) x - CategoryTheory.Limits.kernelSubobject_arrow_comp_apply ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] (f : X โถ Y) [CategoryTheory.Limits.HasKernel f] {F : C โ C โ Type uF} {carrier : C โ Type w} {instFunLike : (X Y : C) โ FunLike (F X Y) (carrier X) (carrier Y)} [inst : CategoryTheory.ConcreteCategory C F] (x : carrier (CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject f))) : (CategoryTheory.ConcreteCategory.hom f) ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobject f).arrow) x) = (CategoryTheory.ConcreteCategory.hom 0) x - CategoryTheory.Limits.imageSubobjectIso_comp_image_map ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W โถ X} [CategoryTheory.Limits.HasImage f] {g : Y โถ Z} [CategoryTheory.Limits.HasImage g] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk g) [CategoryTheory.Limits.HasImageMap sq] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectIso (CategoryTheory.Arrow.mk f).hom).hom (CategoryTheory.Limits.image.map sq) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectMap sq) (CategoryTheory.Limits.imageSubobjectIso g).hom - CategoryTheory.Limits.image_map_comp_imageSubobjectIso_inv ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W โถ X} [CategoryTheory.Limits.HasImage f] {g : Y โถ Z} [CategoryTheory.Limits.HasImage g] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk g) [CategoryTheory.Limits.HasImageMap sq] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.image.map sq) (CategoryTheory.Limits.imageSubobjectIso (CategoryTheory.Arrow.mk g).hom).inv = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectIso f).inv (CategoryTheory.Limits.imageSubobjectMap sq) - CategoryTheory.Limits.kernelSubobjectIso_comp_kernel_map ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X โถ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' โถ Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk f') : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIso f).hom (CategoryTheory.Limits.kernel.map f f' sq.left sq.right โฏ) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectMap sq) (CategoryTheory.Limits.kernelSubobjectIso f').hom - CategoryTheory.Limits.kernel_map_comp_kernelSubobjectIso_inv ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X โถ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' โถ Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk f') : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.map f f' sq.left sq.right โฏ) (CategoryTheory.Limits.kernelSubobjectIso f').inv = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIso f).inv (CategoryTheory.Limits.kernelSubobjectMap sq) - CategoryTheory.Limits.kernelSubobjectMap_arrow_apply ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X โถ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' โถ Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk f') {F : C โ C โ Type uF} {carrier : C โ Type w} {instFunLike : (X Y : C) โ FunLike (F X Y) (carrier X) (carrier Y)} [inst : CategoryTheory.ConcreteCategory C F] (x : carrier (CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject f))) : (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobject f').arrow) ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobjectMap sq)) x) = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Arrow.Hom.left sq)) ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobject f).arrow) x) - CategoryTheory.Limits.kernelSubobjectIso_comp_kernel_map_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X โถ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' โถ Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk f') {Z : C} (h : CategoryTheory.Limits.kernel f' โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIso f).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.map f f' sq.left sq.right โฏ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectMap sq) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIso f').hom h) - CategoryTheory.Limits.kernel_map_comp_kernelSubobjectIso_inv_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X โถ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' โถ Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f โถ CategoryTheory.Arrow.mk f') {Z : C} (h : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject f') โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.map f f' sq.left sq.right โฏ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIso f').inv h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectIso f).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectMap sq) h) - imageToKernel ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) [CategoryTheory.Limits.HasImage f] (g : B โถ C) [CategoryTheory.Limits.HasKernel g] (w : CategoryTheory.CategoryStruct.comp f g = 0) : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.imageSubobject f) โถ CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject g) - instMonoImageToKernel ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) [CategoryTheory.Limits.HasImage f] (g : B โถ C) [CategoryTheory.Limits.HasKernel g] (w : CategoryTheory.CategoryStruct.comp f g = 0) : CategoryTheory.Mono (imageToKernel f g w) - imageToKernel_epi_of_zero_of_mono ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (g : B โถ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasZeroObject V] [CategoryTheory.Mono g] : CategoryTheory.Epi (imageToKernel 0 g โฏ) - subobject_ofLE_as_imageToKernel ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) [CategoryTheory.Limits.HasImage f] (g : B โถ C) [CategoryTheory.Limits.HasKernel g] (w : CategoryTheory.CategoryStruct.comp f g = 0) (h : CategoryTheory.Limits.imageSubobject f โค CategoryTheory.Limits.kernelSubobject g) : (CategoryTheory.Limits.imageSubobject f).ofLE (CategoryTheory.Limits.kernelSubobject g) h = imageToKernel f g w - factorThruImageSubobject_comp_imageToKernel ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) [CategoryTheory.Limits.HasImage f] (g : B โถ C) [CategoryTheory.Limits.HasKernel g] (w : CategoryTheory.CategoryStruct.comp f g = 0) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.factorThruImageSubobject f) (imageToKernel f g w) = CategoryTheory.Limits.factorThruKernelSubobject g f w - imageToKernel_arrow ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) [CategoryTheory.Limits.HasImage f] (g : B โถ C) [CategoryTheory.Limits.HasKernel g] (w : CategoryTheory.CategoryStruct.comp f g = 0) : CategoryTheory.CategoryStruct.comp (imageToKernel f g w) (CategoryTheory.Limits.kernelSubobject g).arrow = (CategoryTheory.Limits.imageSubobject f).arrow - imageToKernel_epi_of_epi_of_zero ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) [CategoryTheory.Limits.HasImages V] [CategoryTheory.Epi f] : CategoryTheory.Epi (imageToKernel f 0 โฏ) - imageToKernel_arrow_assoc ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) [CategoryTheory.Limits.HasImage f] (g : B โถ C) [CategoryTheory.Limits.HasKernel g] (w : CategoryTheory.CategoryStruct.comp f g = 0) {Z : V} (h : B โถ Z) : CategoryTheory.CategoryStruct.comp (imageToKernel f g w) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject g).arrow h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject f).arrow h - imageSubobjectIso_imageToKernel' ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) (g : B โถ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] (w : CategoryTheory.CategoryStruct.comp f g = 0) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectIso f).hom (imageToKernel' f g w) = CategoryTheory.CategoryStruct.comp (imageToKernel f g w) (CategoryTheory.Limits.kernelSubobjectIso g).hom - imageToKernel'_kernelSubobjectIso ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) (g : B โถ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] (w : CategoryTheory.CategoryStruct.comp f g = 0) : CategoryTheory.CategoryStruct.comp (imageToKernel' f g w) (CategoryTheory.Limits.kernelSubobjectIso g).inv = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectIso f).inv (imageToKernel f g w) - imageToKernel_comp_left ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) (g : B โถ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] {Z : V} (h : Z โถ A) (w : CategoryTheory.CategoryStruct.comp f g = 0) : imageToKernel (CategoryTheory.CategoryStruct.comp h f) g โฏ = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.imageSubobject (CategoryTheory.CategoryStruct.comp h f)).ofLE (CategoryTheory.Limits.imageSubobject f) โฏ) (imageToKernel f g w) - imageToKernel_comp_right ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) (g : B โถ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] {D : V} (h : C โถ D) (w : CategoryTheory.CategoryStruct.comp f g = 0) : imageToKernel f (CategoryTheory.CategoryStruct.comp g h) โฏ = CategoryTheory.CategoryStruct.comp (imageToKernel f g w) ((CategoryTheory.Limits.kernelSubobject g).ofLE (CategoryTheory.Limits.kernelSubobject (CategoryTheory.CategoryStruct.comp g h)) โฏ) - imageToKernel_zero_left ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (g : B โถ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasZeroObject V] {w : CategoryTheory.CategoryStruct.comp 0 g = 0} : imageToKernel 0 g w = 0 - imageToKernel_zero_right ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) [CategoryTheory.Limits.HasImages V] {w : CategoryTheory.CategoryStruct.comp f 0 = 0} : imageToKernel f 0 w = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobject f).arrow (CategoryTheory.inv (CategoryTheory.Limits.kernelSubobject 0).arrow) - imageToKernel_epi_comp ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) (g : B โถ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] {Z : V} (h : Z โถ A) [CategoryTheory.Epi h] (w : CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp h f) g = 0) : imageToKernel (CategoryTheory.CategoryStruct.comp h f) g w = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.imageSubobject (CategoryTheory.CategoryStruct.comp h f)).ofLE (CategoryTheory.Limits.imageSubobject f) โฏ) (imageToKernel f g โฏ) - imageToKernel_comp_mono ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) (g : B โถ C) [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] {D : V} (h : C โถ D) [CategoryTheory.Mono h] (w : CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp g h) = 0) : imageToKernel f (CategoryTheory.CategoryStruct.comp g h) w = CategoryTheory.CategoryStruct.comp (imageToKernel f g โฏ) ((CategoryTheory.Limits.kernelSubobject (CategoryTheory.CategoryStruct.comp g h)).isoOfEq (CategoryTheory.Limits.kernelSubobject g) โฏ).inv - imageToKernel_arrow_apply ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) [CategoryTheory.Limits.HasImage f] (g : B โถ C) [CategoryTheory.Limits.HasKernel g] (w : CategoryTheory.CategoryStruct.comp f g = 0) {F : V โ V โ Type uF} {carrier : V โ Type w} {instFunLike : (X Y : V) โ FunLike (F X Y) (carrier X) (carrier Y)} [inst : CategoryTheory.ConcreteCategory V F] (x : carrier (CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.imageSubobject f))) : (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobject g).arrow) ((CategoryTheory.ConcreteCategory.hom (imageToKernel f g w)) x) = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.imageSubobject f).arrow) x - imageToKernel_comp_hom_inv_comp ๐ Mathlib.Algebra.Homology.ImageToKernel
{V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {A B C : V} (f : A โถ B) (g : B โถ C) [CategoryTheory.Limits.HasEqualizers V] [CategoryTheory.Limits.HasImages V] {Z : V} {i : B โ Z} (w : CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp f i.hom) (CategoryTheory.CategoryStruct.comp i.inv g) = 0) : imageToKernel (CategoryTheory.CategoryStruct.comp f i.hom) (CategoryTheory.CategoryStruct.comp i.inv g) w = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectCompIso f i.hom).hom (CategoryTheory.CategoryStruct.comp (imageToKernel f g โฏ) (CategoryTheory.Limits.kernelSubobjectIsoComp i.inv g).inv) - CategoryTheory.ShortComplex.Exact.isIso_imageToKernel ๐ Mathlib.CategoryTheory.Abelian.Exact
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) (hS : S.Exact) : CategoryTheory.IsIso (imageToKernel S.f S.g โฏ) - CategoryTheory.ShortComplex.exact_iff_epi_imageToKernel ๐ Mathlib.CategoryTheory.Abelian.Exact
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) : S.Exact โ CategoryTheory.Epi (imageToKernel S.f S.g โฏ) - CategoryTheory.ShortComplex.exact_iff_isIso_imageToKernel ๐ Mathlib.CategoryTheory.Abelian.Exact
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) : S.Exact โ CategoryTheory.IsIso (imageToKernel S.f S.g โฏ) - CategoryTheory.StructuredArrow.liftSubobject ๐ Mathlib.CategoryTheory.Subobject.Comma
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {S : D} {T : CategoryTheory.Functor C D} {A : CategoryTheory.StructuredArrow S T} (P : CategoryTheory.Subobject A.right) {q : S โถ T.obj (CategoryTheory.Subobject.underlying.obj P)} (hq : CategoryTheory.CategoryStruct.comp q (T.map P.arrow) = A.hom) : CategoryTheory.Subobject A - CategoryTheory.StructuredArrow.lift_projectSubobject ๐ Mathlib.CategoryTheory.Subobject.Comma
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {S : D} {T : CategoryTheory.Functor C D} [CategoryTheory.Limits.HasFiniteLimits C] [CategoryTheory.Limits.PreservesFiniteLimits T] {A : CategoryTheory.StructuredArrow S T} (P : CategoryTheory.Subobject A) {q : S โถ T.obj (CategoryTheory.Subobject.underlying.obj (CategoryTheory.StructuredArrow.projectSubobject P))} (hq : CategoryTheory.CategoryStruct.comp q (T.map (CategoryTheory.StructuredArrow.projectSubobject P).arrow) = A.hom) : CategoryTheory.StructuredArrow.liftSubobject (CategoryTheory.StructuredArrow.projectSubobject P) hq = P - CategoryTheory.StructuredArrow.projectSubobject_factors ๐ Mathlib.CategoryTheory.Subobject.Comma
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {S : D} {T : CategoryTheory.Functor C D} [CategoryTheory.Limits.HasFiniteLimits C] [CategoryTheory.Limits.PreservesFiniteLimits T] {A : CategoryTheory.StructuredArrow S T} (P : CategoryTheory.Subobject A) : โ q, CategoryTheory.CategoryStruct.comp q (T.map (CategoryTheory.StructuredArrow.projectSubobject P).arrow) = A.hom - CategoryTheory.CostructuredArrow.liftQuotient ๐ Mathlib.CategoryTheory.Subobject.Comma
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {S : CategoryTheory.Functor C D} {T : D} {A : CategoryTheory.CostructuredArrow S T} (P : CategoryTheory.Subobject (Opposite.op A.left)) {q : S.obj (Opposite.unop (CategoryTheory.Subobject.underlying.obj P)) โถ T} (hq : CategoryTheory.CategoryStruct.comp (S.map P.arrow.unop) q = A.hom) : CategoryTheory.Subobject (Opposite.op A) - CategoryTheory.CostructuredArrow.lift_projectQuotient ๐ Mathlib.CategoryTheory.Subobject.Comma
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {S : CategoryTheory.Functor C D} {T : D} [CategoryTheory.Limits.HasFiniteColimits C] [CategoryTheory.Limits.PreservesFiniteColimits S] {A : CategoryTheory.CostructuredArrow S T} (P : CategoryTheory.Subobject (Opposite.op A)) {q : S.obj (Opposite.unop (CategoryTheory.Subobject.underlying.obj (CategoryTheory.CostructuredArrow.projectQuotient P))) โถ T} (hq : CategoryTheory.CategoryStruct.comp (S.map (CategoryTheory.CostructuredArrow.projectQuotient P).arrow.unop) q = A.hom) : CategoryTheory.CostructuredArrow.liftQuotient (CategoryTheory.CostructuredArrow.projectQuotient P) hq = P - CategoryTheory.CostructuredArrow.projectQuotient_factors ๐ Mathlib.CategoryTheory.Subobject.Comma
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {S : CategoryTheory.Functor C D} {T : D} [CategoryTheory.Limits.HasFiniteColimits C] [CategoryTheory.Limits.PreservesFiniteColimits S] {A : CategoryTheory.CostructuredArrow S T} (P : CategoryTheory.Subobject (Opposite.op A)) : โ q, CategoryTheory.CategoryStruct.comp (S.map (CategoryTheory.CostructuredArrow.projectQuotient P).arrow.unop) q = A.hom - CategoryTheory.StructuredArrow.subobjectEquiv ๐ Mathlib.CategoryTheory.Subobject.Comma
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {S : D} {T : CategoryTheory.Functor C D} [CategoryTheory.Limits.HasFiniteLimits C] [CategoryTheory.Limits.PreservesFiniteLimits T] (A : CategoryTheory.StructuredArrow S T) : CategoryTheory.Subobject A โo { P // โ q, CategoryTheory.CategoryStruct.comp q (T.map P.arrow) = A.hom } - CategoryTheory.CostructuredArrow.quotientEquiv ๐ Mathlib.CategoryTheory.Subobject.Comma
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {S : CategoryTheory.Functor C D} {T : D} [CategoryTheory.Limits.HasFiniteColimits C] [CategoryTheory.Limits.PreservesFiniteColimits S] (A : CategoryTheory.CostructuredArrow S T) : CategoryTheory.Subobject (Opposite.op A) โo { P // โ q, CategoryTheory.CategoryStruct.comp (S.map P.arrow.unop) q = A.hom } - CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop ๐ Mathlib.CategoryTheory.Subobject.Comma
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {S : CategoryTheory.Functor C D} {T : D} {A : CategoryTheory.CostructuredArrow S T} {P : (CategoryTheory.CostructuredArrow S T)แตแต} (f : P โถ Opposite.op A) [CategoryTheory.Mono f.unop.left.op] : CategoryTheory.CategoryStruct.comp f.unop.left (CategoryTheory.Subobject.underlyingIso f.unop.left.op).hom.unop = (CategoryTheory.Subobject.mk f.unop.left.op).arrow.unop - ModuleCat.toKernelSubobject ๐ Mathlib.Algebra.Category.ModuleCat.Subobject
{R : Type u} [Ring R] {M N : ModuleCat R} {f : M โถ N} : โฅ(ModuleCat.Hom.hom f).ker โโ[R] โ(CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject f)) - ModuleCat.cokernel_ฯ_imageSubobject_ext ๐ Mathlib.Algebra.Category.ModuleCat.Subobject
{R : Type u} [Ring R] {L M N : ModuleCat R} (f : L โถ M) [CategoryTheory.Limits.HasImage f] (g : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.imageSubobject f) โถ N) [CategoryTheory.Limits.HasCokernel g] {x y : โN} (l : โL) (w : x = y + (CategoryTheory.ConcreteCategory.hom g) ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.factorThruImageSubobject f)) l)) : (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.cokernel.ฯ g)) x = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.cokernel.ฯ g)) y - ModuleCat.toKernelSubobject_arrow ๐ Mathlib.Algebra.Category.ModuleCat.Subobject
{R : Type u} [Ring R] {M N : ModuleCat R} {f : M โถ N} (x : โฅ(ModuleCat.Hom.hom f).ker) : (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobject f).arrow) (ModuleCat.toKernelSubobject x) = โx - imageToKernel_unop ๐ Mathlib.Algebra.Homology.Opposite
{V : Type u_1} [CategoryTheory.Category.{v_1, u_1} V] [CategoryTheory.Abelian V] {X Y Z : Vแตแต} (f : X โถ Y) (g : Y โถ Z) (w : CategoryTheory.CategoryStruct.comp f g = 0) : imageToKernel g.unop f.unop โฏ = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectIso g.unop โชโซ (CategoryTheory.imageUnopUnop g).symm).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.cokernel.desc f (CategoryTheory.Limits.factorThruImage g) โฏ).unop (CategoryTheory.Limits.kernelSubobjectIso f.unop โชโซ CategoryTheory.kernelUnopUnop f).inv) - imageToKernel_op ๐ Mathlib.Algebra.Homology.Opposite
{V : Type u_1} [CategoryTheory.Category.{v_1, u_1} V] [CategoryTheory.Abelian V] {X Y Z : V} (f : X โถ Y) (g : Y โถ Z) (w : CategoryTheory.CategoryStruct.comp f g = 0) : imageToKernel g.op f.op โฏ = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.imageSubobjectIso g.op โชโซ (CategoryTheory.imageOpOp g).symm).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.cokernel.desc f (CategoryTheory.Limits.factorThruImage g) โฏ).op (CategoryTheory.Limits.kernelSubobjectIso f.op โชโซ CategoryTheory.kernelOpOp f).inv)
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