Loogle!
Result
Found 769 declarations mentioning CategoryTheory.CostructuredArrow. Of these, only the first 200 are shown.
- CategoryTheory.CostructuredArrow 📋 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) : Type (max u₁ v₂) - CategoryTheory.instCategoryCostructuredArrow 📋 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} : CategoryTheory.Category.{v₁, max u₁ v₂} (CategoryTheory.CostructuredArrow S T) - CategoryTheory.instCategoryCostructuredArrow_1 📋 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) : CategoryTheory.Category.{v₁, max u₁ v₂} (CategoryTheory.CostructuredArrow S T) - CategoryTheory.CostructuredArrow.IsUniversal 📋 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) : Type (max (max u₁ v₂) v₁) - CategoryTheory.CostructuredArrow.left 📋 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) : C - 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} (f g : CategoryTheory.CostructuredArrow S T) : Type v₁ - CategoryTheory.CostructuredArrow.proj 📋 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) : CategoryTheory.Functor (CategoryTheory.CostructuredArrow S T) C - CategoryTheory.CostructuredArrow.mk 📋 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 S T - CategoryTheory.CostructuredArrow.proj_faithful 📋 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} : (CategoryTheory.CostructuredArrow.proj S T).Faithful - CategoryTheory.CostructuredArrow.proj_reflectsIsomorphisms 📋 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} : (CategoryTheory.CostructuredArrow.proj S T).ReflectsIsomorphisms - 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.mapIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') : CategoryTheory.CostructuredArrow S T ≌ CategoryTheory.CostructuredArrow S 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.map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (f : T ⟶ T') : CategoryTheory.Functor (CategoryTheory.CostructuredArrow S T) (CategoryTheory.CostructuredArrow S T') - CategoryTheory.CostructuredArrow.IsUniversal.lift 📋 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) : g.left ⟶ f.left - 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.mapNatIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S S' : CategoryTheory.Functor C D} (i : S ≅ S') : CategoryTheory.CostructuredArrow S T ≌ CategoryTheory.CostructuredArrow S' T - CategoryTheory.CostructuredArrow.pre 📋 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 : D) : CategoryTheory.Functor (CategoryTheory.CostructuredArrow (F.comp G) S) (CategoryTheory.CostructuredArrow G S) - CategoryTheory.CostructuredArrow.proj_obj 📋 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.Comma S (CategoryTheory.Functor.fromPUnit T)) : (CategoryTheory.CostructuredArrow.proj S T).obj X = X.left - CategoryTheory.CostructuredArrow.mk_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 : CategoryTheory.CostructuredArrow S T) : ∃ Y g, f = CategoryTheory.CostructuredArrow.mk g - CategoryTheory.CostructuredArrow.map_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} : (CategoryTheory.CostructuredArrow.map (CategoryTheory.CategoryStruct.id T)).obj f = f - CategoryTheory.costructuredArrowOpEquivalence 📋 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) : (CategoryTheory.CostructuredArrow F d)ᵒᵖ ≌ CategoryTheory.StructuredArrow (Opposite.op d) F.op - CategoryTheory.structuredArrowOpEquivalence 📋 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) : (CategoryTheory.StructuredArrow d F)ᵒᵖ ≌ CategoryTheory.CostructuredArrow F.op (Opposite.op d) - CategoryTheory.CostructuredArrow.toStructuredArrow 📋 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) : CategoryTheory.Functor (CategoryTheory.CostructuredArrow F d)ᵒᵖ (CategoryTheory.StructuredArrow (Opposite.op d) F.op) - CategoryTheory.StructuredArrow.toCostructuredArrow 📋 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) : CategoryTheory.Functor (CategoryTheory.StructuredArrow d F)ᵒᵖ (CategoryTheory.CostructuredArrow F.op (Opposite.op d)) - CategoryTheory.CostructuredArrow.mkIdTerminal 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {Y : C} {S : CategoryTheory.Functor C D} [S.Full] [S.Faithful] : CategoryTheory.Limits.IsTerminal (CategoryTheory.CostructuredArrow.mk (CategoryTheory.CategoryStruct.id (S.obj Y))) - CategoryTheory.CostructuredArrow.post 📋 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) : CategoryTheory.Functor (CategoryTheory.CostructuredArrow F S) (CategoryTheory.CostructuredArrow (F.comp G) (G.obj S)) - CategoryTheory.CostructuredArrow.instEssSurjCompPre 📋 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 : D) [F.EssSurj] : (CategoryTheory.CostructuredArrow.pre F G S).EssSurj - CategoryTheory.CostructuredArrow.instFaithfulCompPre 📋 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 : D) [F.Faithful] : (CategoryTheory.CostructuredArrow.pre F G S).Faithful - CategoryTheory.CostructuredArrow.instFullCompPre 📋 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 : D) [F.Full] : (CategoryTheory.CostructuredArrow.pre F G S).Full - CategoryTheory.CostructuredArrow.isEquivalence_pre 📋 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 : D) [F.IsEquivalence] : (CategoryTheory.CostructuredArrow.pre F G S).IsEquivalence - CategoryTheory.CostructuredArrow.Hom.left 📋 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) : X.left ⟶ Y.left - CategoryTheory.CostructuredArrow.instFaithfulCompObjPost 📋 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) : (CategoryTheory.CostructuredArrow.post F G S).Faithful - CategoryTheory.CostructuredArrow.toStructuredArrow' 📋 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) : CategoryTheory.Functor (CategoryTheory.CostructuredArrow F.op (Opposite.op d))ᵒᵖ (CategoryTheory.StructuredArrow d F) - CategoryTheory.StructuredArrow.toCostructuredArrow' 📋 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) : CategoryTheory.Functor (CategoryTheory.StructuredArrow (Opposite.op d) F.op)ᵒᵖ (CategoryTheory.CostructuredArrow F d) - CategoryTheory.CostructuredArrow.instEssSurjCompObjPostOfFull 📋 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) [G.Full] : (CategoryTheory.CostructuredArrow.post F G S).EssSurj - CategoryTheory.CostructuredArrow.instFullCompObjPostOfFaithful 📋 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) [G.Faithful] : (CategoryTheory.CostructuredArrow.post F G S).Full - CategoryTheory.CostructuredArrow.isEquivalence_post 📋 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) [G.Full] [G.Faithful] : (CategoryTheory.CostructuredArrow.post F G S).IsEquivalence - CategoryTheory.CostructuredArrow.map_obj_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (f : T ⟶ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.map f).obj X).left = X.left - CategoryTheory.CostructuredArrow.map_obj_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (f : T ⟶ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.map f).obj X).right = X.right - CategoryTheory.Comma.costructuredArrowSndInclusion 📋 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) : CategoryTheory.Functor (CategoryTheory.CostructuredArrow L (R.obj b)) (CategoryTheory.CostructuredArrow (CategoryTheory.Comma.snd L R) b) - CategoryTheory.Comma.costructuredArrowSndProj 📋 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) : CategoryTheory.Functor (CategoryTheory.CostructuredArrow (CategoryTheory.Comma.snd L R) b) (CategoryTheory.CostructuredArrow L (R.obj b)) - CategoryTheory.CostructuredArrow.id_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} (X : CategoryTheory.CostructuredArrow S T) : (CategoryTheory.CategoryStruct.id X).left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.CostructuredArrow.mkPrecomp 📋 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 : S.obj Y ⟶ T) (g : Y' ⟶ Y) : CategoryTheory.CostructuredArrow.mk (CategoryTheory.CategoryStruct.comp (S.map g) f) ⟶ CategoryTheory.CostructuredArrow.mk f - CategoryTheory.CostructuredArrow.map_mk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {Y : C} {S : CategoryTheory.Functor C D} {f : S.obj Y ⟶ T} (g : T ⟶ T') : (CategoryTheory.CostructuredArrow.map g).obj (CategoryTheory.CostructuredArrow.mk f) = CategoryTheory.CostructuredArrow.mk (CategoryTheory.CategoryStruct.comp f g) - CategoryTheory.CostructuredArrow.map₂ 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) : CategoryTheory.Functor (CategoryTheory.CostructuredArrow S T) (CategoryTheory.CostructuredArrow U V) - CategoryTheory.CostructuredArrow.IsUniversal.uniq 📋 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 g : CategoryTheory.CostructuredArrow S T} (h : f.IsUniversal) (η : g ⟶ f) : η = CategoryTheory.Limits.IsTerminal.from h g - CategoryTheory.CostructuredArrow.epi_of_epi_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} {A B : CategoryTheory.CostructuredArrow S T} (f : A ⟶ B) [h : CategoryTheory.Epi f.left] : CategoryTheory.Epi 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.mono_of_mono_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} {A B : CategoryTheory.CostructuredArrow S T} (f : A ⟶ B) [h : CategoryTheory.Mono f.left] : CategoryTheory.Mono f - CategoryTheory.Comma.costructuredArrowSndAdjunction 📋 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) : CategoryTheory.Comma.costructuredArrowSndProj L R b ⊣ CategoryTheory.Comma.costructuredArrowSndInclusion L R b - 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.prodEquivalence 📋 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') : CategoryTheory.CostructuredArrow (S.prod S') (T, T') ≌ CategoryTheory.CostructuredArrow S T × CategoryTheory.CostructuredArrow S' T' - CategoryTheory.CostructuredArrow.prodFunctor 📋 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') : CategoryTheory.Functor (CategoryTheory.CostructuredArrow (S.prod S') (T, T')) (CategoryTheory.CostructuredArrow S T × CategoryTheory.CostructuredArrow S' T') - CategoryTheory.CostructuredArrow.prodInverse 📋 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') : CategoryTheory.Functor (CategoryTheory.CostructuredArrow S T × CategoryTheory.CostructuredArrow S' T') (CategoryTheory.CostructuredArrow (S.prod S') (T, T')) - 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.pre_obj_right 📋 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 : D) (X : CategoryTheory.Comma (F.comp G) (CategoryTheory.Functor.fromPUnit S)) : ((CategoryTheory.CostructuredArrow.pre F G S).obj X).right = X.right - 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.right_eq_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} {X Y : CategoryTheory.CostructuredArrow S T} (f : X ⟶ Y) : f.right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.CostructuredArrow.faithful_map₂ 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) [F.Faithful] : (CategoryTheory.CostructuredArrow.map₂ α β).Faithful - CategoryTheory.CostructuredArrow.pre_obj_left 📋 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 : D) (X : CategoryTheory.Comma (F.comp G) (CategoryTheory.Functor.fromPUnit S)) : ((CategoryTheory.CostructuredArrow.pre F G S).obj X).left = F.obj X.left - CategoryTheory.Functor.toCostructuredArrow 📋 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] (G : CategoryTheory.Functor E C) (F : CategoryTheory.Functor C D) (X : D) (f : (Y : E) → F.obj (G.obj Y) ⟶ X) (h : ∀ {Y Z : E} (g : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (F.map (G.map g)) (f Z) = f Y) : CategoryTheory.Functor E (CategoryTheory.CostructuredArrow F X) - CategoryTheory.CostructuredArrow.mapIso_functor_obj_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapIso i).functor.obj X).left = X.left - CategoryTheory.CostructuredArrow.mapIso_inverse_obj_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T')) : ((CategoryTheory.CostructuredArrow.mapIso i).inverse.obj X).left = X.left - CategoryTheory.CostructuredArrow.mapIso_functor_obj_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapIso i).functor.obj X).right = X.right - CategoryTheory.CostructuredArrow.mapIso_inverse_obj_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T')) : ((CategoryTheory.CostructuredArrow.mapIso i).inverse.obj X).right = X.right - CategoryTheory.CostructuredArrow.eqToHom_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} {X Y : CategoryTheory.CostructuredArrow S T} (h : X = Y) : (CategoryTheory.eqToHom h).left = CategoryTheory.eqToHom ⋯ - CategoryTheory.CostructuredArrow.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.CostructuredArrow G e) : CategoryTheory.CostructuredArrow (CategoryTheory.CostructuredArrow.pre F G e) f ≌ CategoryTheory.CostructuredArrow F f.left - CategoryTheory.CostructuredArrow.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.CostructuredArrow G e) : CategoryTheory.Functor (CategoryTheory.CostructuredArrow (CategoryTheory.CostructuredArrow.pre F G e) f) (CategoryTheory.CostructuredArrow F f.left) - CategoryTheory.CostructuredArrow.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.CostructuredArrow G e) : CategoryTheory.Functor (CategoryTheory.CostructuredArrow F f.left) (CategoryTheory.CostructuredArrow (CategoryTheory.CostructuredArrow.pre F G e) f) - CategoryTheory.CostructuredArrow.mapNatIso_functor_obj_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 S' : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapNatIso i).functor.obj X).left = X.left - CategoryTheory.CostructuredArrow.mapNatIso_inverse_obj_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 S' : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma S' (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapNatIso i).inverse.obj X).left = X.left - 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.mapNatIso_functor_obj_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S S' : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapNatIso i).functor.obj X).right = X.right - CategoryTheory.CostructuredArrow.mapNatIso_inverse_obj_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S S' : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma S' (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapNatIso i).inverse.obj X).right = X.right - CategoryTheory.CostructuredArrow.map_comp 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' T'' : D} {S : CategoryTheory.Functor C D} {f : T ⟶ T'} {f' : T' ⟶ T''} {h : CategoryTheory.CostructuredArrow S T} : (CategoryTheory.CostructuredArrow.map (CategoryTheory.CategoryStruct.comp f f')).obj h = (CategoryTheory.CostructuredArrow.map f').obj ((CategoryTheory.CostructuredArrow.map f).obj h) - 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.Comma.costructuredArrowSndInclusion_obj_right_as 📋 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).right.as = PUnit.unit - 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.Comma.costructuredArrowSndInclusion_obj_left_right 📋 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.right = b - CategoryTheory.CostructuredArrow.map₂_obj_right 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.map₂ α β).obj X).right = X.right - CategoryTheory.CostructuredArrow.proj_map 📋 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.Comma S (CategoryTheory.Functor.fromPUnit T)} (f : X✝ ⟶ Y✝) : (CategoryTheory.CostructuredArrow.proj S T).map f = f.left - 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.Comma.costructuredArrowSndInclusion_obj_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).hom = CategoryTheory.CategoryStruct.id b - CategoryTheory.CostructuredArrow.map_obj_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (f : T ⟶ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.map f).obj X).hom = CategoryTheory.CategoryStruct.comp X.hom f - CategoryTheory.CostructuredArrow.map₂_obj_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} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.map₂ α β).obj X).left = F.obj X.left - CategoryTheory.Functor.toCostructuredArrow_comp_proj 📋 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] (G : CategoryTheory.Functor E C) (F : CategoryTheory.Functor C D) (X : D) (f : (Y : E) → F.obj (G.obj Y) ⟶ X) (h : ∀ {Y Z : E} (g : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (F.map (G.map g)) (f Z) = f Y) : (G.toCostructuredArrow F X f ⋯).comp (CategoryTheory.CostructuredArrow.proj F X) = G - CategoryTheory.CostructuredArrow.essSurj_map₂ 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) [F.EssSurj] [G.Full] [CategoryTheory.IsIso α] [CategoryTheory.IsIso β] : (CategoryTheory.CostructuredArrow.map₂ α β).EssSurj - CategoryTheory.CostructuredArrow.full_map₂ 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) [G.Faithful] [F.Full] [CategoryTheory.IsIso α] [CategoryTheory.IsIso β] : (CategoryTheory.CostructuredArrow.map₂ α β).Full - 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.Functor.toCostructuredArrowCompProj 📋 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] (G : CategoryTheory.Functor E C) (F : CategoryTheory.Functor C D) (X : D) (f : (Y : E) → F.obj (G.obj Y) ⟶ X) (h : ∀ {Y Z : E} (g : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (F.map (G.map g)) (f Z) = f Y) : (G.toCostructuredArrow F X f ⋯).comp (CategoryTheory.CostructuredArrow.proj F X) ≅ G - CategoryTheory.Functor.toCostructuredArrow_obj 📋 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] (G : CategoryTheory.Functor E C) (F : CategoryTheory.Functor C D) (X : D) (f : (Y : E) → F.obj (G.obj Y) ⟶ X) (h : ∀ {Y Z : E} (g : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (F.map (G.map g)) (f Z) = f Y) (Y : E) : (G.toCostructuredArrow F X f h).obj Y = CategoryTheory.CostructuredArrow.mk (f Y) - CategoryTheory.Comma.costructuredArrowSndInclusion_obj_left_left 📋 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.left = X.left - CategoryTheory.CostructuredArrow.isEquivalenceMap₂ 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) [F.IsEquivalence] [G.Faithful] [G.Full] [CategoryTheory.IsIso α] [CategoryTheory.IsIso β] : (CategoryTheory.CostructuredArrow.map₂ α β).IsEquivalence - 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.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.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.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} {A B : CategoryTheory.CostructuredArrow S T} (f g : A ⟶ B) (h : f.left = g.left) : f = g - CategoryTheory.CostructuredArrow.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} {X Y : CategoryTheory.CostructuredArrow S T} (f g : X ⟶ Y) (h : f.left = g.left) : f = g - CategoryTheory.CostructuredArrow.ext_iff 📋 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 g : A ⟶ B) : f = g ↔ f.left = g.left - CategoryTheory.CostructuredArrow.hom_eq_iff 📋 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} (f g : X ⟶ Y) : f = g ↔ f.left = g.left - CategoryTheory.CostructuredArrow.hom_ext_iff 📋 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} {f g : X ⟶ Y} : f = g ↔ f.left = g.left - 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.CostructuredArrow.mkPrecomp_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.mkPrecomp f (CategoryTheory.CategoryStruct.id Y) = CategoryTheory.eqToHom ⋯ - CategoryTheory.CostructuredArrow.postIsoMap₂ 📋 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) : CategoryTheory.CostructuredArrow.post F G S ≅ CategoryTheory.CostructuredArrow.map₂ (CategoryTheory.CategoryStruct.id (F.comp G)) (CategoryTheory.CategoryStruct.id (G.obj S)) - CategoryTheory.CostructuredArrow.pre_obj_hom 📋 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 : D) (X : CategoryTheory.Comma (F.comp G) (CategoryTheory.Functor.fromPUnit S)) : ((CategoryTheory.CostructuredArrow.pre F G S).obj X).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.mapIso_functor_obj_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapIso i).functor.obj X).hom = CategoryTheory.CategoryStruct.comp X.hom i.hom - CategoryTheory.CostructuredArrow.mapIso_inverse_obj_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T')) : ((CategoryTheory.CostructuredArrow.mapIso i).inverse.obj X).hom = CategoryTheory.CategoryStruct.comp X.hom i.inv - CategoryTheory.CostructuredArrow.preEquivalence.functor_obj_right_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.CostructuredArrow G e) (g : CategoryTheory.CostructuredArrow (CategoryTheory.CostructuredArrow.pre F G e) f) : ((CategoryTheory.CostructuredArrow.preEquivalence.functor F f).obj g).right.as = PUnit.unit - CategoryTheory.CostructuredArrow.comp_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} {X Y Z : CategoryTheory.CostructuredArrow S T} (f : X ⟶ Y) (g : Y ⟶ Z) : (CategoryTheory.CategoryStruct.comp f g).left = CategoryTheory.CategoryStruct.comp f.left g.left - CategoryTheory.CostructuredArrow.prodEquivalence_functor 📋 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') : (CategoryTheory.CostructuredArrow.prodEquivalence S S' T T').functor = CategoryTheory.CostructuredArrow.prodFunctor S S' T T' - CategoryTheory.CostructuredArrow.prodEquivalence_inverse 📋 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') : (CategoryTheory.CostructuredArrow.prodEquivalence S S' T T').inverse = CategoryTheory.CostructuredArrow.prodInverse S S' T T' - 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.preEquivalence.inverse_obj_right_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.CostructuredArrow G e) (g : CategoryTheory.CostructuredArrow F f.left) : ((CategoryTheory.CostructuredArrow.preEquivalence.inverse F f).obj g).right.as = PUnit.unit - 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.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.CostructuredArrow.preEquivalence.inverse_obj_left_right_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.CostructuredArrow G e) (g : CategoryTheory.CostructuredArrow F f.left) : ((CategoryTheory.CostructuredArrow.preEquivalence.inverse F f).obj g).left.right.as = PUnit.unit - 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.Functor.toCostructuredArrow_map 📋 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] (G : CategoryTheory.Functor E C) (F : CategoryTheory.Functor C D) (X : D) (f : (Y : E) → F.obj (G.obj Y) ⟶ X) (h : ∀ {Y Z : E} (g : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (F.map (G.map g)) (f Z) = f Y) {X✝ Y✝ : E} (g : X✝ ⟶ Y✝) : (G.toCostructuredArrow F X f h).map g = CategoryTheory.CostructuredArrow.homMk (G.map g) ⋯ - CategoryTheory.CostructuredArrow.mapNatIso_functor_obj_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S S' : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapNatIso i).functor.obj X).hom = CategoryTheory.CategoryStruct.comp (i.inv.app X.left) X.hom - CategoryTheory.CostructuredArrow.mapNatIso_inverse_obj_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S S' : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma S' (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapNatIso i).inverse.obj X).hom = CategoryTheory.CategoryStruct.comp (i.hom.app X.left) X.hom - CategoryTheory.CostructuredArrow.preEquivalence.inverse_obj_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) (g : CategoryTheory.CostructuredArrow F f.left) : ((CategoryTheory.CostructuredArrow.preEquivalence.inverse F f).obj g).left.left = g.left - 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.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.CostructuredArrow G e) : (CategoryTheory.CostructuredArrow.preEquivalence F f).functor = CategoryTheory.CostructuredArrow.preEquivalence.functor F f - CategoryTheory.CostructuredArrow.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.CostructuredArrow G e) : (CategoryTheory.CostructuredArrow.preEquivalence F f).inverse = CategoryTheory.CostructuredArrow.preEquivalence.inverse F f - CategoryTheory.CostructuredArrow.comp_left_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} {X Y Z : CategoryTheory.CostructuredArrow S T} (f : X ⟶ Y) (g : Y ⟶ Z) {Z✝ : C} (h : Z.left ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp f g).left h = CategoryTheory.CategoryStruct.comp f.left (CategoryTheory.CategoryStruct.comp g.left h) - CategoryTheory.CostructuredArrow.preEquivalence.functor_obj_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 (CategoryTheory.CostructuredArrow.pre F G e) f) : ((CategoryTheory.CostructuredArrow.preEquivalence.functor F f).obj g).left = g.left.left - 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.map₂IdIso 📋 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} (α : (CategoryTheory.Functor.id C).comp S ⟶ S.comp (CategoryTheory.Functor.id D)) (T : D) (β : (CategoryTheory.Functor.id D).obj T ⟶ T) (hα : α = CategoryTheory.CategoryStruct.comp S.leftUnitor.hom S.rightUnitor.inv := by cat_disch) (hβ : β = CategoryTheory.CategoryStruct.id ((CategoryTheory.Functor.id D).obj T) := by cat_disch) : CategoryTheory.CostructuredArrow.map₂ α β ≅ CategoryTheory.Functor.id (CategoryTheory.CostructuredArrow S T) - 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.map₂_obj_hom 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.map₂ α β).obj X).hom = CategoryTheory.CategoryStruct.comp (α.app X.left) (CategoryTheory.CategoryStruct.comp (G.map X.hom) β) - 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.pre_map_right 📋 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 : D) {X✝ Y✝ : CategoryTheory.Comma (F.comp G) (CategoryTheory.Functor.fromPUnit S)} (f : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.pre F G S).map f).right = CategoryTheory.CategoryStruct.id X✝.right - 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.map₂Congr 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : F'.comp U ⟶ S.comp G') (β' : G'.obj T ⟶ V) (hα : CategoryTheory.CategoryStruct.comp α (S.whiskerLeft e₂.hom) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom U) α') (hβ : β = CategoryTheory.CategoryStruct.comp (e₂.hom.app T) β') : CategoryTheory.CostructuredArrow.map₂ α β ≅ CategoryTheory.CostructuredArrow.map₂ α' β' - 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.pre_map_left 📋 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 : D) {X✝ Y✝ : CategoryTheory.Comma (F.comp G) (CategoryTheory.Functor.fromPUnit S)} (f : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.pre F G S).map f).left = F.map f.left - 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.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) (d : D) (e : E) (u : S.obj d ⟶ e) : CategoryTheory.CostructuredArrow.map₂ (CategoryTheory.CategoryStruct.id (T.comp S)) u ≅ (CategoryTheory.CostructuredArrow.preEquivalence T (CategoryTheory.CostructuredArrow.mk u)).inverse.comp (CategoryTheory.CostructuredArrow.proj (CategoryTheory.CostructuredArrow.pre T S e) (CategoryTheory.CostructuredArrow.mk u)) - CategoryTheory.CostructuredArrow.map_map_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (f : T ⟶ T') {Y✝ X✝ : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)} (f✝ : Y✝ ⟶ X✝) : ((CategoryTheory.CostructuredArrow.map f).map f✝).left = f✝.left - CategoryTheory.CostructuredArrow.map_map_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (f : T ⟶ T') {Y✝ X✝ : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)} (f✝ : Y✝ ⟶ X✝) : ((CategoryTheory.CostructuredArrow.map f).map f✝).right = CategoryTheory.CategoryStruct.id Y✝.right - CategoryTheory.CostructuredArrow.mapNatIso_functor_map_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 S' : CategoryTheory.Functor C D} (i : S ≅ S') {X✝ Y✝ : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)} (f : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.mapNatIso i).functor.map f).left = f.left - CategoryTheory.CostructuredArrow.mapNatIso_inverse_map_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 S' : CategoryTheory.Functor C D} (i : S ≅ S') {X✝ Y✝ : CategoryTheory.Comma S' (CategoryTheory.Functor.fromPUnit T)} (f : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.mapNatIso i).inverse.map f).left = f.left - CategoryTheory.CostructuredArrow.mapNatIso_functor_map_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S S' : CategoryTheory.Functor C D} (i : S ≅ S') {X✝ Y✝ : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)} (f : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.mapNatIso i).functor.map f).right = CategoryTheory.CategoryStruct.id X✝.right - CategoryTheory.CostructuredArrow.mapNatIso_inverse_map_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : D} {S S' : CategoryTheory.Functor C D} (i : S ≅ S') {X✝ Y✝ : CategoryTheory.Comma S' (CategoryTheory.Functor.fromPUnit T)} (f : X✝ ⟶ Y✝) : ((CategoryTheory.CostructuredArrow.mapNatIso i).inverse.map f).right = CategoryTheory.CategoryStruct.id X✝.right - CategoryTheory.CostructuredArrow.mkPrecomp_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.mkPrecomp f (CategoryTheory.CategoryStruct.comp g' g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom ⋯) (CategoryTheory.CategoryStruct.comp (CategoryTheory.CostructuredArrow.mkPrecomp (CategoryTheory.CategoryStruct.comp (S.map g) f) g') (CategoryTheory.CostructuredArrow.mkPrecomp f g)) - 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.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.CostructuredArrow.map₂IdIso_hom_app_left 📋 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} (α : (CategoryTheory.Functor.id C).comp S ⟶ S.comp (CategoryTheory.Functor.id D)) (T : D) (β : (CategoryTheory.Functor.id D).obj T ⟶ T) (hα : α = CategoryTheory.CategoryStruct.comp S.leftUnitor.hom S.rightUnitor.inv := by cat_disch) (hβ : β = CategoryTheory.CategoryStruct.id ((CategoryTheory.Functor.id D).obj T) := by cat_disch) (X : CategoryTheory.CostructuredArrow S T) : ((CategoryTheory.CostructuredArrow.map₂IdIso α T β hα hβ).hom.app X).left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.CostructuredArrow.map₂IdIso_inv_app_left 📋 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} (α : (CategoryTheory.Functor.id C).comp S ⟶ S.comp (CategoryTheory.Functor.id D)) (T : D) (β : (CategoryTheory.Functor.id D).obj T ⟶ T) (hα : α = CategoryTheory.CategoryStruct.comp S.leftUnitor.hom S.rightUnitor.inv := by cat_disch) (hβ : β = CategoryTheory.CategoryStruct.id ((CategoryTheory.Functor.id D).obj T) := by cat_disch) (X : CategoryTheory.CostructuredArrow S T) : ((CategoryTheory.CostructuredArrow.map₂IdIso α T β hα hβ).inv.app X).left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.CostructuredArrow.mapIso_functor_map_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') {Y✝ X✝ : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)} (f : Y✝ ⟶ X✝) : ((CategoryTheory.CostructuredArrow.mapIso i).functor.map f).left = f.left - CategoryTheory.CostructuredArrow.mapIso_inverse_map_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') {Y✝ X✝ : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T')} (f : Y✝ ⟶ X✝) : ((CategoryTheory.CostructuredArrow.mapIso i).inverse.map f).left = f.left - 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.CostructuredArrow.mapIso_functor_map_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') {Y✝ X✝ : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)} (f : Y✝ ⟶ X✝) : ((CategoryTheory.CostructuredArrow.mapIso i).functor.map f).right = CategoryTheory.CategoryStruct.id Y✝.right - CategoryTheory.CostructuredArrow.mapIso_inverse_map_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') {Y✝ X✝ : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T')} (f : Y✝ ⟶ X✝) : ((CategoryTheory.CostructuredArrow.mapIso i).inverse.map f).right = CategoryTheory.CategoryStruct.id Y✝.right - CategoryTheory.CostructuredArrow.map₂CompMap₂Iso 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {C' : Type u₆} [CategoryTheory.Category.{v₆, u₆} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {R : CategoryTheory.Functor C' D'} {F' : CategoryTheory.Functor C' C} {G' : CategoryTheory.Functor D' D} {X : D'} (α' : F'.comp S ⟶ R.comp G') (β' : G'.obj X ⟶ T) : (CategoryTheory.CostructuredArrow.map₂ α' β').comp (CategoryTheory.CostructuredArrow.map₂ α β) ≅ CategoryTheory.CostructuredArrow.map₂ (CategoryTheory.CategoryStruct.comp (F'.associator F U).hom (CategoryTheory.CategoryStruct.comp (F'.whiskerLeft α) (CategoryTheory.CategoryStruct.comp (F'.associator S G).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α' G) (R.associator G' G).hom)))) (CategoryTheory.CategoryStruct.comp (G.map β') β) - CategoryTheory.CostructuredArrow.map₂Congr_hom_app_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} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : F'.comp U ⟶ S.comp G') (β' : G'.obj T ⟶ V) (hα : CategoryTheory.CategoryStruct.comp α (S.whiskerLeft e₂.hom) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom U) α') (hβ : β = CategoryTheory.CategoryStruct.comp (e₂.hom.app T) β') (X : CategoryTheory.CostructuredArrow S T) : ((CategoryTheory.CostructuredArrow.map₂Congr α β e₁ e₂ α' β' hα hβ).hom.app X).left = e₁.hom.app X.left - CategoryTheory.CostructuredArrow.map₂Congr_inv_app_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} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : F'.comp U ⟶ S.comp G') (β' : G'.obj T ⟶ V) (hα : CategoryTheory.CategoryStruct.comp α (S.whiskerLeft e₂.hom) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight e₁.hom U) α') (hβ : β = CategoryTheory.CategoryStruct.comp (e₂.hom.app T) β') (X : CategoryTheory.CostructuredArrow S T) : ((CategoryTheory.CostructuredArrow.map₂Congr α β e₁ e₂ α' β' hα hβ).inv.app X).left = e₁.inv.app X.left - 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.Comma.costructuredArrowSndAdjunction_counit_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 L (R.obj b)) : (CategoryTheory.Comma.costructuredArrowSndAdjunction L R b).counit.app X = CategoryTheory.CostructuredArrow.homMk (CategoryTheory.CategoryStruct.id X.left) ⋯ - 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.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.CostructuredArrow.prodEquivalence_counitIso 📋 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') : (CategoryTheory.CostructuredArrow.prodEquivalence S S' T T').counitIso = CategoryTheory.NatIso.ofComponents (fun f => CategoryTheory.Iso.refl (((CategoryTheory.CostructuredArrow.prodInverse S S' T T').comp (CategoryTheory.CostructuredArrow.prodFunctor S S' T T')).obj f)) ⋯ - 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.mapNatIso_counitIso_hom_app_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 S' : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma S' (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapNatIso i).counitIso.hom.app X).left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.CostructuredArrow.mapNatIso_counitIso_inv_app_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 S' : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma S' (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapNatIso i).counitIso.inv.app X).left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.CostructuredArrow.mapNatIso_unitIso_hom_app_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 S' : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapNatIso i).unitIso.hom.app X).left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.CostructuredArrow.mapNatIso_unitIso_inv_app_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 S' : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapNatIso i).unitIso.inv.app X).left = CategoryTheory.CategoryStruct.id X.left - 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.map₂_map_right 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {X Y : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)} (φ : X ⟶ Y) : ((CategoryTheory.CostructuredArrow.map₂ α β).map φ).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.CostructuredArrow.map₂_map_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} {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : F.comp U ⟶ S.comp G) (β : G.obj T ⟶ V) {X Y : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)} (φ : X ⟶ Y) : ((CategoryTheory.CostructuredArrow.map₂ α β).map φ).left = F.map φ.left - CategoryTheory.CostructuredArrow.prodEquivalence_unitIso 📋 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') : (CategoryTheory.CostructuredArrow.prodEquivalence S S' T T').unitIso = CategoryTheory.NatIso.ofComponents (fun f => CategoryTheory.Iso.refl ((CategoryTheory.Functor.id (CategoryTheory.CostructuredArrow (S.prod S') (T, T'))).obj f)) ⋯ - CategoryTheory.CostructuredArrow.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.CostructuredArrow G e) : (CategoryTheory.CostructuredArrow.preEquivalence F f).counitIso = CategoryTheory.NatIso.ofComponents (fun x => CategoryTheory.CostructuredArrow.isoMk (CategoryTheory.Iso.refl (((CategoryTheory.CostructuredArrow.preEquivalence.inverse F f).comp (CategoryTheory.CostructuredArrow.preEquivalence.functor F f)).obj x).left) ⋯) ⋯ - CategoryTheory.CostructuredArrow.mapIso_counitIso_hom_app_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T')) : ((CategoryTheory.CostructuredArrow.mapIso i).counitIso.hom.app X).left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.CostructuredArrow.mapIso_counitIso_inv_app_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T')) : ((CategoryTheory.CostructuredArrow.mapIso i).counitIso.inv.app X).left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.CostructuredArrow.mapIso_unitIso_hom_app_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapIso i).unitIso.hom.app X).left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.CostructuredArrow.mapIso_unitIso_inv_app_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T T' : D} {S : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma S (CategoryTheory.Functor.fromPUnit T)) : ((CategoryTheory.CostructuredArrow.mapIso i).unitIso.inv.app X).left = CategoryTheory.CategoryStruct.id X.left - 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.map₂Iso 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : C ≌ A} {G : D ≌ B} (α : F.functor.comp U ⟶ S.comp G.functor) (α' : F.inverse.comp S ⟶ U.comp G.inverse) (hα'α : CategoryTheory.CategoryStruct.comp S.leftUnitor.hom (CategoryTheory.CategoryStruct.comp S.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (S.whiskerLeft G.unitIso.hom) (S.associator G.functor G.inverse).inv)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom S) (CategoryTheory.CategoryStruct.comp (F.functor.associator F.inverse S).hom (CategoryTheory.CategoryStruct.comp (F.functor.whiskerLeft α') (CategoryTheory.CategoryStruct.comp (F.functor.associator U G.inverse).inv (CategoryTheory.Functor.whiskerRight α G.inverse))))) (hαα' : CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft α) (CategoryTheory.CategoryStruct.comp (F.inverse.associator S G.functor).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α' G.functor) (CategoryTheory.CategoryStruct.comp (U.associator G.inverse G.functor).hom (U.whiskerLeft G.counitIso.hom)))) = CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor U).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.counitIso.hom U) (CategoryTheory.CategoryStruct.comp U.leftUnitor.hom U.rightUnitor.inv))) (β : G.functor.obj T ⟶ V) (β' : G.inverse.obj V ⟶ T) (hββ' : CategoryTheory.CategoryStruct.comp (G.inverse.map β) β' = G.unitIso.inv.app T) (hβ'β : CategoryTheory.CategoryStruct.comp (G.functor.map β') β = G.counitIso.hom.app V) : CategoryTheory.CostructuredArrow S T ≌ CategoryTheory.CostructuredArrow U V - CategoryTheory.CostructuredArrow.map₂Iso_functor 📋 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 : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {U : CategoryTheory.Functor A B} {V : B} {F : C ≌ A} {G : D ≌ B} (α : F.functor.comp U ⟶ S.comp G.functor) (α' : F.inverse.comp S ⟶ U.comp G.inverse) (hα'α : CategoryTheory.CategoryStruct.comp S.leftUnitor.hom (CategoryTheory.CategoryStruct.comp S.rightUnitor.inv (CategoryTheory.CategoryStruct.comp (S.whiskerLeft G.unitIso.hom) (S.associator G.functor G.inverse).inv)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom S) (CategoryTheory.CategoryStruct.comp (F.functor.associator F.inverse S).hom (CategoryTheory.CategoryStruct.comp (F.functor.whiskerLeft α') (CategoryTheory.CategoryStruct.comp (F.functor.associator U G.inverse).inv (CategoryTheory.Functor.whiskerRight α G.inverse))))) (hαα' : CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft α) (CategoryTheory.CategoryStruct.comp (F.inverse.associator S G.functor).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight α' G.functor) (CategoryTheory.CategoryStruct.comp (U.associator G.inverse G.functor).hom (U.whiskerLeft G.counitIso.hom)))) = CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor U).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.counitIso.hom U) (CategoryTheory.CategoryStruct.comp U.leftUnitor.hom U.rightUnitor.inv))) (β : G.functor.obj T ⟶ V) (β' : G.inverse.obj V ⟶ T) (hββ' : CategoryTheory.CategoryStruct.comp (G.inverse.map β) β' = G.unitIso.inv.app T) (hβ'β : CategoryTheory.CategoryStruct.comp (G.functor.map β') β = G.counitIso.hom.app V) : (CategoryTheory.CostructuredArrow.map₂Iso α α' hα'α hαα' β β' hββ' hβ'β).functor = CategoryTheory.CostructuredArrow.map₂ α β
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