Loogle!
Result
Found 195 declarations mentioning CategoryTheory.StructuredArrow.right.
- CategoryTheory.StructuredArrow.right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (X : CategoryTheory.StructuredArrow S T) : C - CategoryTheory.StructuredArrow.hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (X : CategoryTheory.StructuredArrow S T) : S ⟶ T.obj X.right - CategoryTheory.StructuredArrow.mk_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y : C} {T : CategoryTheory.Functor C D} (f : S ⟶ T.obj Y) : (CategoryTheory.StructuredArrow.mk f).right = Y - CategoryTheory.StructuredArrow.eq_mk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : f = CategoryTheory.StructuredArrow.mk f.hom - CategoryTheory.StructuredArrow.IsUniversal.desc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) (g : CategoryTheory.StructuredArrow S T) : f.right ⟶ g.right - CategoryTheory.StructuredArrow.eta 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : f ≅ CategoryTheory.StructuredArrow.mk f.hom - CategoryTheory.StructuredArrow.mk_hom_eq_self 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y : C} {T : CategoryTheory.Functor C D} (f : S ⟶ T.obj Y) : (CategoryTheory.StructuredArrow.mk f).hom = f - CategoryTheory.StructuredArrow.Hom.right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) : X.right ⟶ Y.right - CategoryTheory.StructuredArrow.id_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (X : CategoryTheory.StructuredArrow S T) : CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.CategoryStruct.id X) = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.epi_of_epi_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f : A ⟶ B) [h : CategoryTheory.Epi (CategoryTheory.StructuredArrow.Hom.right f)] : CategoryTheory.Epi f - CategoryTheory.StructuredArrow.mono_of_mono_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f : A ⟶ B) [h : CategoryTheory.Mono (CategoryTheory.StructuredArrow.Hom.right f)] : CategoryTheory.Mono f - CategoryTheory.StructuredArrow.eqToHom_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (h : X = Y) : CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.eqToHom h) = CategoryTheory.eqToHom ⋯ - CategoryTheory.StructuredArrow.homMk' 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y' : C} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) (g : f.right ⟶ Y') : f ⟶ CategoryTheory.StructuredArrow.mk (CategoryTheory.CategoryStruct.comp f.hom (T.map g)) - CategoryTheory.StructuredArrow.IsUniversal.hom_desc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) {c : C} (η : f.right ⟶ c) : η = h.desc (CategoryTheory.StructuredArrow.mk (CategoryTheory.CategoryStruct.comp f.hom (T.map η))) - CategoryTheory.StructuredArrow.homMk'_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y' : C} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) (g : f.right ⟶ Y') : (f.homMk' g).right = g - CategoryTheory.StructuredArrow.IsUniversal.fac 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) (g : CategoryTheory.StructuredArrow S T) : CategoryTheory.CategoryStruct.comp f.hom (T.map (h.desc g)) = g.hom - CategoryTheory.StructuredArrow.w 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) : CategoryTheory.CategoryStruct.comp X.hom (T.map (CategoryTheory.StructuredArrow.Hom.right f)) = Y.hom - CategoryTheory.StructuredArrow.Hom.w 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) : CategoryTheory.CategoryStruct.comp X.hom (T.map (CategoryTheory.StructuredArrow.Hom.right f)) = Y.hom - CategoryTheory.StructuredArrow.preEquivalence 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G) ≌ CategoryTheory.StructuredArrow f.right F - CategoryTheory.StructuredArrow.preEquivalenceFunctor 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : CategoryTheory.Functor (CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)) (CategoryTheory.StructuredArrow f.right F) - CategoryTheory.StructuredArrow.preEquivalenceInverse 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : CategoryTheory.Functor (CategoryTheory.StructuredArrow f.right F) (CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)) - CategoryTheory.StructuredArrow.obj_ext 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (x y : CategoryTheory.StructuredArrow S T) (hr : x.right = y.right) (hh : CategoryTheory.CategoryStruct.comp x.hom (T.map (CategoryTheory.eqToHom hr)) = y.hom) : x = y - CategoryTheory.StructuredArrow.ext 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f g : A ⟶ B) : CategoryTheory.StructuredArrow.Hom.right f = CategoryTheory.StructuredArrow.Hom.right g → f = g - CategoryTheory.StructuredArrow.hom_ext 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f g : X ⟶ Y) (h : CategoryTheory.StructuredArrow.Hom.right f = CategoryTheory.StructuredArrow.Hom.right g) : f = g - CategoryTheory.StructuredArrow.ext_iff 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f g : A ⟶ B) : f = g ↔ CategoryTheory.StructuredArrow.Hom.right f = CategoryTheory.StructuredArrow.Hom.right g - CategoryTheory.StructuredArrow.hom_eq_iff 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f g : X ⟶ Y) : f = g ↔ CategoryTheory.StructuredArrow.Hom.right f = CategoryTheory.StructuredArrow.Hom.right g - CategoryTheory.StructuredArrow.hom_ext_iff 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} {f g : X ⟶ Y} : f = g ↔ CategoryTheory.StructuredArrow.Hom.right f = CategoryTheory.StructuredArrow.Hom.right g - CategoryTheory.StructuredArrow.post_obj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (S : C) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) (X : CategoryTheory.StructuredArrow S F) : (CategoryTheory.StructuredArrow.post S F G).obj X = CategoryTheory.StructuredArrow.mk (G.map X.hom) - CategoryTheory.StructuredArrow.IsUniversal.existsUnique 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) (g : CategoryTheory.StructuredArrow S T) : ∃! η, CategoryTheory.CategoryStruct.comp f.hom (T.map η) = g.hom - CategoryTheory.StructuredArrow.isoMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (g : f.right ≅ f'.right) (w : CategoryTheory.CategoryStruct.comp f.hom (T.map g.hom) = f'.hom := by cat_disch) : f ≅ f' - CategoryTheory.StructuredArrow.homMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (g : f.right ⟶ f'.right) (w : CategoryTheory.CategoryStruct.comp f.hom (T.map g) = f'.hom := by cat_disch) : f ⟶ f' - CategoryTheory.StructuredArrow.eta_hom_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : f.eta.hom.right = CategoryTheory.CategoryStruct.id f.right - CategoryTheory.StructuredArrow.eta_inv_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : f.eta.inv.right = CategoryTheory.CategoryStruct.id f.right - CategoryTheory.StructuredArrow.homMk'_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y' : C} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) (g : f.right ⟶ Y') : (f.homMk' g).left = CategoryTheory.CategoryStruct.id f.left - CategoryTheory.StructuredArrow.epi_homMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f : A.right ⟶ B.right) (w : CategoryTheory.CategoryStruct.comp A.hom (T.map f) = B.hom) [h : CategoryTheory.Epi f] : CategoryTheory.Epi (CategoryTheory.StructuredArrow.homMk f w) - CategoryTheory.StructuredArrow.mono_homMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f : A.right ⟶ B.right) (w : CategoryTheory.CategoryStruct.comp A.hom (T.map f) = B.hom) [h : CategoryTheory.Mono f] : CategoryTheory.Mono (CategoryTheory.StructuredArrow.homMk f w) - CategoryTheory.StructuredArrow.IsUniversal.fac_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) (g : CategoryTheory.StructuredArrow S T) {Z : D} (h✝ : T.obj g.right ⟶ Z) : CategoryTheory.CategoryStruct.comp f.hom (CategoryTheory.CategoryStruct.comp (T.map (h.desc g)) h✝) = CategoryTheory.CategoryStruct.comp g.hom h✝ - CategoryTheory.StructuredArrow.toCostructuredArrow_obj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) (d : D) (X : (CategoryTheory.StructuredArrow d F)ᵒᵖ) : (CategoryTheory.StructuredArrow.toCostructuredArrow F d).obj X = CategoryTheory.CostructuredArrow.mk (Opposite.unop X).hom.op - CategoryTheory.StructuredArrow.IsUniversal.hom_ext 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) {c : C} {η η' : f.right ⟶ c} (w : CategoryTheory.CategoryStruct.comp f.hom (T.map η) = CategoryTheory.CategoryStruct.comp f.hom (T.map η')) : η = η' - CategoryTheory.StructuredArrow.homMk_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (g : f.right ⟶ f'.right) (w : CategoryTheory.CategoryStruct.comp f.hom (T.map g) = f'.hom := by cat_disch) : (CategoryTheory.StructuredArrow.homMk g w).right = g - CategoryTheory.StructuredArrow.comp_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y Z : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) (g : Y ⟶ Z) : CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.Hom.right f) (CategoryTheory.StructuredArrow.Hom.right g) - CategoryTheory.StructuredArrow.w_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) {Z : D} (h : T.obj Y.right ⟶ Z) : CategoryTheory.CategoryStruct.comp X.hom (CategoryTheory.CategoryStruct.comp (T.map (CategoryTheory.StructuredArrow.Hom.right f)) h) = CategoryTheory.CategoryStruct.comp Y.hom h - CategoryTheory.StructuredArrow.Hom.w_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) {Z : D} (h : T.obj Y.right ⟶ Z) : CategoryTheory.CategoryStruct.comp X.hom (CategoryTheory.CategoryStruct.comp (T.map (CategoryTheory.StructuredArrow.Hom.right f)) h) = CategoryTheory.CategoryStruct.comp Y.hom h - CategoryTheory.StructuredArrow.comp_right_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y Z : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) (g : Y ⟶ Z) {Z✝ : C} (h : Z.right ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.CategoryStruct.comp f g)) h = CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.Hom.right f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.Hom.right g) h) - CategoryTheory.StructuredArrow.preEquivalenceFunctor_obj_left_as 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)) : ((CategoryTheory.StructuredArrow.preEquivalenceFunctor F f).obj g).left.as = PUnit.unit - CategoryTheory.StructuredArrow.preEquivalenceInverse_obj_left_as 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f.right F) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).obj g).left.as = PUnit.unit - CategoryTheory.StructuredArrow.isoMk_hom_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (g : f.right ≅ f'.right) (w : CategoryTheory.CategoryStruct.comp f.hom (T.map g.hom) = f'.hom := by cat_disch) : (CategoryTheory.StructuredArrow.isoMk g w).hom.right = g.hom - CategoryTheory.StructuredArrow.isoMk_inv_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (g : f.right ≅ f'.right) (w : CategoryTheory.CategoryStruct.comp f.hom (T.map g.hom) = f'.hom := by cat_disch) : (CategoryTheory.StructuredArrow.isoMk g w).inv.right = g.inv - CategoryTheory.StructuredArrow.toCostructuredArrow'_obj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) (d : D) (X : (CategoryTheory.StructuredArrow (Opposite.op d) F.op)ᵒᵖ) : (CategoryTheory.StructuredArrow.toCostructuredArrow' F d).obj X = CategoryTheory.CostructuredArrow.mk (Opposite.unop X).hom.unop - CategoryTheory.StructuredArrow.preEquivalenceInverse_obj_right_left_as 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f.right F) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).obj g).right.left.as = PUnit.unit - CategoryTheory.StructuredArrow.homMk'_id 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : f.homMk' (CategoryTheory.CategoryStruct.id f.right) = CategoryTheory.eqToHom ⋯ - CategoryTheory.StructuredArrow.preEquivalenceInverse_obj_right_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f.right F) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).obj g).right.right = g.right - CategoryTheory.StructuredArrow.homMk'_mk_id 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y : C} {T : CategoryTheory.Functor C D} (f : S ⟶ T.obj Y) : (CategoryTheory.StructuredArrow.mk f).homMk' (CategoryTheory.CategoryStruct.id Y) = CategoryTheory.eqToHom ⋯ - CategoryTheory.StructuredArrow.preEquivalence_functor 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : (CategoryTheory.StructuredArrow.preEquivalence F f).functor = CategoryTheory.StructuredArrow.preEquivalenceFunctor F f - CategoryTheory.StructuredArrow.preEquivalence_inverse 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : (CategoryTheory.StructuredArrow.preEquivalence F f).inverse = CategoryTheory.StructuredArrow.preEquivalenceInverse F f - CategoryTheory.StructuredArrow.preEquivalenceFunctor_obj_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)) : ((CategoryTheory.StructuredArrow.preEquivalenceFunctor F f).obj g).right = g.right.right - CategoryTheory.StructuredArrow.homMk_surjective 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (φ : f ⟶ f') : ∃ ψ, ∃ (hψ : CategoryTheory.CategoryStruct.comp f.hom (T.map ψ) = f'.hom), φ = CategoryTheory.StructuredArrow.homMk ψ hψ - CategoryTheory.StructuredArrow.preEquivalenceInverse_obj_right_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f.right F) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).obj g).right.hom = CategoryTheory.CategoryStruct.comp f.hom (G.map g.hom) - CategoryTheory.StructuredArrow.post_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (S : C) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) {X✝ Y✝ : CategoryTheory.StructuredArrow S F} (f : X✝ ⟶ Y✝) : (CategoryTheory.StructuredArrow.post S F G).map f = CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right f) ⋯ - CategoryTheory.StructuredArrow.prodInverse_obj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') (f : CategoryTheory.StructuredArrow S T × CategoryTheory.StructuredArrow S' T') : (CategoryTheory.StructuredArrow.prodInverse S S' T T').obj f = CategoryTheory.StructuredArrow.mk (f.1.hom, f.2.hom) - CategoryTheory.StructuredArrow.preEquivalenceInverse_obj_hom_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f.right F) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).obj g).hom.right = g.hom - CategoryTheory.StructuredArrow.preEquivalenceFunctor_obj_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)) : ((CategoryTheory.StructuredArrow.preEquivalenceFunctor F f).obj g).hom = CategoryTheory.StructuredArrow.Hom.right g.hom - CategoryTheory.StructuredArrow.prodFunctor_obj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') (f : CategoryTheory.StructuredArrow (S, S') (T.prod T')) : (CategoryTheory.StructuredArrow.prodFunctor S S' T T').obj f = (CategoryTheory.StructuredArrow.mk f.hom.1, CategoryTheory.StructuredArrow.mk f.hom.2) - CategoryTheory.StructuredArrow.toCostructuredArrow_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) (d : D) {X✝ Y✝ : (CategoryTheory.StructuredArrow d F)ᵒᵖ} (f : X✝ ⟶ Y✝) : (CategoryTheory.StructuredArrow.toCostructuredArrow F d).map f = CategoryTheory.CostructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right f.unop).op ⋯ - CategoryTheory.StructuredArrow.map₂IsoPreEquivalenceInverseCompProj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {T : CategoryTheory.Functor C D} {S : CategoryTheory.Functor D E} {T' : CategoryTheory.Functor C E} (d : D) (e : E) (u : e ⟶ S.obj d) (α : T.comp S ⟶ T') : CategoryTheory.StructuredArrow.map₂ u α ≅ (CategoryTheory.StructuredArrow.preEquivalence T (CategoryTheory.StructuredArrow.mk u)).inverse.comp ((CategoryTheory.StructuredArrow.proj (CategoryTheory.StructuredArrow.mk u) (CategoryTheory.StructuredArrow.pre e T S)).comp (CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.id e) α)) - CategoryTheory.StructuredArrow.map₂Congr_hom_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : L' ⟶ G'.obj L) (β' : R.comp G' ⟶ F'.comp R') (hα : α = CategoryTheory.CategoryStruct.comp α' (e₂.inv.app L) := by cat_disch) (hβ : CategoryTheory.CategoryStruct.comp β (CategoryTheory.Functor.whiskerRight e₁.hom R') = CategoryTheory.CategoryStruct.comp (R.whiskerLeft e₂.hom) β' := by cat_disch) (X : CategoryTheory.StructuredArrow L R) : ((CategoryTheory.StructuredArrow.map₂Congr α β e₁ e₂ α' β' hα hβ).hom.app X).right = e₁.hom.app X.right - CategoryTheory.StructuredArrow.map₂Congr_inv_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : L' ⟶ G'.obj L) (β' : R.comp G' ⟶ F'.comp R') (hα : α = CategoryTheory.CategoryStruct.comp α' (e₂.inv.app L) := by cat_disch) (hβ : CategoryTheory.CategoryStruct.comp β (CategoryTheory.Functor.whiskerRight e₁.hom R') = CategoryTheory.CategoryStruct.comp (R.whiskerLeft e₂.hom) β' := by cat_disch) (X : CategoryTheory.StructuredArrow L R) : ((CategoryTheory.StructuredArrow.map₂Congr α β e₁ e₂ α' β' hα hβ).inv.app X).right = e₁.inv.app X.right - CategoryTheory.StructuredArrow.w_prod_fst 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X Y : CategoryTheory.StructuredArrow (S, S') (T.prod T')} (f : X ⟶ Y) : CategoryTheory.CategoryStruct.comp X.hom.1 (T.map (CategoryTheory.StructuredArrow.Hom.right f).1) = Y.hom.1 - CategoryTheory.StructuredArrow.w_prod_snd 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X Y : CategoryTheory.StructuredArrow (S, S') (T.prod T')} (f : X ⟶ Y) : CategoryTheory.CategoryStruct.comp X.hom.2 (T'.map (CategoryTheory.StructuredArrow.Hom.right f).2) = Y.hom.2 - CategoryTheory.StructuredArrow.homMk'_comp 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y' Y'' : C} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) (g : f.right ⟶ Y') (g' : Y' ⟶ Y'') : f.homMk' (CategoryTheory.CategoryStruct.comp g g') = CategoryTheory.CategoryStruct.comp (f.homMk' g) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.mk (CategoryTheory.CategoryStruct.comp f.hom (T.map g))).homMk' g') (CategoryTheory.eqToHom ⋯)) - CategoryTheory.StructuredArrow.w_prod_fst_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X Y : CategoryTheory.StructuredArrow (S, S') (T.prod T')} (f : X ⟶ Y) {Z : D} (h : T.obj Y.right.1 ⟶ Z) : CategoryTheory.CategoryStruct.comp X.hom.1 (CategoryTheory.CategoryStruct.comp (T.map (CategoryTheory.StructuredArrow.Hom.right f).1) h) = CategoryTheory.CategoryStruct.comp Y.hom.1 h - CategoryTheory.StructuredArrow.w_prod_snd_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X Y : CategoryTheory.StructuredArrow (S, S') (T.prod T')} (f : X ⟶ Y) {Z : D'} (h : T'.obj Y.right.2 ⟶ Z) : CategoryTheory.CategoryStruct.comp X.hom.2 (CategoryTheory.CategoryStruct.comp (T'.map (CategoryTheory.StructuredArrow.Hom.right f).2) h) = CategoryTheory.CategoryStruct.comp Y.hom.2 h - CategoryTheory.StructuredArrow.toCostructuredArrow'_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) (d : D) {X✝ Y✝ : (CategoryTheory.StructuredArrow (Opposite.op d) F.op)ᵒᵖ} (f : X✝ ⟶ Y✝) : (CategoryTheory.StructuredArrow.toCostructuredArrow' F d).map f = CategoryTheory.CostructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right f.unop).unop ⋯ - CategoryTheory.StructuredArrow.homMk'_mk_comp 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y Y' Y'' : C} {T : CategoryTheory.Functor C D} (f : S ⟶ T.obj Y) (g : Y ⟶ Y') (g' : Y' ⟶ Y'') : (CategoryTheory.StructuredArrow.mk f).homMk' (CategoryTheory.CategoryStruct.comp g g') = CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.mk f).homMk' g) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.mk (CategoryTheory.CategoryStruct.comp f (T.map g))).homMk' g') (CategoryTheory.eqToHom ⋯)) - CategoryTheory.StructuredArrow.preEquivalenceFunctor_map_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) {X✝ Y✝ : CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)} (φ : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.preEquivalenceFunctor F f).map φ).right = CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.StructuredArrow.Hom.right φ) - CategoryTheory.StructuredArrow.preEquivalence_counitIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : (CategoryTheory.StructuredArrow.preEquivalence F f).counitIso = CategoryTheory.NatIso.ofComponents (fun x => CategoryTheory.StructuredArrow.isoMk (CategoryTheory.Iso.refl (((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).comp (CategoryTheory.StructuredArrow.preEquivalenceFunctor F f)).obj x).right) ⋯) ⋯ - CategoryTheory.StructuredArrow.preEquivalenceInverse_map_right_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) {X✝ Y✝ : CategoryTheory.StructuredArrow f.right F} (φ : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).map φ).right.right = CategoryTheory.StructuredArrow.Hom.right φ - CategoryTheory.StructuredArrow.prodInverse_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X✝ Y✝ : CategoryTheory.StructuredArrow S T × CategoryTheory.StructuredArrow S' T'} (η : X✝ ⟶ Y✝) : (CategoryTheory.StructuredArrow.prodInverse S S' T T').map η = CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right η.1, CategoryTheory.StructuredArrow.Hom.right η.2) ⋯ - CategoryTheory.StructuredArrow.preEquivalence_unitIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : (CategoryTheory.StructuredArrow.preEquivalence F f).unitIso = CategoryTheory.NatIso.ofComponents (fun X => CategoryTheory.StructuredArrow.isoMk (CategoryTheory.StructuredArrow.isoMk (CategoryTheory.Iso.refl ((CategoryTheory.Functor.id (CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G))).obj X).right.right) ⋯) ⋯) ⋯ - CategoryTheory.StructuredArrow.prodFunctor_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X✝ Y✝ : CategoryTheory.StructuredArrow (S, S') (T.prod T')} (η : X✝ ⟶ Y✝) : (CategoryTheory.StructuredArrow.prodFunctor S S' T T').map η = (CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right η).1 ⋯, CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right η).2 ⋯) - CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor_obj_right 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor C T) (G : CategoryTheory.Functor D T) (c : C) (X : CategoryTheory.StructuredArrow c (CategoryTheory.Comma.fst F G)) : ((CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor F G c).obj X).right = X.right.right - CategoryTheory.StructuredArrow.ofDiagEquivalence.functor_obj_hom 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] (X : T × T) (Y : CategoryTheory.StructuredArrow X (CategoryTheory.Functor.diag T)) : ((CategoryTheory.StructuredArrow.ofDiagEquivalence.functor X).obj Y).hom = Y.hom.2 - CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.inverse_obj_hom 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor D T) (Y : T) (X : D) (Y✝ : CategoryTheory.StructuredArrow Y ((CategoryTheory.Under.forget X).comp F)) : ((CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.inverse F Y X).obj Y✝).hom = Y✝.right.hom - CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.functor_obj_hom 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor D T) (Y : T) (X : D) (Y✝ : CategoryTheory.StructuredArrow X (CategoryTheory.StructuredArrow.proj Y F)) : ((CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.functor F Y X).obj Y✝).hom = Y✝.right.hom - CategoryTheory.StructuredArrow.ofDiagEquivalence.functor_obj_right_hom 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] (X : T × T) (Y : CategoryTheory.StructuredArrow X (CategoryTheory.Functor.diag T)) : ((CategoryTheory.StructuredArrow.ofDiagEquivalence.functor X).obj Y).right.hom = Y.hom.1 - CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.functor_obj_right_hom 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor D T) (Y : T) (X : D) (Y✝ : CategoryTheory.StructuredArrow X (CategoryTheory.StructuredArrow.proj Y F)) : ((CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.functor F Y X).obj Y✝).right.hom = Y✝.hom - CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.inverse_obj_right_hom 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor D T) (Y : T) (X : D) (Y✝ : CategoryTheory.StructuredArrow Y ((CategoryTheory.Under.forget X).comp F)) : ((CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.inverse F Y X).obj Y✝).right.hom = Y✝.hom - CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor_obj_left 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor C T) (G : CategoryTheory.Functor D T) (c : C) (X : CategoryTheory.StructuredArrow c (CategoryTheory.Comma.fst F G)) : ((CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor F G c).obj X).left = CategoryTheory.Under.mk X.hom - CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor_obj_hom 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor C T) (G : CategoryTheory.Functor D T) (c : C) (X : CategoryTheory.StructuredArrow c (CategoryTheory.Comma.fst F G)) : ((CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor F G c).obj X).hom = X.right.hom - CategoryTheory.StructuredArrow.ofDiagEquivalence.inverse_obj_hom 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] (X : T × T) (Y : CategoryTheory.StructuredArrow X.2 (CategoryTheory.Under.forget X.1)) : ((CategoryTheory.StructuredArrow.ofDiagEquivalence.inverse X).obj Y).hom = (Y.right.hom, Y.hom) - CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor_map_right 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor C T) (G : CategoryTheory.Functor D T) (c : C) {X✝ Y✝ : CategoryTheory.StructuredArrow c (CategoryTheory.Comma.fst F G)} (f : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor F G c).map f).right = (CategoryTheory.StructuredArrow.Hom.right f).right - CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor_map_left 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor C T) (G : CategoryTheory.Functor D T) (c : C) {X✝ Y✝ : CategoryTheory.StructuredArrow c (CategoryTheory.Comma.fst F G)} (f : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor F G c).map f).left = CategoryTheory.Under.homMk (CategoryTheory.StructuredArrow.Hom.right f).left ⋯ - CategoryTheory.StructuredArrow.ofDiagEquivalence.functor_map_right_right 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] (X : T × T) {X✝ Y✝ : CategoryTheory.StructuredArrow X (CategoryTheory.Functor.diag T)} (g : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.ofDiagEquivalence.functor X).map g).right.right = g.right - CategoryTheory.StructuredArrow.ofDiagEquivalence.inverse_map_right 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] (X : T × T) {X✝ Y✝ : CategoryTheory.StructuredArrow X.2 (CategoryTheory.Under.forget X.1)} (g : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.ofDiagEquivalence.inverse X).map g).right = CategoryTheory.Under.Hom.right g.right - CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.functor_map_right_right 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor D T) (Y : T) (X : D) {X✝ Y✝ : CategoryTheory.StructuredArrow X (CategoryTheory.StructuredArrow.proj Y F)} (g : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.functor F Y X).map g).right.right = g.right.right - CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.inverse_map_right_right 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor D T) (Y : T) (X : D) {X✝ Y✝ : CategoryTheory.StructuredArrow Y ((CategoryTheory.Under.forget X).comp F)} (g : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.ofStructuredArrowProjEquivalence.inverse F Y X).map g).right.right = CategoryTheory.Under.Hom.right g.right - CategoryTheory.StructuredArrow.mono_right_of_mono 📋 Mathlib.CategoryTheory.Limits.Comma
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {X : T} {G : CategoryTheory.Functor A T} [CategoryTheory.Limits.HasPullbacks A] [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan G] {Y Z : CategoryTheory.StructuredArrow X G} (f : Y ⟶ Z) [CategoryTheory.Mono f] : CategoryTheory.Mono (CategoryTheory.StructuredArrow.Hom.right f) - CategoryTheory.StructuredArrow.mono_iff_mono_right 📋 Mathlib.CategoryTheory.Limits.Comma
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {X : T} {G : CategoryTheory.Functor A T} [CategoryTheory.Limits.HasPullbacks A] [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan G] {Y Z : CategoryTheory.StructuredArrow X G} (f : Y ⟶ Z) : CategoryTheory.Mono f ↔ CategoryTheory.Mono (CategoryTheory.StructuredArrow.Hom.right f) - CategoryTheory.leftAdjointOfStructuredArrowInitialsAux 📋 Mathlib.CategoryTheory.Adjunction.Comma
{C : Type u₁} {D : Type u₂} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor D C) [∀ (A : C), CategoryTheory.Limits.HasInitial (CategoryTheory.StructuredArrow A G)] (A : C) (B : D) : ((⊥_ CategoryTheory.StructuredArrow A G).right ⟶ B) ≃ (A ⟶ G.obj B) - CategoryTheory.leftAdjointOfStructuredArrowInitialsAux_apply 📋 Mathlib.CategoryTheory.Adjunction.Comma
{C : Type u₁} {D : Type u₂} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor D C) [∀ (A : C), CategoryTheory.Limits.HasInitial (CategoryTheory.StructuredArrow A G)] (A : C) (B : D) (g : (⊥_ CategoryTheory.StructuredArrow A G).right ⟶ B) : (CategoryTheory.leftAdjointOfStructuredArrowInitialsAux G A B) g = CategoryTheory.CategoryStruct.comp (⊥_ CategoryTheory.StructuredArrow A G).hom (G.map g) - CategoryTheory.leftAdjointOfStructuredArrowInitialsAux_symm_apply 📋 Mathlib.CategoryTheory.Adjunction.Comma
{C : Type u₁} {D : Type u₂} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor D C) [∀ (A : C), CategoryTheory.Limits.HasInitial (CategoryTheory.StructuredArrow A G)] (A : C) (B : D) (f : A ⟶ G.obj B) : (CategoryTheory.leftAdjointOfStructuredArrowInitialsAux G A B).symm f = (CategoryTheory.Limits.initial.to (CategoryTheory.StructuredArrow.mk f)).right - CategoryTheory.Limits.Cocone.fromStructuredArrow_obj_pt 📋 Mathlib.CategoryTheory.Limits.ConeCategory
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor J C) (c : CategoryTheory.StructuredArrow F (CategoryTheory.Functor.const J)) : ((CategoryTheory.Limits.Cocone.fromStructuredArrow F).obj c).pt = c.right - CategoryTheory.Limits.Cocone.fromStructuredArrow_obj_ι 📋 Mathlib.CategoryTheory.Limits.ConeCategory
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor J C) (c : CategoryTheory.StructuredArrow F (CategoryTheory.Functor.const J)) : ((CategoryTheory.Limits.Cocone.fromStructuredArrow F).obj c).ι = c.hom - CategoryTheory.Limits.Cone.fromStructuredArrow_π_app 📋 Mathlib.CategoryTheory.Limits.ConeCategory
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] {D : Type u₄} [CategoryTheory.Category.{v₄, u₄} D] (F : CategoryTheory.Functor C D) {X : D} (G : CategoryTheory.Functor J (CategoryTheory.StructuredArrow X F)) (j : J) : (CategoryTheory.Limits.Cone.fromStructuredArrow F G).π.app j = (G.obj j).hom - CategoryTheory.Limits.Cocone.fromStructuredArrow_map_hom 📋 Mathlib.CategoryTheory.Limits.ConeCategory
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor J C) {X✝ Y✝ : CategoryTheory.StructuredArrow F (CategoryTheory.Functor.const J)} (f : X✝ ⟶ Y✝) : ((CategoryTheory.Limits.Cocone.fromStructuredArrow F).map f).hom = CategoryTheory.StructuredArrow.Hom.right f - CategoryTheory.Limits.Cocone.equivStructuredArrow_counitIso 📋 Mathlib.CategoryTheory.Limits.ConeCategory
{J : Type u₁} [CategoryTheory.Category.{v₁, u₁} J] {C : Type u₃} [CategoryTheory.Category.{v₃, u₃} C] (F : CategoryTheory.Functor J C) : (CategoryTheory.Limits.Cocone.equivStructuredArrow F).counitIso = CategoryTheory.NatIso.ofComponents (fun x => x.eta.symm) ⋯ - CategoryTheory.MorphismProperty.structuredArrowObj_iff 📋 Mathlib.CategoryTheory.MorphismProperty.Comma
{B : Type u_2} [CategoryTheory.Category.{v_2, u_2} B] {T : Type u_3} [CategoryTheory.Category.{v_3, u_3} T] (R : CategoryTheory.Functor B T) {W : CategoryTheory.MorphismProperty T} {X : T} (Y : CategoryTheory.StructuredArrow X R) : CategoryTheory.MorphismProperty.structuredArrowObj R W Y ↔ W Y.hom - CategoryTheory.MorphismProperty.structuredArrow_iso_iff 📋 Mathlib.CategoryTheory.MorphismProperty.Comma
{A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {T : Type u_3} [CategoryTheory.Category.{v_3, u_3} T] (P : CategoryTheory.MorphismProperty T) [P.RespectsIso] {L : CategoryTheory.Functor A T} {X : T} {f g : CategoryTheory.StructuredArrow X L} (e : f ≅ g) : P f.hom ↔ P g.hom - CategoryTheory.CategoryOfElements.fromStructuredArrow_obj 📋 Mathlib.CategoryTheory.Elements
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor C (Type w)) (X : CategoryTheory.StructuredArrow PUnit.{w + 1} F) : (CategoryTheory.CategoryOfElements.fromStructuredArrow F).obj X = ⟨X.right, (CategoryTheory.ConcreteCategory.hom X.hom) PUnit.unit⟩ - CategoryTheory.CategoryOfElements.to_comma_map_right 📋 Mathlib.CategoryTheory.Elements
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor C (Type w)) {X Y : F.Elements} (f : X ⟶ Y) : CategoryTheory.StructuredArrow.Hom.right ((CategoryTheory.CategoryOfElements.toStructuredArrow F).map f) = ↑f - CategoryTheory.ObjectProperty.LimitOfShape.toStructuredArrow_map 📋 Mathlib.CategoryTheory.ObjectProperty.LimitsOfShape
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {P : CategoryTheory.ObjectProperty C} {J : Type u'} [CategoryTheory.Category.{v', u'} J] {X : C} (p : P.LimitOfShape J X) {X✝ Y✝ : J} (f : X✝ ⟶ Y✝) : p.toStructuredArrow.map f = CategoryTheory.StructuredArrow.homMk (CategoryTheory.ObjectProperty.homMk (p.diag.map f)) ⋯ - CategoryTheory.Functor.LeftExtension.isUniversalEquivOfIso₂ 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] {L : CategoryTheory.Functor C D} {F₁ F₂ : CategoryTheory.Functor C H} (α₁ : L.LeftExtension F₁) (α₂ : L.LeftExtension F₂) (e : F₁ ≅ F₂) (e' : CategoryTheory.StructuredArrow.right α₁ ≅ CategoryTheory.StructuredArrow.right α₂) (h : CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.hom α₁) (L.whiskerLeft e'.hom) = CategoryTheory.CategoryStruct.comp e.hom (CategoryTheory.StructuredArrow.hom α₂)) : CategoryTheory.StructuredArrow.IsUniversal α₁ ≃ CategoryTheory.StructuredArrow.IsUniversal α₂ - CategoryTheory.Functor.LeftExtension.postcompose₂ObjMkIso_hom_right_app 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] [CategoryTheory.Category.{v_6, u_6} D'] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (G : CategoryTheory.Functor H D') {F' : CategoryTheory.Functor D H} (α : F ⟶ L.comp F') (X : D) : (CategoryTheory.Functor.LeftExtension.postcompose₂ObjMkIso G α).hom.right.app X = CategoryTheory.CategoryStruct.id (G.obj (F'.obj X)) - CategoryTheory.Functor.LeftExtension.postcompose₂ObjMkIso_inv_right_app 📋 Mathlib.CategoryTheory.Functor.KanExtension.Basic
{C : Type u_1} {H : Type u_3} {D : Type u_5} {D' : Type u_6} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_3, u_3} H] [CategoryTheory.Category.{v_5, u_5} D] [CategoryTheory.Category.{v_6, u_6} D'] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (G : CategoryTheory.Functor H D') {F' : CategoryTheory.Functor D H} (α : F ⟶ L.comp F') (X : D) : (CategoryTheory.Functor.LeftExtension.postcompose₂ObjMkIso G α).inv.right.app X = CategoryTheory.CategoryStruct.id (G.obj (F'.obj X)) - CategoryTheory.Functor.LeftExtension.coconeAt_pt 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (E : L.LeftExtension F) (Y : D) : (E.coconeAt Y).pt = (CategoryTheory.StructuredArrow.right E).obj Y - CategoryTheory.Functor.LeftExtension.IsPointwiseLeftKanExtension.isLeftKanExtension 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.LeftExtension F} (h : E.IsPointwiseLeftKanExtension) : (CategoryTheory.StructuredArrow.right E).IsLeftKanExtension (CategoryTheory.StructuredArrow.hom E) - CategoryTheory.Functor.LeftExtension.IsPointwiseLeftKanExtensionAt.isoColimit 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.LeftExtension F} {Y : D} (h : E.IsPointwiseLeftKanExtensionAt Y) [CategoryTheory.Limits.HasColimit ((CategoryTheory.CostructuredArrow.proj L Y).comp F)] : (CategoryTheory.StructuredArrow.right E).obj Y ≅ CategoryTheory.Limits.colimit ((CategoryTheory.CostructuredArrow.proj L Y).comp F) - CategoryTheory.Functor.LeftExtension.IsPointwiseLeftKanExtension.isIso_hom 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.LeftExtension F} (h : E.IsPointwiseLeftKanExtension) [L.Full] [L.Faithful] : CategoryTheory.IsIso (CategoryTheory.StructuredArrow.hom E) - CategoryTheory.Functor.LeftExtension.IsPointwiseLeftKanExtensionAt.isIso_hom_app 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (E : L.LeftExtension F) {X : C} (h : E.IsPointwiseLeftKanExtensionAt (L.obj X)) [L.Full] [L.Faithful] : CategoryTheory.IsIso ((CategoryTheory.StructuredArrow.hom E).app X) - CategoryTheory.Functor.structuredArrowMapCone_π_app 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (G : CategoryTheory.Functor D H) (α : L.comp G ⟶ F) (Y : D) (f : CategoryTheory.StructuredArrow Y L) : (L.structuredArrowMapCone F G α Y).π.app f = CategoryTheory.CategoryStruct.comp (G.map f.hom) (α.app f.right) - CategoryTheory.Functor.LeftExtension.coconeAtFunctor_map_hom 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] (L : CategoryTheory.Functor C D) (F : CategoryTheory.Functor C H) (Y : D) {E E' : L.LeftExtension F} (φ : E ⟶ E') : ((CategoryTheory.Functor.LeftExtension.coconeAtFunctor L F Y).map φ).hom = (CategoryTheory.StructuredArrow.Hom.right φ).app Y - CategoryTheory.Functor.RightExtension.IsPointwiseRightKanExtensionAt.isoLimit_inv_π 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.RightExtension F} {Y : D} (h : E.IsPointwiseRightKanExtensionAt Y) [CategoryTheory.Limits.HasLimit ((CategoryTheory.StructuredArrow.proj Y L).comp F)] (g : CategoryTheory.StructuredArrow Y L) : CategoryTheory.CategoryStruct.comp h.isoLimit.inv (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CostructuredArrow.left E).map g.hom) ((CategoryTheory.CostructuredArrow.hom E).app g.right)) = CategoryTheory.Limits.limit.π ((CategoryTheory.StructuredArrow.proj Y L).comp F) g - CategoryTheory.Functor.RightExtension.coneAt_π_app 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (E : L.RightExtension F) (Y : D) (g : CategoryTheory.StructuredArrow Y L) : (E.coneAt Y).π.app g = CategoryTheory.CategoryStruct.comp ((CategoryTheory.CostructuredArrow.left E).map g.hom) ((CategoryTheory.CostructuredArrow.hom E).app g.right) - CategoryTheory.Functor.RightExtension.IsPointwiseRightKanExtensionAt.isoLimit_hom_π 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.RightExtension F} {Y : D} (h : E.IsPointwiseRightKanExtensionAt Y) [CategoryTheory.Limits.HasLimit ((CategoryTheory.StructuredArrow.proj Y L).comp F)] (g : CategoryTheory.StructuredArrow Y L) : CategoryTheory.CategoryStruct.comp h.isoLimit.hom (CategoryTheory.Limits.limit.π ((CategoryTheory.StructuredArrow.proj Y L).comp F) g) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.CostructuredArrow.left E).map g.hom) ((CategoryTheory.CostructuredArrow.hom E).app g.right) - CategoryTheory.Functor.LeftExtension.coconeAt_ι_app 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (E : L.LeftExtension F) (Y : D) (g : CategoryTheory.CostructuredArrow L Y) : (E.coconeAt Y).ι.app g = CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.hom E).app g.left) ((CategoryTheory.StructuredArrow.right E).map g.hom) - CategoryTheory.Functor.RightExtension.IsPointwiseRightKanExtensionAt.isoLimit_inv_π_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.RightExtension F} {Y : D} (h : E.IsPointwiseRightKanExtensionAt Y) [CategoryTheory.Limits.HasLimit ((CategoryTheory.StructuredArrow.proj Y L).comp F)] (g : CategoryTheory.StructuredArrow Y L) {Z : H} (h✝ : F.obj g.right ⟶ Z) : CategoryTheory.CategoryStruct.comp h.isoLimit.inv (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CostructuredArrow.left E).map g.hom) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CostructuredArrow.hom E).app g.right) h✝)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π ((CategoryTheory.StructuredArrow.proj Y L).comp F) g) h✝ - CategoryTheory.Functor.LeftExtension.IsPointwiseLeftKanExtensionAt.ι_isoColimit_inv 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.LeftExtension F} {Y : D} (h : E.IsPointwiseLeftKanExtensionAt Y) [CategoryTheory.Limits.HasColimit ((CategoryTheory.CostructuredArrow.proj L Y).comp F)] (g : CategoryTheory.CostructuredArrow L Y) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι ((CategoryTheory.CostructuredArrow.proj L Y).comp F) g) h.isoColimit.inv = CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.hom E).app g.left) ((CategoryTheory.StructuredArrow.right E).map g.hom) - CategoryTheory.Functor.LeftExtension.IsPointwiseLeftKanExtensionAt.ι_isoColimit_hom 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.LeftExtension F} {Y : D} (h : E.IsPointwiseLeftKanExtensionAt Y) [CategoryTheory.Limits.HasColimit ((CategoryTheory.CostructuredArrow.proj L Y).comp F)] (g : CategoryTheory.CostructuredArrow L Y) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.hom E).app g.left) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.right E).map g.hom) h.isoColimit.hom) = CategoryTheory.Limits.colimit.ι ((CategoryTheory.CostructuredArrow.proj L Y).comp F) g - CategoryTheory.Functor.RightExtension.IsPointwiseRightKanExtensionAt.isoLimit_hom_π_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.RightExtension F} {Y : D} (h : E.IsPointwiseRightKanExtensionAt Y) [CategoryTheory.Limits.HasLimit ((CategoryTheory.StructuredArrow.proj Y L).comp F)] (g : CategoryTheory.StructuredArrow Y L) {Z : H} (h✝ : F.obj ((CategoryTheory.StructuredArrow.proj Y L).obj g) ⟶ Z) : CategoryTheory.CategoryStruct.comp h.isoLimit.hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π ((CategoryTheory.StructuredArrow.proj Y L).comp F) g) h✝) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.CostructuredArrow.left E).map g.hom) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CostructuredArrow.hom E).app g.right) h✝) - CategoryTheory.Functor.LeftExtension.IsPointwiseLeftKanExtensionAt.ι_isoColimit_hom_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.LeftExtension F} {Y : D} (h : E.IsPointwiseLeftKanExtensionAt Y) [CategoryTheory.Limits.HasColimit ((CategoryTheory.CostructuredArrow.proj L Y).comp F)] (g : CategoryTheory.CostructuredArrow L Y) {Z : H} (h✝ : CategoryTheory.Limits.colimit ((CategoryTheory.CostructuredArrow.proj L Y).comp F) ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.hom E).app g.left) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.right E).map g.hom) (CategoryTheory.CategoryStruct.comp h.isoColimit.hom h✝)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι ((CategoryTheory.CostructuredArrow.proj L Y).comp F) g) h✝ - CategoryTheory.Functor.LeftExtension.IsPointwiseLeftKanExtensionAt.ι_isoColimit_inv_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.LeftExtension F} {Y : D} (h : E.IsPointwiseLeftKanExtensionAt Y) [CategoryTheory.Limits.HasColimit ((CategoryTheory.CostructuredArrow.proj L Y).comp F)] (g : CategoryTheory.CostructuredArrow L Y) {Z : H} (h✝ : (CategoryTheory.StructuredArrow.right E).obj Y ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι ((CategoryTheory.CostructuredArrow.proj L Y).comp F) g) (CategoryTheory.CategoryStruct.comp h.isoColimit.inv h✝) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.hom E).app g.left) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.right E).map g.hom) h✝) - CategoryTheory.Functor.LeftExtension.IsPointwiseLeftKanExtensionAt.hom_ext' 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.LeftExtension F} {Y : D} (h : E.IsPointwiseLeftKanExtensionAt Y) {T : H} {f g : (CategoryTheory.StructuredArrow.right E).obj Y ⟶ T} (hfg : ∀ ⦃X : C⦄ (φ : L.obj X ⟶ Y), CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.hom E).app X) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.right E).map φ) f) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.hom E).app X) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.right E).map φ) g)) : f = g - CategoryTheory.Functor.LeftExtension.IsPointwiseLeftKanExtensionAt.comp_homEquiv_symm 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.LeftExtension F} {Y : D} (h : E.IsPointwiseLeftKanExtensionAt Y) {Z : H} (φ : (CategoryTheory.CostructuredArrow.proj L Y).comp F ⟶ (CategoryTheory.Functor.const (CategoryTheory.CostructuredArrow L Y)).obj Z) (g : CategoryTheory.CostructuredArrow L Y) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.hom E).app g.left) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.right E).map g.hom) ((CategoryTheory.Limits.IsColimit.homEquiv h).symm φ)) = φ.app g - CategoryTheory.Functor.LeftExtension.IsPointwiseLeftKanExtensionAt.comp_homEquiv_symm_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Pointwise
{C : Type u_1} {D : Type u_2} {H : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_4, u_4} H] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} {E : L.LeftExtension F} {Y : D} (h : E.IsPointwiseLeftKanExtensionAt Y) {Z : H} (φ : (CategoryTheory.CostructuredArrow.proj L Y).comp F ⟶ (CategoryTheory.Functor.const (CategoryTheory.CostructuredArrow L Y)).obj Z) (g : CategoryTheory.CostructuredArrow L Y) {Z✝ : H} (h✝ : Z ⟶ Z✝) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.hom E).app g.left) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.right E).map g.hom) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.IsColimit.homEquiv h).symm φ) h✝)) = CategoryTheory.CategoryStruct.comp (φ.app g) h✝ - CategoryTheory.Functor.ranObjObjIsoLimit_inv_π_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (L : CategoryTheory.Functor C D) {H : Type u_3} [CategoryTheory.Category.{v_3, u_3} H] [∀ (F : CategoryTheory.Functor C H), L.HasRightKanExtension F] (F : CategoryTheory.Functor C H) [L.HasPointwiseRightKanExtension F] (X : D) (f : CategoryTheory.StructuredArrow X L) {Z : H} (h : F.obj f.right ⟶ Z) : CategoryTheory.CategoryStruct.comp (L.ranObjObjIsoLimit F X).inv (CategoryTheory.CategoryStruct.comp ((L.ran.obj F).map f.hom) (CategoryTheory.CategoryStruct.comp ((L.ranCounit.app F).app f.right) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π ((CategoryTheory.StructuredArrow.proj X L).comp F) f) h - CategoryTheory.Functor.ranObjObjIsoLimit_hom_π 📋 Mathlib.CategoryTheory.Functor.KanExtension.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (L : CategoryTheory.Functor C D) {H : Type u_3} [CategoryTheory.Category.{v_3, u_3} H] [∀ (F : CategoryTheory.Functor C H), L.HasRightKanExtension F] (F : CategoryTheory.Functor C H) [L.HasPointwiseRightKanExtension F] (X : D) (f : CategoryTheory.StructuredArrow X L) : CategoryTheory.CategoryStruct.comp (L.ranObjObjIsoLimit F X).hom (CategoryTheory.Limits.limit.π ((CategoryTheory.StructuredArrow.proj X L).comp F) f) = CategoryTheory.CategoryStruct.comp ((L.ran.obj F).map f.hom) ((L.ranCounit.app F).app f.right) - CategoryTheory.Functor.ranObjObjIsoLimit_inv_π 📋 Mathlib.CategoryTheory.Functor.KanExtension.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (L : CategoryTheory.Functor C D) {H : Type u_3} [CategoryTheory.Category.{v_3, u_3} H] [∀ (F : CategoryTheory.Functor C H), L.HasRightKanExtension F] (F : CategoryTheory.Functor C H) [L.HasPointwiseRightKanExtension F] (X : D) (f : CategoryTheory.StructuredArrow X L) : CategoryTheory.CategoryStruct.comp (L.ranObjObjIsoLimit F X).inv (CategoryTheory.CategoryStruct.comp ((L.ran.obj F).map f.hom) ((L.ranCounit.app F).app f.right)) = CategoryTheory.Limits.limit.π ((CategoryTheory.StructuredArrow.proj X L).comp F) f - CategoryTheory.Functor.ranObjObjIsoLimit_hom_π_assoc 📋 Mathlib.CategoryTheory.Functor.KanExtension.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (L : CategoryTheory.Functor C D) {H : Type u_3} [CategoryTheory.Category.{v_3, u_3} H] [∀ (F : CategoryTheory.Functor C H), L.HasRightKanExtension F] (F : CategoryTheory.Functor C H) [L.HasPointwiseRightKanExtension F] (X : D) (f : CategoryTheory.StructuredArrow X L) {Z : H} (h : F.obj ((CategoryTheory.StructuredArrow.proj X L).obj f) ⟶ Z) : CategoryTheory.CategoryStruct.comp (L.ranObjObjIsoLimit F X).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π ((CategoryTheory.StructuredArrow.proj X L).comp F) f) h) = CategoryTheory.CategoryStruct.comp ((L.ran.obj F).map f.hom) (CategoryTheory.CategoryStruct.comp ((L.ranCounit.app F).app f.right) h) - CategoryTheory.StructuredArrow.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} : CategoryTheory.Subobject A → CategoryTheory.Subobject A.right - CategoryTheory.StructuredArrow.projectSubobject_mk 📋 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 P : CategoryTheory.StructuredArrow S T} (f : P ⟶ A) [CategoryTheory.Mono f] : CategoryTheory.StructuredArrow.projectSubobject (CategoryTheory.Subobject.mk f) = CategoryTheory.Subobject.mk (CategoryTheory.StructuredArrow.Hom.right f) - 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.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.RanIsSheafOfIsCocontinuous.fac' 📋 Mathlib.CategoryTheory.Sites.CoverLifting
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {G : CategoryTheory.Functor C D} {A : Type w} [CategoryTheory.Category.{w', w} A] {J : CategoryTheory.GrothendieckTopology C} {K : CategoryTheory.GrothendieckTopology D} [G.IsCocontinuous J K] {F : CategoryTheory.Functor Cᵒᵖ A} (hF : CategoryTheory.Presheaf.IsSheaf J F) {R : CategoryTheory.Functor Dᵒᵖ A} {α : G.op.comp R ⟶ F} (hR : (CategoryTheory.Functor.RightExtension.mk R α).IsPointwiseRightKanExtension) {X : D} {S : K.Cover X} (s : CategoryTheory.Limits.Multifork (S.index R)) (j : CategoryTheory.StructuredArrow (Opposite.op X) G.op) : CategoryTheory.CategoryStruct.comp (CategoryTheory.RanIsSheafOfIsCocontinuous.lift hF hR s) (CategoryTheory.CategoryStruct.comp (R.map j.hom) (α.app j.right)) = CategoryTheory.RanIsSheafOfIsCocontinuous.liftAux hF α s j.hom.unop - CategoryTheory.TwoSquare.structuredArrowDownwards_obj 📋 Mathlib.CategoryTheory.GuitartExact.Basic
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) (X₂ : C₂) (X : CategoryTheory.StructuredArrow X₂ T) : (w.structuredArrowDownwards X₂).obj X = (CategoryTheory.StructuredArrow.pre (R.obj X₂) L B).obj ((CategoryTheory.Comma.mapRight (CategoryTheory.Functor.fromPUnit (R.obj X₂)) w).obj (CategoryTheory.StructuredArrow.mk (R.map X.hom))) - CategoryTheory.TwoSquare.costructuredArrowDownwardsPrecomp_obj 📋 Mathlib.CategoryTheory.GuitartExact.Basic
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) {X₂ X₂' : C₂} {X₃ : C₃} (g : R.obj X₂ ⟶ B.obj X₃) (g' : R.obj X₂' ⟶ B.obj X₃) (γ : X₂' ⟶ X₂) (hγ : CategoryTheory.CategoryStruct.comp (R.map γ) g = g') (A : w.CostructuredArrowDownwards g) : (w.costructuredArrowDownwardsPrecomp g g' γ hγ).obj A = CategoryTheory.TwoSquare.CostructuredArrowDownwards.mk w g' (CategoryTheory.CostructuredArrow.left A).right (CategoryTheory.CategoryStruct.comp γ (CategoryTheory.CostructuredArrow.left A).hom) (CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.CostructuredArrow.hom A)) ⋯ - CategoryTheory.TwoSquare.structuredArrowDownwards_map 📋 Mathlib.CategoryTheory.GuitartExact.Basic
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) (X₂ : C₂) {X✝ Y✝ : CategoryTheory.StructuredArrow X₂ T} (f : X✝ ⟶ Y✝) : (w.structuredArrowDownwards X₂).map f = (CategoryTheory.StructuredArrow.pre (R.obj X₂) L B).map ((CategoryTheory.Comma.mapRight (CategoryTheory.Functor.fromPUnit (R.obj X₂)) w).map (CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right f) ⋯)) - CategoryTheory.TwoSquare.EquivalenceJ.inverse_obj 📋 Mathlib.CategoryTheory.GuitartExact.Basic
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) {X₂ : C₂} {X₃ : C₃} (g : R.obj X₂ ⟶ B.obj X₃) (f : w.CostructuredArrowDownwards g) : (CategoryTheory.TwoSquare.EquivalenceJ.inverse w g).obj f = CategoryTheory.StructuredArrow.mk (CategoryTheory.CostructuredArrow.homMk (CategoryTheory.CostructuredArrow.left f).hom ⋯) - CategoryTheory.TwoSquare.EquivalenceJ.functor_obj 📋 Mathlib.CategoryTheory.GuitartExact.Basic
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) {X₂ : C₂} {X₃ : C₃} (g : R.obj X₂ ⟶ B.obj X₃) (f : w.StructuredArrowRightwards g) : (CategoryTheory.TwoSquare.EquivalenceJ.functor w g).obj f = CategoryTheory.CostructuredArrow.mk (CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.right f).hom ⋯) - CategoryTheory.TwoSquare.costructuredArrowDownwardsPrecomp_map 📋 Mathlib.CategoryTheory.GuitartExact.Basic
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) {X₂ X₂' : C₂} {X₃ : C₃} (g : R.obj X₂ ⟶ B.obj X₃) (g' : R.obj X₂' ⟶ B.obj X₃) (γ : X₂' ⟶ X₂) (hγ : CategoryTheory.CategoryStruct.comp (R.map γ) g = g') {A A' : w.CostructuredArrowDownwards g} (φ : A ⟶ A') : (w.costructuredArrowDownwardsPrecomp g g' γ hγ).map φ = CategoryTheory.CostructuredArrow.homMk (CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right φ.left) ⋯) ⋯ - CategoryTheory.TwoSquare.EquivalenceJ.inverse_map 📋 Mathlib.CategoryTheory.GuitartExact.Basic
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) {X₂ : C₂} {X₃ : C₃} (g : R.obj X₂ ⟶ B.obj X₃) {f₁ f₂ : w.CostructuredArrowDownwards g} (φ : f₁ ⟶ f₂) : (CategoryTheory.TwoSquare.EquivalenceJ.inverse w g).map φ = CategoryTheory.StructuredArrow.homMk (CategoryTheory.CostructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right φ.left) ⋯) ⋯ - CategoryTheory.TwoSquare.EquivalenceJ.functor_map 📋 Mathlib.CategoryTheory.GuitartExact.Basic
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) {X₂ : C₂} {X₃ : C₃} (g : R.obj X₂ ⟶ B.obj X₃) {f₁ f₂ : w.StructuredArrowRightwards g} (φ : f₁ ⟶ f₂) : (CategoryTheory.TwoSquare.EquivalenceJ.functor w g).map φ = CategoryTheory.CostructuredArrow.homMk (CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right φ).left ⋯) ⋯ - CategoryTheory.TwoSquare.structuredArrowRightwardsOpEquivalence.functor_obj_left_right 📋 Mathlib.CategoryTheory.GuitartExact.Opposite
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) {X₃ : C₃ᵒᵖ} {X₂ : C₂ᵒᵖ} (g : B.op.obj X₃ ⟶ R.op.obj X₂) (f : (w.op.StructuredArrowRightwards g)ᵒᵖ) : ((CategoryTheory.TwoSquare.structuredArrowRightwardsOpEquivalence.functor w g).obj f).left.right = Opposite.unop (CategoryTheory.StructuredArrow.right (Opposite.unop f)).left - CategoryTheory.TwoSquare.structuredArrowRightwardsOpEquivalence.functor_obj_left_hom 📋 Mathlib.CategoryTheory.GuitartExact.Opposite
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) {X₃ : C₃ᵒᵖ} {X₂ : C₂ᵒᵖ} (g : B.op.obj X₃ ⟶ R.op.obj X₂) (f : (w.op.StructuredArrowRightwards g)ᵒᵖ) : ((CategoryTheory.TwoSquare.structuredArrowRightwardsOpEquivalence.functor w g).obj f).left.hom = (CategoryTheory.StructuredArrow.right (Opposite.unop f)).hom.unop - CategoryTheory.TwoSquare.structuredArrowRightwardsOpEquivalence.functor_obj_hom_right 📋 Mathlib.CategoryTheory.GuitartExact.Opposite
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) {X₃ : C₃ᵒᵖ} {X₂ : C₂ᵒᵖ} (g : B.op.obj X₃ ⟶ R.op.obj X₂) (f : (w.op.StructuredArrowRightwards g)ᵒᵖ) : ((CategoryTheory.TwoSquare.structuredArrowRightwardsOpEquivalence.functor w g).obj f).hom.right = (CategoryTheory.StructuredArrow.hom (Opposite.unop f)).left.unop - CategoryTheory.TwoSquare.structuredArrowRightwardsOpEquivalence.functor_map_left_right 📋 Mathlib.CategoryTheory.GuitartExact.Opposite
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) {X₃ : C₃ᵒᵖ} {X₂ : C₂ᵒᵖ} (g : B.op.obj X₃ ⟶ R.op.obj X₂) {f f' : (w.op.StructuredArrowRightwards g)ᵒᵖ} (φ : f ⟶ f') : ((CategoryTheory.TwoSquare.structuredArrowRightwardsOpEquivalence.functor w g).map φ).left.right = (CategoryTheory.StructuredArrow.Hom.right φ.unop).left.unop - CategoryTheory.LocalizerMorphism.IsRightDerivabilityStructure.Constructor.fromRightResolution_obj 📋 Mathlib.CategoryTheory.Localization.DerivabilityStructure.Constructor
{C₁ : Type u_1} {C₂ : Type u_2} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) {D : Type u_3} [CategoryTheory.Category.{v_3, u_3} D] (L : CategoryTheory.Functor C₂ D) [L.IsLocalization W₂] {X₂ : C₂} {X₃ : D} (y : L.obj X₂ ⟶ X₃) (R : Φ.RightResolution X₂) : (CategoryTheory.LocalizerMorphism.IsRightDerivabilityStructure.Constructor.fromRightResolution Φ L y).obj R = CategoryTheory.CostructuredArrow.mk (CategoryTheory.StructuredArrow.homMk (CategoryTheory.CategoryStruct.comp (CategoryTheory.Localization.isoOfHom L W₂ R.w ⋯).inv y) ⋯) - CategoryTheory.LocalizerMorphism.IsRightDerivabilityStructure.Constructor.fromRightResolution_map 📋 Mathlib.CategoryTheory.Localization.DerivabilityStructure.Constructor
{C₁ : Type u_1} {C₂ : Type u_2} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) {D : Type u_3} [CategoryTheory.Category.{v_3, u_3} D] (L : CategoryTheory.Functor C₂ D) [L.IsLocalization W₂] {X₂ : C₂} {X₃ : D} (y : L.obj X₂ ⟶ X₃) {R R' : Φ.RightResolution X₂} (φ : R ⟶ R') : (CategoryTheory.LocalizerMorphism.IsRightDerivabilityStructure.Constructor.fromRightResolution Φ L y).map φ = CategoryTheory.CostructuredArrow.homMk (CategoryTheory.StructuredArrow.homMk φ.f ⋯) ⋯ - CategoryTheory.Localization.structuredArrowEquiv_apply 📋 Mathlib.CategoryTheory.Localization.StructuredArrow
{C : Type u_1} {D : Type u_2} {D' : Type u_3} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_3, u_3} D'] (W : CategoryTheory.MorphismProperty C) (L : CategoryTheory.Functor C D) (L' : CategoryTheory.Functor C D') [L.IsLocalization W] [L'.IsLocalization W] {X : C} (f : CategoryTheory.StructuredArrow (L.obj X) L) : (CategoryTheory.Localization.structuredArrowEquiv W L L') f = CategoryTheory.StructuredArrow.mk ((CategoryTheory.Localization.homEquiv W L L') f.hom) - CategoryTheory.Localization.structuredArrowEquiv_symm_apply 📋 Mathlib.CategoryTheory.Localization.StructuredArrow
{C : Type u_1} {D : Type u_2} {D' : Type u_3} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Category.{v_3, u_3} D'] (W : CategoryTheory.MorphismProperty C) (L : CategoryTheory.Functor C D) (L' : CategoryTheory.Functor C D') [L.IsLocalization W] [L'.IsLocalization W] {X : C} (f : CategoryTheory.StructuredArrow (L'.obj X) L') : (CategoryTheory.Localization.structuredArrowEquiv W L L').symm f = CategoryTheory.StructuredArrow.mk ((CategoryTheory.Localization.homEquiv W L' L) f.hom) - CategoryTheory.Functor.LeftExtension.isPointwiseLeftKanExtensionOfIsIsoOfIsLocalization 📋 Mathlib.CategoryTheory.Functor.Derived.PointwiseRightDerived
{C : Type u₁} {D : Type u₂} {H : Type u₃} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.Category.{v₃, u₃} H] {F : CategoryTheory.Functor C H} {L : CategoryTheory.Functor C D} (W : CategoryTheory.MorphismProperty C) (E : L.LeftExtension F) [CategoryTheory.IsIso (CategoryTheory.StructuredArrow.hom E)] [L.IsLocalization W] : E.IsPointwiseLeftKanExtension - CategoryTheory.TwoSquare.isIso_lanBaseChange_app_iff 📋 Mathlib.CategoryTheory.GuitartExact.KanExtension
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} {C₄ : Type u₄} {D : Type u₅} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] [CategoryTheory.Category.{v₄, u₄} C₄] [CategoryTheory.Category.{v₅, u₅} D] {T : CategoryTheory.Functor C₁ C₂} {L : CategoryTheory.Functor C₁ C₃} {R : CategoryTheory.Functor C₂ C₄} {B : CategoryTheory.Functor C₃ C₄} (w : CategoryTheory.TwoSquare T L R B) [∀ (F : CategoryTheory.Functor C₁ D), L.HasLeftKanExtension F] [∀ (F : CategoryTheory.Functor C₂ D), R.HasLeftKanExtension F] (F : CategoryTheory.Functor C₂ D) : CategoryTheory.IsIso (w.lanBaseChange.app F) ↔ (CategoryTheory.StructuredArrow.right ((CategoryTheory.Functor.LeftExtension.mk (R.lan.obj F) (R.lanUnit.app F)).compTwoSquare w)).IsLeftKanExtension (CategoryTheory.StructuredArrow.hom ((CategoryTheory.Functor.LeftExtension.mk (R.lan.obj F) (R.lanUnit.app F)).compTwoSquare w)) - CategoryTheory.StructuredArrow.commaMapEquivalenceFunctor_obj_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (Y : CategoryTheory.StructuredArrow X (CategoryTheory.Comma.map α β)) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceFunctor α β X).obj Y).left = CategoryTheory.StructuredArrow.mk Y.hom.left - CategoryTheory.StructuredArrow.commaMapEquivalenceFunctor_obj_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (Y : CategoryTheory.StructuredArrow X (CategoryTheory.Comma.map α β)) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceFunctor α β X).obj Y).right = CategoryTheory.StructuredArrow.mk Y.hom.right - CategoryTheory.StructuredArrow.commaMapEquivalenceFunctor_obj_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (Y : CategoryTheory.StructuredArrow X (CategoryTheory.Comma.map α β)) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceFunctor α β X).obj Y).hom = CategoryTheory.StructuredArrow.homMk Y.right.hom ⋯ - CategoryTheory.StructuredArrow.commaMapEquivalenceInverse_obj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (Y : CategoryTheory.Comma (CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.id (L'.obj X.left)) α) (CategoryTheory.StructuredArrow.map₂ X.hom (CategoryTheory.inv β))) : (CategoryTheory.StructuredArrow.commaMapEquivalenceInverse α β X).obj Y = CategoryTheory.StructuredArrow.mk { left := Y.left.hom, right := Y.right.hom, w := ⋯ } - CategoryTheory.StructuredArrow.commaMapEquivalenceUnitIso_hom_app_right_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (X✝ : CategoryTheory.StructuredArrow X (CategoryTheory.Comma.map α β)) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceUnitIso α β X).hom.app X✝).right.left = CategoryTheory.CategoryStruct.id X✝.right.left - CategoryTheory.StructuredArrow.commaMapEquivalenceUnitIso_hom_app_right_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (X✝ : CategoryTheory.StructuredArrow X (CategoryTheory.Comma.map α β)) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceUnitIso α β X).hom.app X✝).right.right = CategoryTheory.CategoryStruct.id X✝.right.right - CategoryTheory.StructuredArrow.commaMapEquivalenceUnitIso_inv_app_right_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (X✝ : CategoryTheory.StructuredArrow X (CategoryTheory.Comma.map α β)) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceUnitIso α β X).inv.app X✝).right.left = CategoryTheory.CategoryStruct.id X✝.right.left - CategoryTheory.StructuredArrow.commaMapEquivalenceUnitIso_inv_app_right_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (X✝ : CategoryTheory.StructuredArrow X (CategoryTheory.Comma.map α β)) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceUnitIso α β X).inv.app X✝).right.right = CategoryTheory.CategoryStruct.id X✝.right.right - CategoryTheory.StructuredArrow.commaMapEquivalenceFunctor_map_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') {Y Z : CategoryTheory.StructuredArrow X (CategoryTheory.Comma.map α β)} (f : Y ⟶ Z) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceFunctor α β X).map f).left = CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right f).left ⋯ - CategoryTheory.StructuredArrow.commaMapEquivalenceFunctor_map_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') {Y Z : CategoryTheory.StructuredArrow X (CategoryTheory.Comma.map α β)} (f : Y ⟶ Z) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceFunctor α β X).map f).right = CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right f).right ⋯ - CategoryTheory.StructuredArrow.commaMapEquivalenceCounitIso_hom_app_left_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (X✝ : CategoryTheory.Comma (CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.id (L'.obj X.left)) α) (CategoryTheory.StructuredArrow.map₂ X.hom (CategoryTheory.inv β))) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceCounitIso α β X).hom.app X✝).left.right = CategoryTheory.CategoryStruct.id X✝.left.right - CategoryTheory.StructuredArrow.commaMapEquivalenceCounitIso_hom_app_right_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (X✝ : CategoryTheory.Comma (CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.id (L'.obj X.left)) α) (CategoryTheory.StructuredArrow.map₂ X.hom (CategoryTheory.inv β))) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceCounitIso α β X).hom.app X✝).right.right = CategoryTheory.CategoryStruct.id X✝.right.right - CategoryTheory.StructuredArrow.commaMapEquivalenceCounitIso_inv_app_left_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (X✝ : CategoryTheory.Comma (CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.id (L'.obj X.left)) α) (CategoryTheory.StructuredArrow.map₂ X.hom (CategoryTheory.inv β))) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceCounitIso α β X).inv.app X✝).left.right = CategoryTheory.CategoryStruct.id X✝.left.right - CategoryTheory.StructuredArrow.commaMapEquivalenceCounitIso_inv_app_right_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') (X✝ : CategoryTheory.Comma (CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.id (L'.obj X.left)) α) (CategoryTheory.StructuredArrow.map₂ X.hom (CategoryTheory.inv β))) : ((CategoryTheory.StructuredArrow.commaMapEquivalenceCounitIso α β X).inv.app X✝).right.right = CategoryTheory.CategoryStruct.id X✝.right.right - CategoryTheory.StructuredArrow.commaMapEquivalenceInverse_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.CommaMap
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] {L : CategoryTheory.Functor C T} {R : CategoryTheory.Functor D T} {C' : Type u₄} [CategoryTheory.Category.{v₄, u₄} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {T' : Type u₆} [CategoryTheory.Category.{v₆, u₆} T'] {L' : CategoryTheory.Functor C' T'} {R' : CategoryTheory.Functor D' T'} {F₁ : CategoryTheory.Functor C C'} {F₂ : CategoryTheory.Functor D D'} {F : CategoryTheory.Functor T T'} (α : F₁.comp L' ⟶ L.comp F) (β : R.comp F ⟶ F₂.comp R') [CategoryTheory.IsIso β] (X : CategoryTheory.Comma L' R') {Y Z : CategoryTheory.Comma (CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.id (L'.obj X.left)) α) (CategoryTheory.StructuredArrow.map₂ X.hom (CategoryTheory.inv β))} (f : Y ⟶ Z) : (CategoryTheory.StructuredArrow.commaMapEquivalenceInverse α β X).map f = CategoryTheory.StructuredArrow.homMk { left := CategoryTheory.StructuredArrow.Hom.right f.left, right := CategoryTheory.StructuredArrow.Hom.right f.right, w := ⋯ } ⋯ - CategoryTheory.Bicategory.LeftExtension.w 📋 Mathlib.CategoryTheory.Bicategory.Extension
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} {s t : CategoryTheory.Bicategory.LeftExtension f g} (η : s ⟶ t) : CategoryTheory.CategoryStruct.comp s.unit (CategoryTheory.Bicategory.whiskerLeft f (CategoryTheory.StructuredArrow.Hom.right η)) = t.unit - CategoryTheory.Bicategory.LeftLift.w 📋 Mathlib.CategoryTheory.Bicategory.Extension
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : b ⟶ a} {g : c ⟶ a} {s t : CategoryTheory.Bicategory.LeftLift f g} (h : s ⟶ t) : CategoryTheory.CategoryStruct.comp s.unit (CategoryTheory.Bicategory.whiskerRight (CategoryTheory.StructuredArrow.Hom.right h) f) = t.unit - CategoryTheory.Bicategory.LeftExtension.whiskerHom_right 📋 Mathlib.CategoryTheory.Bicategory.Extension
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} {s t : CategoryTheory.Bicategory.LeftExtension f g} (i : s ⟶ t) {x : B} (h : c ⟶ x) : (CategoryTheory.Bicategory.LeftExtension.whiskerHom i h).right = CategoryTheory.Bicategory.whiskerRight (CategoryTheory.StructuredArrow.Hom.right i) h - CategoryTheory.Bicategory.LeftExtension.whiskering_map 📋 Mathlib.CategoryTheory.Bicategory.Extension
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} {x : B} (h : c ⟶ x) {X✝ Y✝ : CategoryTheory.Bicategory.LeftExtension f g} (η : X✝ ⟶ Y✝) : (CategoryTheory.Bicategory.LeftExtension.whiskering h).map η = CategoryTheory.Bicategory.LeftExtension.homMk (CategoryTheory.Bicategory.whiskerRight (CategoryTheory.StructuredArrow.Hom.right η) h) ⋯ - CategoryTheory.Bicategory.LeftExtension.w_assoc 📋 Mathlib.CategoryTheory.Bicategory.Extension
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} {s t : CategoryTheory.Bicategory.LeftExtension f g} (η : s ⟶ t) {Z : a ⟶ c} (h : CategoryTheory.CategoryStruct.comp f (CategoryTheory.StructuredArrow.right t) ⟶ Z) : CategoryTheory.CategoryStruct.comp s.unit (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerLeft f (CategoryTheory.StructuredArrow.Hom.right η)) h) = CategoryTheory.CategoryStruct.comp t.unit h - CategoryTheory.Bicategory.LeftLift.w_assoc 📋 Mathlib.CategoryTheory.Bicategory.Extension
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : b ⟶ a} {g : c ⟶ a} {s t : CategoryTheory.Bicategory.LeftLift f g} (h : s ⟶ t) {Z : c ⟶ a} (h✝ : CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.right t) f ⟶ Z) : CategoryTheory.CategoryStruct.comp s.unit (CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerRight (CategoryTheory.StructuredArrow.Hom.right h) f) h✝) = CategoryTheory.CategoryStruct.comp t.unit h✝ - CategoryTheory.Bicategory.LeftExtension.IsKan.uniqueUpToIso_hom_right 📋 Mathlib.CategoryTheory.Bicategory.Kan.IsKan
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} {s t : CategoryTheory.Bicategory.LeftExtension f g} (P : s.IsKan) (Q : t.IsKan) : CategoryTheory.StructuredArrow.Hom.right (P.uniqueUpToIso Q).hom = P.desc t - CategoryTheory.Bicategory.LeftExtension.IsKan.uniqueUpToIso_inv_right 📋 Mathlib.CategoryTheory.Bicategory.Kan.IsKan
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : a ⟶ b} {g : a ⟶ c} {s t : CategoryTheory.Bicategory.LeftExtension f g} (P : s.IsKan) (Q : t.IsKan) : CategoryTheory.StructuredArrow.Hom.right (P.uniqueUpToIso Q).inv = Q.desc s - CategoryTheory.Bicategory.LeftLift.IsKan.uniqueUpToIso_hom_right 📋 Mathlib.CategoryTheory.Bicategory.Kan.IsKan
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : b ⟶ a} {g : c ⟶ a} {s t : CategoryTheory.Bicategory.LeftLift f g} (P : s.IsKan) (Q : t.IsKan) : CategoryTheory.StructuredArrow.Hom.right (P.uniqueUpToIso Q).hom = P.desc t - CategoryTheory.Bicategory.LeftLift.IsKan.uniqueUpToIso_inv_right 📋 Mathlib.CategoryTheory.Bicategory.Kan.IsKan
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} {f : b ⟶ a} {g : c ⟶ a} {s t : CategoryTheory.Bicategory.LeftLift f g} (P : s.IsKan) (Q : t.IsKan) : CategoryTheory.StructuredArrow.Hom.right (P.uniqueUpToIso Q).inv = Q.desc s - CategoryTheory.Bicategory.Lan.CommuteWith.lanCompIsoWhisker_hom_right 📋 Mathlib.CategoryTheory.Bicategory.Kan.HasKan
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) (g : a ⟶ c) [CategoryTheory.Bicategory.HasLeftKanExtension f g] {x : B} (h : c ⟶ x) [CategoryTheory.Bicategory.Lan.CommuteWith f g h] : CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.Bicategory.Lan.CommuteWith.lanCompIsoWhisker f g h).hom = CategoryTheory.Bicategory.lanDesc ((CategoryTheory.Bicategory.lanLeftExtension f g).whisker h) - CategoryTheory.Bicategory.LanLift.CommuteWith.lanLiftCompIsoWhisker_hom_right 📋 Mathlib.CategoryTheory.Bicategory.Kan.HasKan
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : b ⟶ a) (g : c ⟶ a) [CategoryTheory.Bicategory.HasLeftKanLift f g] {x : B} (h : x ⟶ c) [CategoryTheory.Bicategory.LanLift.CommuteWith f g h] : CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.Bicategory.LanLift.CommuteWith.lanLiftCompIsoWhisker f g h).hom = CategoryTheory.Bicategory.lanLiftDesc ((CategoryTheory.Bicategory.lanLiftLeftLift f g).whisker h) - CategoryTheory.Bicategory.Lan.CommuteWith.lanCompIsoWhisker_inv_right 📋 Mathlib.CategoryTheory.Bicategory.Kan.HasKan
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : a ⟶ b) (g : a ⟶ c) [CategoryTheory.Bicategory.HasLeftKanExtension f g] {x : B} (h : c ⟶ x) [CategoryTheory.Bicategory.Lan.CommuteWith f g h] : CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.Bicategory.Lan.CommuteWith.lanCompIsoWhisker f g h).inv = (CategoryTheory.Bicategory.Lan.CommuteWith.isKan f g h).desc (CategoryTheory.Bicategory.lanLeftExtension f (CategoryTheory.CategoryStruct.comp g h)) - CategoryTheory.Bicategory.LanLift.CommuteWith.lanLiftCompIsoWhisker_inv_right 📋 Mathlib.CategoryTheory.Bicategory.Kan.HasKan
{B : Type u} [CategoryTheory.Bicategory B] {a b c : B} (f : b ⟶ a) (g : c ⟶ a) [CategoryTheory.Bicategory.HasLeftKanLift f g] {x : B} (h : x ⟶ c) [CategoryTheory.Bicategory.LanLift.CommuteWith f g h] : CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.Bicategory.LanLift.CommuteWith.lanLiftCompIsoWhisker f g h).inv = (CategoryTheory.Bicategory.LanLift.CommuteWith.isKan f g h).desc (CategoryTheory.Bicategory.lanLiftLeftLift f (CategoryTheory.CategoryStruct.comp h g)) - Alexandrov.projSup_obj 📋 Mathlib.Topology.Sheaves.Alexandrov
{X : Type v} [TopologicalSpace X] [Preorder X] [Topology.IsUpperSet X] {ι : Type v} (Us : ι → TopologicalSpace.Opens X) (f : CategoryTheory.StructuredArrow (Opposite.op (iSup Us)) (Alexandrov.principals X)) : (Alexandrov.projSup Us).obj f = Opposite.op { obj := Alexandrov.principalOpen f.right, property := ⋯ } - Alexandrov.projSup_map 📋 Mathlib.Topology.Sheaves.Alexandrov
{X : Type v} [TopologicalSpace X] [Preorder X] [Topology.IsUpperSet X] {ι : Type v} (Us : ι → TopologicalSpace.Opens X) {X✝ Y✝ : CategoryTheory.StructuredArrow (Opposite.op (iSup Us)) (Alexandrov.principals X)} (e : X✝ ⟶ Y✝) : (Alexandrov.projSup Us).map e = (CategoryTheory.ObjectProperty.homMk (CategoryTheory.homOfLE ⋯)).op - Alexandrov.lowerCone_π_app 📋 Mathlib.Topology.Sheaves.Alexandrov
{X : Type v} [TopologicalSpace X] [Preorder X] [Topology.IsUpperSet X] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasLimits C] {F : CategoryTheory.Functor X C} {α : Type v} (Us : α → TopologicalSpace.Opens X) (S : CategoryTheory.Limits.Cone ((CategoryTheory.ObjectProperty.ι fun V => ∃ i, V ≤ Us i).op.comp (Alexandrov.principalsKanExtension F))) (f : CategoryTheory.StructuredArrow (Opposite.op (iSup Us)) (Alexandrov.principals X)) : (Alexandrov.lowerCone Us S).π.app f = CategoryTheory.CategoryStruct.comp (S.π.app ((Alexandrov.projSup Us).obj f)) (CategoryTheory.Limits.limit.π ((Alexandrov.generator (Alexandrov.principalOpen f.right)).comp F) { left := { as := PUnit.unit }, right := f.right, hom := CategoryTheory.CategoryStruct.id ((CategoryTheory.Functor.fromPUnit (Opposite.op (Alexandrov.principalOpen f.right))).obj { as := PUnit.unit }) })
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 ce5dd8c