Loogle!
Result
Found 150 declarations mentioning CategoryTheory.CostructuredArrow.hom.
- CategoryTheory.CostructuredArrow.hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : CategoryTheory.Functor C D} {T : D} (X : CategoryTheory.CostructuredArrow S T) : S.obj X.left ⟶ T - CategoryTheory.CostructuredArrow.eq_mk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} (f : CategoryTheory.CostructuredArrow S T) : f = CategoryTheory.CostructuredArrow.mk f.hom - CategoryTheory.CostructuredArrow.eta 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} (f : CategoryTheory.CostructuredArrow S T) : f ≅ CategoryTheory.CostructuredArrow.mk f.hom - CategoryTheory.CostructuredArrow.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] {T : D} {Y : C} {S : CategoryTheory.Functor C D} (f : S.obj Y ⟶ T) : (CategoryTheory.CostructuredArrow.mk f).hom = f - CategoryTheory.CostructuredArrow.homMk' 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {Y' : C} {S : CategoryTheory.Functor C D} (f : CategoryTheory.CostructuredArrow S T) (g : Y' ⟶ f.left) : CategoryTheory.CostructuredArrow.mk (CategoryTheory.CategoryStruct.comp (S.map g) f.hom) ⟶ f - CategoryTheory.CostructuredArrow.IsUniversal.hom_desc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {f : CategoryTheory.CostructuredArrow S T} (h : f.IsUniversal) {c : C} (η : c ⟶ f.left) : η = h.lift (CategoryTheory.CostructuredArrow.mk (CategoryTheory.CategoryStruct.comp (S.map η) f.hom)) - CategoryTheory.CostructuredArrow.homMk'_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {Y' : C} {S : CategoryTheory.Functor C D} (f : CategoryTheory.CostructuredArrow S T) (g : Y' ⟶ f.left) : (f.homMk' g).left = g - CategoryTheory.CostructuredArrow.IsUniversal.fac 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {f : CategoryTheory.CostructuredArrow S T} (h : f.IsUniversal) (g : CategoryTheory.CostructuredArrow S T) : CategoryTheory.CategoryStruct.comp (S.map (h.lift g)) f.hom = g.hom - CategoryTheory.CostructuredArrow.obj_ext 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} (x y : CategoryTheory.CostructuredArrow S T) (hl : x.left = y.left) (hh : CategoryTheory.CategoryStruct.comp (S.map (CategoryTheory.eqToHom hl)) y.hom = x.hom) : x = y - CategoryTheory.CostructuredArrow.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] (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) (S : C) (X : CategoryTheory.CostructuredArrow F S) : (CategoryTheory.CostructuredArrow.post F G S).obj X = CategoryTheory.CostructuredArrow.mk (G.map X.hom) - CategoryTheory.CostructuredArrow.IsUniversal.existsUnique 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {f : CategoryTheory.CostructuredArrow S T} (h : f.IsUniversal) (g : CategoryTheory.CostructuredArrow S T) : ∃! η, CategoryTheory.CategoryStruct.comp (S.map η) f.hom = g.hom - CategoryTheory.CostructuredArrow.isoMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {f f' : CategoryTheory.CostructuredArrow S T} (g : f.left ≅ f'.left) (w : CategoryTheory.CategoryStruct.comp (S.map g.hom) f'.hom = f.hom := by cat_disch) : f ≅ f' - CategoryTheory.CostructuredArrow.homMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {f f' : CategoryTheory.CostructuredArrow S T} (g : f.left ⟶ f'.left) (w : CategoryTheory.CategoryStruct.comp (S.map g) f'.hom = f.hom := by cat_disch) : f ⟶ f' - CategoryTheory.CostructuredArrow.eta_hom_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} (f : CategoryTheory.CostructuredArrow S T) : f.eta.hom.left = CategoryTheory.CategoryStruct.id f.left - CategoryTheory.CostructuredArrow.eta_inv_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} (f : CategoryTheory.CostructuredArrow S T) : f.eta.inv.left = CategoryTheory.CategoryStruct.id f.left - CategoryTheory.CostructuredArrow.epi_homMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A B : CategoryTheory.CostructuredArrow S T} (f : A.left ⟶ B.left) (w : CategoryTheory.CategoryStruct.comp (S.map f) B.hom = A.hom) [h : CategoryTheory.Epi f] : CategoryTheory.Epi (CategoryTheory.CostructuredArrow.homMk f w) - CategoryTheory.CostructuredArrow.mono_homMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {A B : CategoryTheory.CostructuredArrow S T} (f : A.left ⟶ B.left) (w : CategoryTheory.CategoryStruct.comp (S.map f) B.hom = A.hom) [h : CategoryTheory.Mono f] : CategoryTheory.Mono (CategoryTheory.CostructuredArrow.homMk f w) - CategoryTheory.CostructuredArrow.IsUniversal.fac_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {f : CategoryTheory.CostructuredArrow S T} (h : f.IsUniversal) (g : CategoryTheory.CostructuredArrow S T) {Z : D} (h✝ : T ⟶ Z) : CategoryTheory.CategoryStruct.comp (S.map (h.lift g)) (CategoryTheory.CategoryStruct.comp f.hom h✝) = CategoryTheory.CategoryStruct.comp g.hom h✝ - CategoryTheory.CostructuredArrow.toStructuredArrow_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.CostructuredArrow F d)ᵒᵖ) : (CategoryTheory.CostructuredArrow.toStructuredArrow F d).obj X = CategoryTheory.StructuredArrow.mk (Opposite.unop X).hom.op - CategoryTheory.CostructuredArrow.IsUniversal.hom_ext 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {f : CategoryTheory.CostructuredArrow S T} (h : f.IsUniversal) {c : C} {η η' : c ⟶ f.left} (w : CategoryTheory.CategoryStruct.comp (S.map η) f.hom = CategoryTheory.CategoryStruct.comp (S.map η') f.hom) : η = η' - CategoryTheory.CostructuredArrow.homMk_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {f f' : CategoryTheory.CostructuredArrow S T} (g : f.left ⟶ f'.left) (w : CategoryTheory.CategoryStruct.comp (S.map g) f'.hom = f.hom := by cat_disch) : (CategoryTheory.CostructuredArrow.homMk g w).left = g - CategoryTheory.CostructuredArrow.w 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : CategoryTheory.Functor C D} {T : D} {X Y : CategoryTheory.CostructuredArrow S T} (f : X ⟶ Y) : CategoryTheory.CategoryStruct.comp (S.map f.left) Y.hom = X.hom - CategoryTheory.CostructuredArrow.Hom.w 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : CategoryTheory.Functor C D} {T : D} {X Y : CategoryTheory.CostructuredArrow S T} (f : X ⟶ Y) : CategoryTheory.CategoryStruct.comp (S.map f.left) Y.hom = X.hom - CategoryTheory.Comma.costructuredArrowSndInclusion_obj_left_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) (b : B) (X : CategoryTheory.CostructuredArrow L (R.obj b)) : ((CategoryTheory.Comma.costructuredArrowSndInclusion L R b).obj X).left.hom = X.hom - CategoryTheory.CostructuredArrow.w_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : CategoryTheory.Functor C D} {T : D} {X Y : CategoryTheory.CostructuredArrow S T} (f : X ⟶ Y) {Z : D} (h : T ⟶ Z) : CategoryTheory.CategoryStruct.comp (S.map f.left) (CategoryTheory.CategoryStruct.comp Y.hom h) = CategoryTheory.CategoryStruct.comp X.hom h - CategoryTheory.CostructuredArrow.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 : CategoryTheory.Functor C D} {T : D} {X Y : CategoryTheory.CostructuredArrow S T} (f : X ⟶ Y) {Z : D} (h : T ⟶ Z) : CategoryTheory.CategoryStruct.comp (S.map f.left) (CategoryTheory.CategoryStruct.comp Y.hom h) = CategoryTheory.CategoryStruct.comp X.hom h - CategoryTheory.CostructuredArrow.isoMk_hom_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {f f' : CategoryTheory.CostructuredArrow S T} (g : f.left ≅ f'.left) (w : CategoryTheory.CategoryStruct.comp (S.map g.hom) f'.hom = f.hom := by cat_disch) : (CategoryTheory.CostructuredArrow.isoMk g w).hom.left = g.hom - CategoryTheory.CostructuredArrow.isoMk_inv_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {f f' : CategoryTheory.CostructuredArrow S T} (g : f.left ≅ f'.left) (w : CategoryTheory.CategoryStruct.comp (S.map g.hom) f'.hom = f.hom := by cat_disch) : (CategoryTheory.CostructuredArrow.isoMk g w).inv.left = g.inv - CategoryTheory.CostructuredArrow.toStructuredArrow'_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.CostructuredArrow F.op (Opposite.op d))ᵒᵖ) : (CategoryTheory.CostructuredArrow.toStructuredArrow' F d).obj X = CategoryTheory.StructuredArrow.mk (Opposite.unop X).hom.unop - CategoryTheory.CostructuredArrow.homMk'_id 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} (f : CategoryTheory.CostructuredArrow S T) : f.homMk' (CategoryTheory.CategoryStruct.id f.left) = CategoryTheory.eqToHom ⋯ - CategoryTheory.CostructuredArrow.homMk'_mk_id 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {Y : C} {S : CategoryTheory.Functor C D} (f : S.obj Y ⟶ T) : (CategoryTheory.CostructuredArrow.mk f).homMk' (CategoryTheory.CategoryStruct.id Y) = CategoryTheory.eqToHom ⋯ - CategoryTheory.CostructuredArrow.homMk_surjective 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S : CategoryTheory.Functor C D} {f f' : CategoryTheory.CostructuredArrow S T} (φ : f ⟶ f') : ∃ ψ, ∃ (hψ : CategoryTheory.CategoryStruct.comp (S.map ψ) f'.hom = f.hom), φ = CategoryTheory.CostructuredArrow.homMk ψ hψ - CategoryTheory.CostructuredArrow.homMk'_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {Y' : C} {S : CategoryTheory.Functor C D} (f : CategoryTheory.CostructuredArrow S T) (g : Y' ⟶ f.left) : (f.homMk' g).right = CategoryTheory.CategoryStruct.id (CategoryTheory.CostructuredArrow.mk (CategoryTheory.CategoryStruct.comp (S.map g) f.hom)).right - CategoryTheory.CostructuredArrow.preEquivalence.inverse_obj_left_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.CostructuredArrow G e) (g : CategoryTheory.CostructuredArrow F f.left) : ((CategoryTheory.CostructuredArrow.preEquivalence.inverse F f).obj g).left.hom = CategoryTheory.CategoryStruct.comp (G.map g.hom) f.hom - CategoryTheory.Comma.costructuredArrowSndProj_obj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) (b : B) (X : CategoryTheory.CostructuredArrow (CategoryTheory.Comma.snd L R) b) : (CategoryTheory.Comma.costructuredArrowSndProj L R b).obj X = CategoryTheory.CostructuredArrow.mk (CategoryTheory.CategoryStruct.comp X.left.hom (R.map X.hom)) - CategoryTheory.CostructuredArrow.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] (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) (S : C) {X✝ Y✝ : CategoryTheory.CostructuredArrow F S} (f : X✝ ⟶ Y✝) : (CategoryTheory.CostructuredArrow.post F G S).map f = CategoryTheory.CostructuredArrow.homMk f.left ⋯ - CategoryTheory.CostructuredArrow.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 : CategoryTheory.Functor C D) (S' : CategoryTheory.Functor C' D') (T : D) (T' : D') (f : CategoryTheory.CostructuredArrow S T × CategoryTheory.CostructuredArrow S' T') : (CategoryTheory.CostructuredArrow.prodInverse S S' T T').obj f = CategoryTheory.CostructuredArrow.mk (f.1.hom, f.2.hom) - CategoryTheory.CostructuredArrow.preEquivalence.inverse_obj_hom_left 📋 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.CostructuredArrow G e) (g : CategoryTheory.CostructuredArrow F f.left) : ((CategoryTheory.CostructuredArrow.preEquivalence.inverse F f).obj g).hom.left = g.hom - CategoryTheory.CostructuredArrow.preEquivalence.functor_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.CostructuredArrow G e) (g : CategoryTheory.CostructuredArrow (CategoryTheory.CostructuredArrow.pre F G e) f) : ((CategoryTheory.CostructuredArrow.preEquivalence.functor F f).obj g).hom = g.hom.left - CategoryTheory.CostructuredArrow.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 : CategoryTheory.Functor C D) (S' : CategoryTheory.Functor C' D') (T : D) (T' : D') (f : CategoryTheory.CostructuredArrow (S.prod S') (T, T')) : (CategoryTheory.CostructuredArrow.prodFunctor S S' T T').obj f = (CategoryTheory.CostructuredArrow.mk f.hom.1, CategoryTheory.CostructuredArrow.mk f.hom.2) - CategoryTheory.CostructuredArrow.toStructuredArrow_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.CostructuredArrow F d)ᵒᵖ} (f : X✝ ⟶ Y✝) : (CategoryTheory.CostructuredArrow.toStructuredArrow F d).map f = CategoryTheory.StructuredArrow.homMk f.unop.left.op ⋯ - CategoryTheory.Comma.costructuredArrowSndInclusion_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) (b : B) {X✝ Y✝ : CategoryTheory.CostructuredArrow L (R.obj b)} (f : X✝ ⟶ Y✝) : (CategoryTheory.Comma.costructuredArrowSndInclusion L R b).map f = CategoryTheory.CostructuredArrow.homMk { left := f.left, right := CategoryTheory.CategoryStruct.id b, w := ⋯ } ⋯ - CategoryTheory.CostructuredArrow.homMk'_mk_comp 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {Y Y' Y'' : C} {S : CategoryTheory.Functor C D} (f : S.obj Y ⟶ T) (g : Y' ⟶ Y) (g' : Y'' ⟶ Y') : (CategoryTheory.CostructuredArrow.mk f).homMk' (CategoryTheory.CategoryStruct.comp g' g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom ⋯) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CostructuredArrow.mk (CategoryTheory.CategoryStruct.comp (S.map g) f)).homMk' g') ((CategoryTheory.CostructuredArrow.mk f).homMk' g)) - CategoryTheory.CostructuredArrow.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 : CategoryTheory.Functor C D) (S' : CategoryTheory.Functor C' D') (T : D) (T' : D') {A B : CategoryTheory.CostructuredArrow (S.prod S') (T, T')} (f : A ⟶ B) : CategoryTheory.CategoryStruct.comp (S.map f.left.1) B.hom.1 = A.hom.1 - CategoryTheory.CostructuredArrow.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 : CategoryTheory.Functor C D) (S' : CategoryTheory.Functor C' D') (T : D) (T' : D') {A B : CategoryTheory.CostructuredArrow (S.prod S') (T, T')} (f : A ⟶ B) : CategoryTheory.CategoryStruct.comp (S'.map f.left.2) B.hom.2 = A.hom.2 - CategoryTheory.CostructuredArrow.toStructuredArrow'_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.CostructuredArrow F.op (Opposite.op d))ᵒᵖ} (f : X✝ ⟶ Y✝) : (CategoryTheory.CostructuredArrow.toStructuredArrow' F d).map f = CategoryTheory.StructuredArrow.homMk f.unop.left.unop ⋯ - CategoryTheory.CostructuredArrow.homMk'_comp 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {Y' Y'' : C} {S : CategoryTheory.Functor C D} (f : CategoryTheory.CostructuredArrow S T) (g : Y' ⟶ f.left) (g' : Y'' ⟶ Y') : f.homMk' (CategoryTheory.CategoryStruct.comp g' g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom ⋯) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CostructuredArrow.mk (CategoryTheory.CategoryStruct.comp (S.map g) f.hom)).homMk' g') (f.homMk' g)) - CategoryTheory.CostructuredArrow.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 : CategoryTheory.Functor C D) (S' : CategoryTheory.Functor C' D') (T : D) (T' : D') {A B : CategoryTheory.CostructuredArrow (S.prod S') (T, T')} (f : A ⟶ B) {Z : D} (h : T ⟶ Z) : CategoryTheory.CategoryStruct.comp (S.map f.left.1) (CategoryTheory.CategoryStruct.comp B.hom.1 h) = CategoryTheory.CategoryStruct.comp A.hom.1 h - CategoryTheory.CostructuredArrow.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 : CategoryTheory.Functor C D) (S' : CategoryTheory.Functor C' D') (T : D) (T' : D') {A B : CategoryTheory.CostructuredArrow (S.prod S') (T, T')} (f : A ⟶ B) {Z : D'} (h : T' ⟶ Z) : CategoryTheory.CategoryStruct.comp (S'.map f.left.2) (CategoryTheory.CategoryStruct.comp B.hom.2 h) = CategoryTheory.CategoryStruct.comp A.hom.2 h - CategoryTheory.CostructuredArrow.preEquivalence.functor_map_left 📋 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.CostructuredArrow G e) {X✝ Y✝ : CategoryTheory.CostructuredArrow (CategoryTheory.CostructuredArrow.pre F G e) f} (φ : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.preEquivalence.functor F f).map φ).left = φ.left.left - CategoryTheory.Comma.costructuredArrowSndProj_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) (b : B) {X✝ Y✝ : CategoryTheory.CostructuredArrow (CategoryTheory.Comma.snd L R) b} (f : X✝ ⟶ Y✝) : (CategoryTheory.Comma.costructuredArrowSndProj L R b).map f = CategoryTheory.CostructuredArrow.homMk f.left.left ⋯ - CategoryTheory.CostructuredArrow.preEquivalence.inverse_map_left_left 📋 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.CostructuredArrow G e) {X✝ Y✝ : CategoryTheory.CostructuredArrow F f.left} (φ : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.preEquivalence.inverse F f).map φ).left.left = φ.left - CategoryTheory.Comma.costructuredArrowSndAdjunction_unit_app 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{A : Type u₁} [CategoryTheory.Category.{v₁, u₁} A] {B : Type u₂} [CategoryTheory.Category.{v₂, u₂} B] {T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] (L : CategoryTheory.Functor A T) (R : CategoryTheory.Functor B T) (b : B) (X : CategoryTheory.CostructuredArrow (CategoryTheory.Comma.snd L R) b) : (CategoryTheory.Comma.costructuredArrowSndAdjunction L R b).unit.app X = CategoryTheory.CostructuredArrow.homMk { left := CategoryTheory.CategoryStruct.id X.left.left, right := X.hom, w := ⋯ } ⋯ - CategoryTheory.CostructuredArrow.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 : CategoryTheory.Functor C D) (S' : CategoryTheory.Functor C' D') (T : D) (T' : D') {X✝ Y✝ : CategoryTheory.CostructuredArrow S T × CategoryTheory.CostructuredArrow S' T'} (η : X✝ ⟶ Y✝) : (CategoryTheory.CostructuredArrow.prodInverse S S' T T').map η = CategoryTheory.CostructuredArrow.homMk (η.1.left, η.2.left) ⋯ - CategoryTheory.CostructuredArrow.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 : CategoryTheory.Functor C D) (S' : CategoryTheory.Functor C' D') (T : D) (T' : D') {X✝ Y✝ : CategoryTheory.CostructuredArrow (S.prod S') (T, T')} (η : X✝ ⟶ Y✝) : (CategoryTheory.CostructuredArrow.prodFunctor S S' T T').map η = (CategoryTheory.CostructuredArrow.homMk η.left.1 ⋯, CategoryTheory.CostructuredArrow.homMk η.left.2 ⋯) - CategoryTheory.CostructuredArrow.ofDiagEquivalence.functor_obj_hom 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] (X : T × T) (Y : CategoryTheory.CostructuredArrow (CategoryTheory.Functor.diag T) X) : ((CategoryTheory.CostructuredArrow.ofDiagEquivalence.functor X).obj Y).hom = Y.hom.2 - CategoryTheory.CostructuredArrow.ofCostructuredArrowProjEquivalence.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 T D) (Y : D) (X : T) (Y✝ : CategoryTheory.CostructuredArrow (CategoryTheory.CostructuredArrow.proj F Y) X) : ((CategoryTheory.CostructuredArrow.ofCostructuredArrowProjEquivalence.functor F Y X).obj Y✝).hom = Y✝.left.hom - CategoryTheory.CostructuredArrow.ofDiagEquivalence.functor_obj_left_hom 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] (X : T × T) (Y : CategoryTheory.CostructuredArrow (CategoryTheory.Functor.diag T) X) : ((CategoryTheory.CostructuredArrow.ofDiagEquivalence.functor X).obj Y).left.hom = Y.hom.1 - CategoryTheory.CostructuredArrow.ofCostructuredArrowProjEquivalence.functor_obj_left_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 T D) (Y : D) (X : T) (Y✝ : CategoryTheory.CostructuredArrow (CategoryTheory.CostructuredArrow.proj F Y) X) : ((CategoryTheory.CostructuredArrow.ofCostructuredArrowProjEquivalence.functor F Y X).obj Y✝).left.hom = Y✝.hom - CategoryTheory.CostructuredArrow.ofCostructuredArrowProjEquivalence.inverse_obj_left_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 T D) (Y : D) (X : T) (Y✝ : CategoryTheory.CostructuredArrow ((CategoryTheory.Over.forget X).comp F) Y) : ((CategoryTheory.CostructuredArrow.ofCostructuredArrowProjEquivalence.inverse F Y X).obj Y✝).left.hom = Y✝.hom - CategoryTheory.CostructuredArrow.costructuredArrowToOverEquivalence.functor_obj 📋 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) {X : T} (Y : CategoryTheory.Over X) (Z : CategoryTheory.CostructuredArrow (CategoryTheory.CostructuredArrow.toOver F X) Y) : (CategoryTheory.CostructuredArrow.costructuredArrowToOverEquivalence.functor F Y).obj Z = CategoryTheory.CostructuredArrow.mk (CategoryTheory.Over.Hom.left Z.hom) - CategoryTheory.CostructuredArrow.ofCommaFstEquivalenceFunctor_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.CostructuredArrow (CategoryTheory.Comma.fst F G) c) : ((CategoryTheory.CostructuredArrow.ofCommaFstEquivalenceFunctor F G c).obj X).left = CategoryTheory.Over.mk X.hom - CategoryTheory.CostructuredArrow.costructuredArrowToOverEquivalence.inverse_obj 📋 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) {X : T} (Y : CategoryTheory.Over X) (Z : CategoryTheory.CostructuredArrow F Y.left) : (CategoryTheory.CostructuredArrow.costructuredArrowToOverEquivalence.inverse F Y).obj Z = CategoryTheory.CostructuredArrow.mk (CategoryTheory.Over.homMk Z.hom ⋯) - CategoryTheory.CostructuredArrow.ofDiagEquivalence.inverse_obj_hom 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] (X : T × T) (Y : CategoryTheory.CostructuredArrow (CategoryTheory.Over.forget X.1) X.2) : ((CategoryTheory.CostructuredArrow.ofDiagEquivalence.inverse X).obj Y).hom = (Y.left.hom, Y.hom) - CategoryTheory.CostructuredArrow.ofCommaFstEquivalenceFunctor_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.CostructuredArrow (CategoryTheory.Comma.fst F G) c} (f : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.ofCommaFstEquivalenceFunctor F G c).map f).right = f.left.right - CategoryTheory.CostructuredArrow.costructuredArrowToOverEquivalence.functor_map 📋 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) {X : T} (Y : CategoryTheory.Over X) {X✝ Y✝ : CategoryTheory.CostructuredArrow (CategoryTheory.CostructuredArrow.toOver F X) Y} (f : X✝ ⟶ Y✝) : (CategoryTheory.CostructuredArrow.costructuredArrowToOverEquivalence.functor F Y).map f = CategoryTheory.CostructuredArrow.homMk f.left.left ⋯ - CategoryTheory.CostructuredArrow.costructuredArrowToOverEquivalence.inverse_map 📋 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) {X : T} (Y : CategoryTheory.Over X) {X✝ Y✝ : CategoryTheory.CostructuredArrow F Y.left} (f : X✝ ⟶ Y✝) : (CategoryTheory.CostructuredArrow.costructuredArrowToOverEquivalence.inverse F Y).map f = CategoryTheory.CostructuredArrow.homMk (CategoryTheory.CostructuredArrow.homMk f.left ⋯) ⋯ - CategoryTheory.CostructuredArrow.ofCommaFstEquivalenceFunctor_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.CostructuredArrow (CategoryTheory.Comma.fst F G) c} (f : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.ofCommaFstEquivalenceFunctor F G c).map f).left = CategoryTheory.Over.homMk f.left.left ⋯ - CategoryTheory.CostructuredArrow.ofDiagEquivalence.functor_map_left_left 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] (X : T × T) {X✝ Y✝ : CategoryTheory.CostructuredArrow (CategoryTheory.Functor.diag T) X} (g : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.ofDiagEquivalence.functor X).map g).left.left = g.left - CategoryTheory.CostructuredArrow.ofDiagEquivalence.inverse_map_left 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] (X : T × T) {X✝ Y✝ : CategoryTheory.CostructuredArrow (CategoryTheory.Over.forget X.1) X.2} (g : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.ofDiagEquivalence.inverse X).map g).left = CategoryTheory.Over.Hom.left g.left - CategoryTheory.CostructuredArrow.ofCostructuredArrowProjEquivalence.functor_map_left_left 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor T D) (Y : D) (X : T) {X✝ Y✝ : CategoryTheory.CostructuredArrow (CategoryTheory.CostructuredArrow.proj F Y) X} (g : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.ofCostructuredArrowProjEquivalence.functor F Y X).map g).left.left = g.left.left - CategoryTheory.CostructuredArrow.ofCostructuredArrowProjEquivalence.inverse_map_left_left 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor T D) (Y : D) (X : T) {X✝ Y✝ : CategoryTheory.CostructuredArrow ((CategoryTheory.Over.forget X).comp F) Y} (g : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.ofCostructuredArrowProjEquivalence.inverse F Y X).map g).left.left = CategoryTheory.Over.Hom.left g.left - CategoryTheory.rightAdjointOfCostructuredArrowTerminalsAux_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.HasTerminal (CategoryTheory.CostructuredArrow G A)] (B : D) (A : C) (g : B ⟶ (⊤_ CategoryTheory.CostructuredArrow G A).left) : (CategoryTheory.rightAdjointOfCostructuredArrowTerminalsAux G B A).symm g = CategoryTheory.CategoryStruct.comp (G.map g) (⊤_ CategoryTheory.CostructuredArrow G A).hom - CategoryTheory.Limits.Cone.fromCostructuredArrow_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.CostructuredArrow (CategoryTheory.Functor.const J) F) : ((CategoryTheory.Limits.Cone.fromCostructuredArrow F).obj c).π = c.hom - CategoryTheory.Limits.Cocone.fromCostructuredArrow_ι_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.CostructuredArrow F X)) (j : J) : (CategoryTheory.Limits.Cocone.fromCostructuredArrow F G).ι.app j = (G.obj j).hom - CategoryTheory.Limits.Cone.fromCostructuredArrow_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.CostructuredArrow (CategoryTheory.Functor.const J) F} (f : X✝ ⟶ Y✝) : ((CategoryTheory.Limits.Cone.fromCostructuredArrow F).map f).hom = f.left - CategoryTheory.Limits.Cone.equivCostructuredArrow_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.Cone.equivCostructuredArrow F).counitIso = CategoryTheory.NatIso.ofComponents (fun x => x.eta.symm) ⋯ - CategoryTheory.MorphismProperty.costructuredArrowObj_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] (L : CategoryTheory.Functor A T) {W : CategoryTheory.MorphismProperty T} {X : T} (Y : CategoryTheory.CostructuredArrow L X) : CategoryTheory.MorphismProperty.costructuredArrowObj L W Y ↔ W Y.hom - CategoryTheory.MorphismProperty.costructuredArrow_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.CostructuredArrow L X} (e : f ≅ g) : P f.hom ↔ P g.hom - CategoryTheory.CategoryOfElements.costructuredArrowULiftYonedaEquivalence_inverse_obj 📋 Mathlib.CategoryTheory.Elements
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor Cᵒᵖ (Type (max w v))) (X : CategoryTheory.CostructuredArrow CategoryTheory.uliftYoneda.{w, v, u} F) : (CategoryTheory.CategoryOfElements.costructuredArrowULiftYonedaEquivalence F).inverse.obj X = Opposite.op (F.elementsMk (Opposite.op X.left) (CategoryTheory.uliftYonedaEquiv X.hom)) - CategoryTheory.CategoryOfElements.costructuredArrowULiftYonedaEquivalence_inverse_map 📋 Mathlib.CategoryTheory.Elements
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor Cᵒᵖ (Type (max w v))) {X✝ Y✝ : CategoryTheory.CostructuredArrow CategoryTheory.uliftYoneda.{w, v, u} F} (f : X✝ ⟶ Y✝) : (CategoryTheory.CategoryOfElements.costructuredArrowULiftYonedaEquivalence F).inverse.map f = (CategoryTheory.CategoryOfElements.homMk (F.elementsMk (Opposite.op Y✝.left) (CategoryTheory.uliftYonedaEquiv Y✝.hom)) (F.elementsMk (Opposite.op X✝.left) (CategoryTheory.uliftYonedaEquiv X✝.hom)) f.left.op ⋯).op - CategoryTheory.CategoryOfElements.costructuredArrowULiftYonedaEquivalence_counitIso 📋 Mathlib.CategoryTheory.Elements
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor Cᵒᵖ (Type (max w v))) : (CategoryTheory.CategoryOfElements.costructuredArrowULiftYonedaEquivalence F).counitIso = CategoryTheory.NatIso.ofComponents (fun X => CategoryTheory.CostructuredArrow.isoMk (CategoryTheory.Iso.refl (({ obj := fun X => Opposite.op (F.elementsMk (Opposite.op X.left) (CategoryTheory.uliftYonedaEquiv X.hom)), map := fun {X Y} f => (CategoryTheory.CategoryOfElements.homMk (F.elementsMk (Opposite.op Y.left) (CategoryTheory.uliftYonedaEquiv Y.hom)) (F.elementsMk (Opposite.op X.left) (CategoryTheory.uliftYonedaEquiv X.hom)) f.left.op ⋯).op, map_id := ⋯, map_comp := ⋯ }.comp { obj := fun x => CategoryTheory.CostructuredArrow.mk (CategoryTheory.uliftYonedaEquiv.symm (Opposite.unop x).snd), map := fun {X Y} f => CategoryTheory.CostructuredArrow.homMk (↑(Opposite.unop f)).unop ⋯, map_id := ⋯, map_comp := ⋯ }).obj X).left) ⋯) ⋯ - CategoryTheory.CategoryOfElements.costructuredArrowULiftYonedaEquivalence_unitIso 📋 Mathlib.CategoryTheory.Elements
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor Cᵒᵖ (Type (max w v))) : (CategoryTheory.CategoryOfElements.costructuredArrowULiftYonedaEquivalence F).unitIso = CategoryTheory.NatIso.ofComponents (fun x => (CategoryTheory.CategoryOfElements.isoMk (F.elementsMk (Opposite.op ({ obj := fun x => CategoryTheory.CostructuredArrow.mk (CategoryTheory.uliftYonedaEquiv.symm (Opposite.unop x).snd), map := fun {X Y} f => CategoryTheory.CostructuredArrow.homMk (↑(Opposite.unop f)).unop ⋯, map_id := ⋯, map_comp := ⋯ }.obj x).left) (CategoryTheory.uliftYonedaEquiv ({ obj := fun x => CategoryTheory.CostructuredArrow.mk (CategoryTheory.uliftYonedaEquiv.symm (Opposite.unop x).snd), map := fun {X Y} f => CategoryTheory.CostructuredArrow.homMk (↑(Opposite.unop f)).unop ⋯, map_id := ⋯, map_comp := ⋯ }.obj x).hom)) (Opposite.unop x) (CategoryTheory.Iso.refl (F.elementsMk (Opposite.op ({ obj := fun x => CategoryTheory.CostructuredArrow.mk (CategoryTheory.uliftYonedaEquiv.symm (Opposite.unop x).snd), map := fun {X Y} f => CategoryTheory.CostructuredArrow.homMk (↑(Opposite.unop f)).unop ⋯, map_id := ⋯, map_comp := ⋯ }.obj x).left) (CategoryTheory.uliftYonedaEquiv ({ obj := fun x => CategoryTheory.CostructuredArrow.mk (CategoryTheory.uliftYonedaEquiv.symm (Opposite.unop x).snd), map := fun {X Y} f => CategoryTheory.CostructuredArrow.homMk (↑(Opposite.unop f)).unop ⋯, map_id := ⋯, map_comp := ⋯ }.obj x).hom)).fst) ⋯).op) ⋯ - CategoryTheory.OverPresheafAux.restrictedYonedaObj_obj 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A F : CategoryTheory.Functor Cᵒᵖ (Type v)} (η : F ⟶ A) (s : (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ) : (CategoryTheory.OverPresheafAux.restrictedYonedaObj η).obj s = CategoryTheory.OverPresheafAux.OverArrows η (Opposite.unop s).hom - CategoryTheory.OverPresheafAux.counitBackward 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (F : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)) (s : CategoryTheory.CostructuredArrow CategoryTheory.yoneda A) : CategoryTheory.OverPresheafAux.OverArrows (CategoryTheory.OverPresheafAux.yonedaCollectionPresheafToA F) s.hom → F.obj (Opposite.op s) - CategoryTheory.OverPresheafAux.counitForward 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (F : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)) (s : CategoryTheory.CostructuredArrow CategoryTheory.yoneda A) : F.obj (Opposite.op s) → CategoryTheory.OverPresheafAux.OverArrows (CategoryTheory.OverPresheafAux.yonedaCollectionPresheafToA F) s.hom - CategoryTheory.OverPresheafAux.counitAuxAux 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (F : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)) (s : CategoryTheory.CostructuredArrow CategoryTheory.yoneda A) : F.obj (Opposite.op s) ≅ CategoryTheory.OverPresheafAux.OverArrows (CategoryTheory.OverPresheafAux.yonedaCollectionPresheafToA F) s.hom - CategoryTheory.OverPresheafAux.OverArrows.costructuredArrowIso 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (s t : CategoryTheory.CostructuredArrow CategoryTheory.yoneda A) : CategoryTheory.OverPresheafAux.OverArrows s.hom t.hom ≅ t ⟶ s - CategoryTheory.OverPresheafAux.counitForward_val_fst 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} {F : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)} (s : CategoryTheory.CostructuredArrow CategoryTheory.yoneda A) (x : F.obj (Opposite.op s)) : CategoryTheory.OverPresheafAux.YonedaCollection.fst (CategoryTheory.OverPresheafAux.counitForward F s x).val = s.hom - CategoryTheory.OverPresheafAux.counitForward_counitBackward 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (F : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)) (s : CategoryTheory.CostructuredArrow CategoryTheory.yoneda A) : CategoryTheory.OverPresheafAux.counitForward F s ∘ CategoryTheory.OverPresheafAux.counitBackward F s = id - CategoryTheory.OverPresheafAux.counitAuxAux_hom 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (F : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)) (s : CategoryTheory.CostructuredArrow CategoryTheory.yoneda A) : (CategoryTheory.OverPresheafAux.counitAuxAux F s).hom = TypeCat.ofHom (CategoryTheory.OverPresheafAux.counitForward F s) - CategoryTheory.OverPresheafAux.counitAuxAux_inv 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (F : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)) (s : CategoryTheory.CostructuredArrow CategoryTheory.yoneda A) : (CategoryTheory.OverPresheafAux.counitAuxAux F s).inv = TypeCat.ofHom (CategoryTheory.OverPresheafAux.counitBackward F s) - CategoryTheory.OverPresheafAux.counitBackward_counitForward 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (F : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)) (s : CategoryTheory.CostructuredArrow CategoryTheory.yoneda A) : CategoryTheory.OverPresheafAux.counitBackward F s ∘ CategoryTheory.OverPresheafAux.counitForward F s = id - CategoryTheory.OverPresheafAux.counitAux_hom 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} (F : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)) : (CategoryTheory.OverPresheafAux.counitAux F).hom = { app := fun X => TypeCat.ofHom (CategoryTheory.OverPresheafAux.counitForward F (Opposite.unop X)), naturality := ⋯ } - CategoryTheory.OverPresheafAux.restrictedYonedaObjMap₁_app 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A F G : CategoryTheory.Functor Cᵒᵖ (Type v)} {η : F ⟶ A} {μ : G ⟶ A} (ε : F ⟶ G) (hε : CategoryTheory.CategoryStruct.comp ε μ = η) (x✝ : (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ) : (CategoryTheory.OverPresheafAux.restrictedYonedaObjMap₁ ε hε).app x✝ = TypeCat.ofHom fun u => CategoryTheory.OverPresheafAux.OverArrows.map₁ u ε hε - CategoryTheory.OverPresheafAux.restrictedYonedaObj_map 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A F : CategoryTheory.Functor Cᵒᵖ (Type v)} (η : F ⟶ A) {X✝ Y✝ : (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ} (f : X✝ ⟶ Y✝) : (CategoryTheory.OverPresheafAux.restrictedYonedaObj η).map f = TypeCat.ofHom fun u => u.map₂ f.unop.left ⋯ - CategoryTheory.OverPresheafAux.counitForward_naturality₁ 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} {F G : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)} (η : F ⟶ G) (s : (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ) (x : F.obj s) : CategoryTheory.OverPresheafAux.counitForward G (Opposite.unop s) ((CategoryTheory.ConcreteCategory.hom (η.app s)) x) = (CategoryTheory.OverPresheafAux.counitForward F (Opposite.unop s) x).map₁ (CategoryTheory.OverPresheafAux.yonedaCollectionPresheafMap₁ η) ⋯ - CategoryTheory.OverPresheafAux.counitForward_naturality₂ 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} {F : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)} (s t : (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ) (f : t ⟶ s) (x : F.obj t) : CategoryTheory.OverPresheafAux.counitForward F (Opposite.unop s) ((CategoryTheory.ConcreteCategory.hom (F.map f)) x) = (CategoryTheory.OverPresheafAux.counitForward F (Opposite.unop t) x).map₂ f.unop.left ⋯ - CategoryTheory.OverPresheafAux.counitForward_val_snd 📋 Mathlib.CategoryTheory.Comma.Presheaf.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : CategoryTheory.Functor Cᵒᵖ (Type v)} {F : CategoryTheory.Functor (CategoryTheory.CostructuredArrow CategoryTheory.yoneda A)ᵒᵖ (Type v)} (s : CategoryTheory.CostructuredArrow CategoryTheory.yoneda A) (x : F.obj (Opposite.op s)) : CategoryTheory.OverPresheafAux.YonedaCollection.snd (CategoryTheory.OverPresheafAux.counitForward F s x).val = (CategoryTheory.ConcreteCategory.hom (F.map (CategoryTheory.eqToHom ⋯))) x - CategoryTheory.Functor.RightExtension.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.RightExtension F₁) (α₂ : L.RightExtension F₂) (e : F₁ ≅ F₂) (e' : CategoryTheory.CostructuredArrow.left α₁ ≅ CategoryTheory.CostructuredArrow.left α₂) (h : CategoryTheory.CategoryStruct.comp (L.whiskerLeft e'.hom) (CategoryTheory.CostructuredArrow.hom α₂) = CategoryTheory.CategoryStruct.comp (CategoryTheory.CostructuredArrow.hom α₁) e.hom) : CategoryTheory.CostructuredArrow.IsUniversal α₁ ≃ CategoryTheory.CostructuredArrow.IsUniversal α₂ - CategoryTheory.Functor.RightExtension.IsPointwiseRightKanExtension.isRightKanExtension 📋 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} (h : E.IsPointwiseRightKanExtension) : (CategoryTheory.CostructuredArrow.left E).IsRightKanExtension (CategoryTheory.CostructuredArrow.hom E) - CategoryTheory.Functor.RightExtension.IsPointwiseRightKanExtension.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.RightExtension F} (h : E.IsPointwiseRightKanExtension) [L.Full] [L.Faithful] : CategoryTheory.IsIso (CategoryTheory.CostructuredArrow.hom E) - CategoryTheory.Functor.RightExtension.IsPointwiseRightKanExtensionAt.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.RightExtension F) {X : C} (h : E.IsPointwiseRightKanExtensionAt (L.obj X)) [L.Full] [L.Faithful] : CategoryTheory.IsIso ((CategoryTheory.CostructuredArrow.hom E).app X) - CategoryTheory.Functor.costructuredArrowMapCocone_ι_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) (α : F ⟶ L.comp G) (Y : D) (f : CategoryTheory.CostructuredArrow L Y) : (L.costructuredArrowMapCocone F G α Y).ι.app f = CategoryTheory.CategoryStruct.comp (α.app f.left) (G.map f.hom) - 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.RightExtension.IsPointwiseRightKanExtensionAt.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.RightExtension F} {Y : D} (h : E.IsPointwiseRightKanExtensionAt Y) {T : H} {f g : T ⟶ (CategoryTheory.CostructuredArrow.left E).obj Y} (hfg : ∀ ⦃X : C⦄ (φ : Y ⟶ L.obj X), CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CostructuredArrow.left E).map φ) ((CategoryTheory.CostructuredArrow.hom E).app X)) = CategoryTheory.CategoryStruct.comp g (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CostructuredArrow.left E).map φ) ((CategoryTheory.CostructuredArrow.hom E).app X))) : 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.CostructuredArrow.grothendieckPrecompFunctorToComma_obj_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Functor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (L : CategoryTheory.Functor C D) (R : CategoryTheory.Functor E D) (P : CategoryTheory.Grothendieck (R.comp (CategoryTheory.CostructuredArrow.functor L))) : ((CategoryTheory.CostructuredArrow.grothendieckPrecompFunctorToComma L R).obj P).hom = CategoryTheory.CostructuredArrow.hom P.fiber - CategoryTheory.CostructuredArrow.grothendieckPrecompFunctorToComma_map_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Functor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (L : CategoryTheory.Functor C D) (R : CategoryTheory.Functor E D) {X✝ Y✝ : CategoryTheory.Grothendieck (R.comp (CategoryTheory.CostructuredArrow.functor L))} (f : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.grothendieckPrecompFunctorToComma L R).map f).right = f.base - CategoryTheory.CostructuredArrow.grothendieckPrecompFunctorToComma_map_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Functor
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (L : CategoryTheory.Functor C D) (R : CategoryTheory.Functor E D) {X✝ Y✝ : CategoryTheory.Grothendieck (R.comp (CategoryTheory.CostructuredArrow.functor L))} (f : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.grothendieckPrecompFunctorToComma L R).map f).left = f.fiber.left - CategoryTheory.Functor.ι_leftKanExtensionObjIsoColimit_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.HasPointwiseLeftKanExtension F] [L.HasLeftKanExtension F] (X : D) (f : CategoryTheory.CostructuredArrow L X) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι ((CategoryTheory.CostructuredArrow.proj L X).comp F) f) (L.leftKanExtensionObjIsoColimit F X).inv = CategoryTheory.CategoryStruct.comp ((L.leftKanExtensionUnit F).app f.left) ((L.leftKanExtension F).map f.hom) - CategoryTheory.Functor.leftKanExtensionUnit_leftKanExtension_map_leftKanExtensionObjIsoColimit_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.HasPointwiseLeftKanExtension F] (X : D) (f : CategoryTheory.CostructuredArrow L X) : CategoryTheory.CategoryStruct.comp ((L.leftKanExtensionUnit F).app f.left) (CategoryTheory.CategoryStruct.comp ((L.leftKanExtension F).map f.hom) (L.leftKanExtensionObjIsoColimit F X).hom) = CategoryTheory.Limits.colimit.ι ((CategoryTheory.CostructuredArrow.proj L X).comp F) f - CategoryTheory.Functor.ι_leftKanExtensionObjIsoColimit_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.HasPointwiseLeftKanExtension F] (X : D) (f : CategoryTheory.CostructuredArrow L X) : CategoryTheory.CategoryStruct.comp ((L.leftKanExtensionUnit F).app f.left) (CategoryTheory.CategoryStruct.comp ((L.leftKanExtension F).map f.hom) (L.leftKanExtensionObjIsoColimit F X).hom) = CategoryTheory.Limits.colimit.ι ((CategoryTheory.CostructuredArrow.proj L X).comp F) f - CategoryTheory.Functor.ι_leftKanExtensionObjIsoColimit_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.HasPointwiseLeftKanExtension F] [L.HasLeftKanExtension F] (X : D) (f : CategoryTheory.CostructuredArrow L X) {Z : H} (h : (L.leftKanExtension F).obj X ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι ((CategoryTheory.CostructuredArrow.proj L X).comp F) f) (CategoryTheory.CategoryStruct.comp (L.leftKanExtensionObjIsoColimit F X).inv h) = CategoryTheory.CategoryStruct.comp ((L.leftKanExtensionUnit F).app f.left) (CategoryTheory.CategoryStruct.comp ((L.leftKanExtension F).map f.hom) h) - CategoryTheory.Functor.ι_leftKanExtensionObjIsoColimit_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.HasPointwiseLeftKanExtension F] (X : D) (f : CategoryTheory.CostructuredArrow L X) {Z : H} (h : CategoryTheory.Limits.colimit ((CategoryTheory.CostructuredArrow.proj L X).comp F) ⟶ Z) : CategoryTheory.CategoryStruct.comp ((L.leftKanExtensionUnit F).app f.left) (CategoryTheory.CategoryStruct.comp ((L.leftKanExtension F).map f.hom) (CategoryTheory.CategoryStruct.comp (L.leftKanExtensionObjIsoColimit F X).hom h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimit.ι ((CategoryTheory.CostructuredArrow.proj L X).comp F) f) h - CategoryTheory.Presheaf.tautologicalCocone'_ι_app 📋 Mathlib.CategoryTheory.Limits.Presheaf
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (P : CategoryTheory.Functor Cᵒᵖ (Type (max w v₁))) (X : CategoryTheory.CostructuredArrow CategoryTheory.uliftYoneda.{w, v₁, u₁} P) : (CategoryTheory.Presheaf.tautologicalCocone' P).ι.app X = X.hom - CategoryTheory.Presheaf.tautologicalCocone_ι_app 📋 Mathlib.CategoryTheory.Limits.Presheaf
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (P : CategoryTheory.Functor Cᵒᵖ (Type v₁)) (X : CategoryTheory.CostructuredArrow CategoryTheory.yoneda P) : (CategoryTheory.Presheaf.tautologicalCocone P).ι.app X = X.hom - CategoryTheory.CostructuredArrow.liftQuotient 📋 Mathlib.CategoryTheory.Subobject.Comma
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : CategoryTheory.Functor C D} {T : D} {A : CategoryTheory.CostructuredArrow S T} (P : CategoryTheory.Subobject (Opposite.op A.left)) {q : S.obj (Opposite.unop (CategoryTheory.Subobject.underlying.obj P)) ⟶ T} (hq : CategoryTheory.CategoryStruct.comp (S.map P.arrow.unop) q = A.hom) : CategoryTheory.Subobject (Opposite.op A) - CategoryTheory.CostructuredArrow.lift_projectQuotient 📋 Mathlib.CategoryTheory.Subobject.Comma
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : CategoryTheory.Functor C D} {T : D} [CategoryTheory.Limits.HasFiniteColimits C] [CategoryTheory.Limits.PreservesFiniteColimits S] {A : CategoryTheory.CostructuredArrow S T} (P : CategoryTheory.Subobject (Opposite.op A)) {q : S.obj (Opposite.unop (CategoryTheory.Subobject.underlying.obj (CategoryTheory.CostructuredArrow.projectQuotient P))) ⟶ T} (hq : CategoryTheory.CategoryStruct.comp (S.map (CategoryTheory.CostructuredArrow.projectQuotient P).arrow.unop) q = A.hom) : CategoryTheory.CostructuredArrow.liftQuotient (CategoryTheory.CostructuredArrow.projectQuotient P) hq = P - CategoryTheory.CostructuredArrow.projectQuotient_factors 📋 Mathlib.CategoryTheory.Subobject.Comma
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : CategoryTheory.Functor C D} {T : D} [CategoryTheory.Limits.HasFiniteColimits C] [CategoryTheory.Limits.PreservesFiniteColimits S] {A : CategoryTheory.CostructuredArrow S T} (P : CategoryTheory.Subobject (Opposite.op A)) : ∃ q, CategoryTheory.CategoryStruct.comp (S.map (CategoryTheory.CostructuredArrow.projectQuotient P).arrow.unop) q = A.hom - CategoryTheory.CostructuredArrow.quotientEquiv 📋 Mathlib.CategoryTheory.Subobject.Comma
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : CategoryTheory.Functor C D} {T : D} [CategoryTheory.Limits.HasFiniteColimits C] [CategoryTheory.Limits.PreservesFiniteColimits S] (A : CategoryTheory.CostructuredArrow S T) : CategoryTheory.Subobject (Opposite.op A) ≃o { P // ∃ q, CategoryTheory.CategoryStruct.comp (S.map P.arrow.unop) q = A.hom } - CategoryTheory.CostructuredArrow.CreatesConnected.natTransInCostructuredArrow_app 📋 Mathlib.CategoryTheory.Limits.Constructions.Over.Connected
{J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {K : CategoryTheory.Functor C D} {B : D} (F : CategoryTheory.Functor J (CategoryTheory.CostructuredArrow K B)) (j : J) : (CategoryTheory.CostructuredArrow.CreatesConnected.natTransInCostructuredArrow F).app j = (F.obj j).hom - CategoryTheory.CostructuredArrow.CreatesConnected.raiseCone_pt 📋 Mathlib.CategoryTheory.Limits.Constructions.Over.Connected
{J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {K : CategoryTheory.Functor C D} [CategoryTheory.IsConnected J] {B : D} {F : CategoryTheory.Functor J (CategoryTheory.CostructuredArrow K B)} (c : CategoryTheory.Limits.Cone (F.comp (CategoryTheory.CostructuredArrow.proj K B))) : (CategoryTheory.CostructuredArrow.CreatesConnected.raiseCone c).pt = CategoryTheory.CostructuredArrow.mk (CategoryTheory.CategoryStruct.comp (K.map (c.π.app (Classical.arbitrary J))) (F.obj (Classical.arbitrary J)).hom) - CategoryTheory.CostructuredArrow.CreatesConnected.raiseCone_π_app 📋 Mathlib.CategoryTheory.Limits.Constructions.Over.Connected
{J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] {K : CategoryTheory.Functor C D} [CategoryTheory.IsConnected J] {B : D} {F : CategoryTheory.Functor J (CategoryTheory.CostructuredArrow K B)} (c : CategoryTheory.Limits.Cone (F.comp (CategoryTheory.CostructuredArrow.proj K B))) (j : J) : (CategoryTheory.CostructuredArrow.CreatesConnected.raiseCone c).π.app j = CategoryTheory.CostructuredArrow.homMk (c.π.app j) ⋯ - CategoryTheory.TwoSquare.costructuredArrowRightwards_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.CostructuredArrow L X₃) : (w.costructuredArrowRightwards X₃).obj X = (CategoryTheory.CostructuredArrow.pre T R (B.obj X₃)).obj ((CategoryTheory.Comma.mapLeft (CategoryTheory.Functor.fromPUnit (B.obj X₃)) w).obj (CategoryTheory.CostructuredArrow.mk (B.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.costructuredArrowRightwards_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.CostructuredArrow L X₃} (f : X✝ ⟶ Y✝) : (w.costructuredArrowRightwards X₃).map f = (CategoryTheory.CostructuredArrow.pre T R (B.obj X₃)).map ((CategoryTheory.Comma.mapLeft (CategoryTheory.Functor.fromPUnit (B.obj X₃)) w).map (CategoryTheory.CostructuredArrow.homMk f.left ⋯)) - 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_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.TwoSquare.isIso_ranBaseChange_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), T.HasRightKanExtension F] [∀ (F : CategoryTheory.Functor C₃ D), B.HasRightKanExtension F] (F : CategoryTheory.Functor C₃ D) : CategoryTheory.IsIso (w.ranBaseChange.app F) ↔ (CategoryTheory.CostructuredArrow.left ((CategoryTheory.Functor.RightExtension.mk (B.ran.obj F) (B.ranCounit.app F)).compTwoSquare w)).IsRightKanExtension (CategoryTheory.CostructuredArrow.hom ((CategoryTheory.Functor.RightExtension.mk (B.ran.obj F) (B.ranCounit.app F)).compTwoSquare w)) - CategoryTheory.TwoSquare.ranBaseChange_app 📋 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), T.HasRightKanExtension F] [∀ (F : CategoryTheory.Functor C₃ D), B.HasRightKanExtension F] (F : CategoryTheory.Functor C₃ D) : w.ranBaseChange.app F = ((T.ranAdjunction D).homEquiv ((B.ran.comp ((CategoryTheory.Functor.whiskeringLeft C₂ C₄ D).obj R)).obj F) (((CategoryTheory.Functor.whiskeringLeft C₁ C₃ D).obj L).obj F)) (CategoryTheory.CostructuredArrow.hom ((CategoryTheory.Functor.RightExtension.mk (B.ran.obj F) (B.ranCounit.app F)).compTwoSquare w)) - CategoryTheory.Functor.RightExtension.isPointwiseRightKanExtensionOfIsIsoOfIsLocalization 📋 Mathlib.CategoryTheory.Functor.Derived.PointwiseLeftDerived
{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.RightExtension F) [CategoryTheory.IsIso (CategoryTheory.CostructuredArrow.hom E)] [L.IsLocalization W] : E.IsPointwiseRightKanExtension - Profinite.Extend.cocone_ι_app 📋 Mathlib.Topology.Category.Profinite.Extend
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] (G : CategoryTheory.Functor Profiniteᵒᵖ C) (S : Profinite) (i : CategoryTheory.CostructuredArrow FintypeCat.toProfinite.op (Opposite.op S)) : (Profinite.Extend.cocone G S).ι.app i = G.map i.hom - LightProfinite.Extend.cocone_ι_app 📋 Mathlib.Topology.Category.LightProfinite.Extend
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] (G : CategoryTheory.Functor LightProfiniteᵒᵖ C) (S : LightProfinite) (i : CategoryTheory.CostructuredArrow FintypeCat.toLightProfinite.op (Opposite.op S)) : (LightProfinite.Extend.cocone G S).ι.app i = G.map i.hom
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