Loogle!
Result
Found 547 declarations mentioning CategoryTheory.StructuredArrow. Of these, only the first 200 are shown.
- CategoryTheory.StructuredArrow 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (S : D) (T : CategoryTheory.Functor C D) : Type (max u₁ v₂) - CategoryTheory.instCategoryStructuredArrow 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} : CategoryTheory.Category.{v₁, max u₁ v₂} (CategoryTheory.StructuredArrow S T) - CategoryTheory.StructuredArrow.IsUniversal 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : Type (max (max u₁ v₂) v₁) - CategoryTheory.StructuredArrow.right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (X : CategoryTheory.StructuredArrow S T) : C - CategoryTheory.StructuredArrow.Hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f g : CategoryTheory.StructuredArrow S T) : Type v₁ - CategoryTheory.StructuredArrow.proj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (S : D) (T : CategoryTheory.Functor C D) : CategoryTheory.Functor (CategoryTheory.StructuredArrow S T) C - CategoryTheory.StructuredArrow.mk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y : C} {T : CategoryTheory.Functor C D} (f : S ⟶ T.obj Y) : CategoryTheory.StructuredArrow S T - CategoryTheory.StructuredArrow.proj_faithful 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} : (CategoryTheory.StructuredArrow.proj S T).Faithful - CategoryTheory.StructuredArrow.proj_reflectsIsomorphisms 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} : (CategoryTheory.StructuredArrow.proj S T).ReflectsIsomorphisms - CategoryTheory.StructuredArrow.hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (X : CategoryTheory.StructuredArrow S T) : S ⟶ T.obj X.right - CategoryTheory.StructuredArrow.mapIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') : CategoryTheory.StructuredArrow S T ≌ CategoryTheory.StructuredArrow S' T - CategoryTheory.StructuredArrow.eq_mk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : f = CategoryTheory.StructuredArrow.mk f.hom - CategoryTheory.StructuredArrow.map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {T : CategoryTheory.Functor C D} (f : S ⟶ S') : CategoryTheory.Functor (CategoryTheory.StructuredArrow S' T) (CategoryTheory.StructuredArrow S T) - CategoryTheory.StructuredArrow.IsUniversal.desc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) (g : CategoryTheory.StructuredArrow S T) : f.right ⟶ g.right - CategoryTheory.StructuredArrow.eta 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : f ≅ CategoryTheory.StructuredArrow.mk f.hom - CategoryTheory.StructuredArrow.mapNatIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') : CategoryTheory.StructuredArrow S T ≌ CategoryTheory.StructuredArrow S T' - CategoryTheory.StructuredArrow.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] (S : D) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) : CategoryTheory.Functor (CategoryTheory.StructuredArrow S (F.comp G)) (CategoryTheory.StructuredArrow S G) - CategoryTheory.StructuredArrow.proj_obj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (S : D) (T : CategoryTheory.Functor C D) (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T) : (CategoryTheory.StructuredArrow.proj S T).obj X = X.right - CategoryTheory.StructuredArrow.mk_surjective 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : ∃ Y g, f = CategoryTheory.StructuredArrow.mk g - CategoryTheory.StructuredArrow.map_id 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} : (CategoryTheory.StructuredArrow.map (CategoryTheory.CategoryStruct.id S)).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.StructuredArrow.mkIdInitial 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {Y : C} {T : CategoryTheory.Functor C D} [T.Full] [T.Faithful] : CategoryTheory.Limits.IsInitial (CategoryTheory.StructuredArrow.mk (CategoryTheory.CategoryStruct.id (T.obj Y))) - CategoryTheory.StructuredArrow.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) : CategoryTheory.Functor (CategoryTheory.StructuredArrow S F) (CategoryTheory.StructuredArrow (G.obj S) (F.comp G)) - CategoryTheory.StructuredArrow.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] (S : D) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) [F.EssSurj] : (CategoryTheory.StructuredArrow.pre S F G).EssSurj - CategoryTheory.StructuredArrow.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] (S : D) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) [F.Faithful] : (CategoryTheory.StructuredArrow.pre S F G).Faithful - CategoryTheory.StructuredArrow.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] (S : D) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) [F.Full] : (CategoryTheory.StructuredArrow.pre S F G).Full - CategoryTheory.StructuredArrow.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] (S : D) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) [F.IsEquivalence] : (CategoryTheory.StructuredArrow.pre S F G).IsEquivalence - CategoryTheory.StructuredArrow.Hom.right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) : X.right ⟶ Y.right - CategoryTheory.StructuredArrow.instFaithfulObjCompPost 📋 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.StructuredArrow.post S F G).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.id_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (X : CategoryTheory.StructuredArrow S T) : CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.CategoryStruct.id X) = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.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.StructuredArrow.instEssSurjObjCompPostOfFull 📋 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] : (CategoryTheory.StructuredArrow.post S F G).EssSurj - CategoryTheory.StructuredArrow.instFullObjCompPostOfFaithful 📋 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.Faithful] : (CategoryTheory.StructuredArrow.post S F G).Full - CategoryTheory.StructuredArrow.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.StructuredArrow.post S F G).IsEquivalence - CategoryTheory.StructuredArrow.epi_of_epi_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f : A ⟶ B) [h : CategoryTheory.Epi (CategoryTheory.StructuredArrow.Hom.right f)] : CategoryTheory.Epi f - CategoryTheory.StructuredArrow.map_obj_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {T : CategoryTheory.Functor C D} (f : S ⟶ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T) : ((CategoryTheory.StructuredArrow.map f).obj X).right = X.right - CategoryTheory.StructuredArrow.mono_of_mono_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f : A ⟶ B) [h : CategoryTheory.Mono (CategoryTheory.StructuredArrow.Hom.right f)] : CategoryTheory.Mono f - CategoryTheory.StructuredArrow.map_obj_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {T : CategoryTheory.Functor C D} (f : S ⟶ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T) : ((CategoryTheory.StructuredArrow.map f).obj X).left = X.left - CategoryTheory.StructuredArrow.mkPostcomp 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y Y' : C} {T : CategoryTheory.Functor C D} (f : S ⟶ T.obj Y) (g : Y ⟶ Y') : CategoryTheory.StructuredArrow.mk f ⟶ CategoryTheory.StructuredArrow.mk (CategoryTheory.CategoryStruct.comp f (T.map g)) - CategoryTheory.StructuredArrow.map_mk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {Y : C} {T : CategoryTheory.Functor C D} {f : S' ⟶ T.obj Y} (g : S ⟶ S') : (CategoryTheory.StructuredArrow.map g).obj (CategoryTheory.StructuredArrow.mk f) = CategoryTheory.StructuredArrow.mk (CategoryTheory.CategoryStruct.comp g f) - CategoryTheory.StructuredArrow.map₂ 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') : CategoryTheory.Functor (CategoryTheory.StructuredArrow L R) (CategoryTheory.StructuredArrow L' R') - CategoryTheory.StructuredArrow.IsUniversal.uniq 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f g : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) (η : f ⟶ g) : η = CategoryTheory.Limits.IsInitial.to h g - CategoryTheory.StructuredArrow.eqToHom_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (h : X = Y) : CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.eqToHom h) = CategoryTheory.eqToHom ⋯ - CategoryTheory.StructuredArrow.homMk' 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y' : C} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) (g : f.right ⟶ Y') : f ⟶ CategoryTheory.StructuredArrow.mk (CategoryTheory.CategoryStruct.comp f.hom (T.map g)) - CategoryTheory.StructuredArrow.mapIsoMap₂ 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {T : CategoryTheory.Functor C D} {S S' : D} (f : S ⟶ S') : CategoryTheory.StructuredArrow.map f ≅ CategoryTheory.StructuredArrow.map₂ f (CategoryTheory.CategoryStruct.id T) - CategoryTheory.StructuredArrow.IsUniversal.hom_desc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) {c : C} (η : f.right ⟶ c) : η = h.desc (CategoryTheory.StructuredArrow.mk (CategoryTheory.CategoryStruct.comp f.hom (T.map η))) - CategoryTheory.StructuredArrow.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 : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') : CategoryTheory.StructuredArrow (S, S') (T.prod T') ≌ CategoryTheory.StructuredArrow S T × CategoryTheory.StructuredArrow S' T' - CategoryTheory.StructuredArrow.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 : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') : CategoryTheory.Functor (CategoryTheory.StructuredArrow (S, S') (T.prod T')) (CategoryTheory.StructuredArrow S T × CategoryTheory.StructuredArrow S' T') - CategoryTheory.StructuredArrow.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 : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') : CategoryTheory.Functor (CategoryTheory.StructuredArrow S T × CategoryTheory.StructuredArrow S' T') (CategoryTheory.StructuredArrow (S, S') (T.prod T')) - CategoryTheory.StructuredArrow.homMk'_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y' : C} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) (g : f.right ⟶ Y') : (f.homMk' g).right = g - CategoryTheory.StructuredArrow.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] (S : D) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) (F.comp G)) : ((CategoryTheory.StructuredArrow.pre S F G).obj X).left = X.left - CategoryTheory.StructuredArrow.IsUniversal.fac 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) (g : CategoryTheory.StructuredArrow S T) : CategoryTheory.CategoryStruct.comp f.hom (T.map (h.desc g)) = g.hom - CategoryTheory.StructuredArrow.left_eq_id 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) : f.left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.StructuredArrow.faithful_map₂ 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') [F.Faithful] : (CategoryTheory.StructuredArrow.map₂ α β).Faithful - CategoryTheory.StructuredArrow.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] (S : D) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) (F.comp G)) : ((CategoryTheory.StructuredArrow.pre S F G).obj X).right = F.obj X.right - CategoryTheory.Functor.toStructuredArrow 📋 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) (X : D) (F : CategoryTheory.Functor C D) (f : (Y : E) → X ⟶ F.obj (G.obj Y)) (h : ∀ {Y Z : E} (g : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (f Y) (F.map (G.map g)) = f Z) : CategoryTheory.Functor E (CategoryTheory.StructuredArrow X F) - CategoryTheory.StructuredArrow.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] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T) : ((CategoryTheory.StructuredArrow.mapIso i).functor.obj X).right = X.right - CategoryTheory.StructuredArrow.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] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T) : ((CategoryTheory.StructuredArrow.mapIso i).inverse.obj X).right = X.right - CategoryTheory.StructuredArrow.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] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T) : ((CategoryTheory.StructuredArrow.mapIso i).functor.obj X).left = X.left - CategoryTheory.StructuredArrow.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] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T) : ((CategoryTheory.StructuredArrow.mapIso i).inverse.obj X).left = X.left - CategoryTheory.StructuredArrow.w 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) : CategoryTheory.CategoryStruct.comp X.hom (T.map (CategoryTheory.StructuredArrow.Hom.right f)) = Y.hom - CategoryTheory.StructuredArrow.Hom.w 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) : CategoryTheory.CategoryStruct.comp X.hom (T.map (CategoryTheory.StructuredArrow.Hom.right f)) = Y.hom - CategoryTheory.StructuredArrow.preEquivalence 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G) ≌ CategoryTheory.StructuredArrow f.right F - CategoryTheory.StructuredArrow.preEquivalenceFunctor 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : CategoryTheory.Functor (CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)) (CategoryTheory.StructuredArrow f.right F) - CategoryTheory.StructuredArrow.preEquivalenceInverse 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : CategoryTheory.Functor (CategoryTheory.StructuredArrow f.right F) (CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)) - CategoryTheory.StructuredArrow.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] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T) : ((CategoryTheory.StructuredArrow.mapNatIso i).functor.obj X).right = X.right - CategoryTheory.StructuredArrow.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] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T') : ((CategoryTheory.StructuredArrow.mapNatIso i).inverse.obj X).right = X.right - CategoryTheory.StructuredArrow.obj_ext 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (x y : CategoryTheory.StructuredArrow S T) (hr : x.right = y.right) (hh : CategoryTheory.CategoryStruct.comp x.hom (T.map (CategoryTheory.eqToHom hr)) = y.hom) : x = y - CategoryTheory.StructuredArrow.ext 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f g : A ⟶ B) : CategoryTheory.StructuredArrow.Hom.right f = CategoryTheory.StructuredArrow.Hom.right g → f = g - CategoryTheory.StructuredArrow.hom_ext 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f g : X ⟶ Y) (h : CategoryTheory.StructuredArrow.Hom.right f = CategoryTheory.StructuredArrow.Hom.right g) : f = g - CategoryTheory.StructuredArrow.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] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T) : ((CategoryTheory.StructuredArrow.mapNatIso i).functor.obj X).left = X.left - CategoryTheory.StructuredArrow.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] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T') : ((CategoryTheory.StructuredArrow.mapNatIso i).inverse.obj X).left = X.left - CategoryTheory.StructuredArrow.map_comp 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' S'' : D} {T : CategoryTheory.Functor C D} {f : S ⟶ S'} {f' : S' ⟶ S''} {h : CategoryTheory.StructuredArrow S'' T} : (CategoryTheory.StructuredArrow.map (CategoryTheory.CategoryStruct.comp f f')).obj h = (CategoryTheory.StructuredArrow.map f).obj ((CategoryTheory.StructuredArrow.map f').obj h) - CategoryTheory.StructuredArrow.ext_iff 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f g : A ⟶ B) : f = g ↔ CategoryTheory.StructuredArrow.Hom.right f = CategoryTheory.StructuredArrow.Hom.right g - CategoryTheory.StructuredArrow.hom_eq_iff 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f g : X ⟶ Y) : f = g ↔ CategoryTheory.StructuredArrow.Hom.right f = CategoryTheory.StructuredArrow.Hom.right g - CategoryTheory.StructuredArrow.hom_ext_iff 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} {f g : X ⟶ Y} : f = g ↔ CategoryTheory.StructuredArrow.Hom.right f = CategoryTheory.StructuredArrow.Hom.right g - CategoryTheory.StructuredArrow.post_obj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (S : C) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) (X : CategoryTheory.StructuredArrow S F) : (CategoryTheory.StructuredArrow.post S F G).obj X = CategoryTheory.StructuredArrow.mk (G.map X.hom) - CategoryTheory.StructuredArrow.IsUniversal.existsUnique 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) (g : CategoryTheory.StructuredArrow S T) : ∃! η, CategoryTheory.CategoryStruct.comp f.hom (T.map η) = g.hom - CategoryTheory.StructuredArrow.preIsoMap₂ 📋 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 : D) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) : CategoryTheory.StructuredArrow.pre S F G ≅ CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.id S) (CategoryTheory.CategoryStruct.id (F.comp G)) - CategoryTheory.StructuredArrow.isoMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (g : f.right ≅ f'.right) (w : CategoryTheory.CategoryStruct.comp f.hom (T.map g.hom) = f'.hom := by cat_disch) : f ≅ f' - CategoryTheory.StructuredArrow.homMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (g : f.right ⟶ f'.right) (w : CategoryTheory.CategoryStruct.comp f.hom (T.map g) = f'.hom := by cat_disch) : f ⟶ f' - CategoryTheory.StructuredArrow.map₂_obj_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit L) R) : ((CategoryTheory.StructuredArrow.map₂ α β).obj X).left = X.left - CategoryTheory.StructuredArrow.proj_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (S : D) (T : CategoryTheory.Functor C D) {Y✝ X✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T} (f : Y✝ ⟶ X✝) : (CategoryTheory.StructuredArrow.proj S T).map f = f.right - CategoryTheory.StructuredArrow.eta_hom_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : f.eta.hom.right = CategoryTheory.CategoryStruct.id f.right - CategoryTheory.StructuredArrow.eta_inv_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : f.eta.inv.right = CategoryTheory.CategoryStruct.id f.right - CategoryTheory.StructuredArrow.homMk'_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y' : C} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) (g : f.right ⟶ Y') : (f.homMk' g).left = CategoryTheory.CategoryStruct.id f.left - CategoryTheory.StructuredArrow.map_obj_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {T : CategoryTheory.Functor C D} (f : S ⟶ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T) : ((CategoryTheory.StructuredArrow.map f).obj X).hom = CategoryTheory.CategoryStruct.comp f X.hom - CategoryTheory.StructuredArrow.map₂_obj_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit L) R) : ((CategoryTheory.StructuredArrow.map₂ α β).obj X).right = F.obj X.right - CategoryTheory.Functor.toStructuredArrow_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) (X : D) (F : CategoryTheory.Functor C D) (f : (Y : E) → X ⟶ F.obj (G.obj Y)) (h : ∀ {Y Z : E} (g : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (f Y) (F.map (G.map g)) = f Z) : (G.toStructuredArrow X F f ⋯).comp (CategoryTheory.StructuredArrow.proj X F) = G - CategoryTheory.StructuredArrow.essSurj_map₂ 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') [F.EssSurj] [G.Full] [CategoryTheory.IsIso α] [CategoryTheory.IsIso β] : (CategoryTheory.StructuredArrow.map₂ α β).EssSurj - CategoryTheory.StructuredArrow.full_map₂ 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') [G.Faithful] [F.Full] [CategoryTheory.IsIso α] [CategoryTheory.IsIso β] : (CategoryTheory.StructuredArrow.map₂ α β).Full - CategoryTheory.StructuredArrow.epi_homMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f : A.right ⟶ B.right) (w : CategoryTheory.CategoryStruct.comp A.hom (T.map f) = B.hom) [h : CategoryTheory.Epi f] : CategoryTheory.Epi (CategoryTheory.StructuredArrow.homMk f w) - CategoryTheory.StructuredArrow.mono_homMk 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {A B : CategoryTheory.StructuredArrow S T} (f : A.right ⟶ B.right) (w : CategoryTheory.CategoryStruct.comp A.hom (T.map f) = B.hom) [h : CategoryTheory.Mono f] : CategoryTheory.Mono (CategoryTheory.StructuredArrow.homMk f w) - CategoryTheory.StructuredArrow.IsUniversal.fac_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) (g : CategoryTheory.StructuredArrow S T) {Z : D} (h✝ : T.obj g.right ⟶ Z) : CategoryTheory.CategoryStruct.comp f.hom (CategoryTheory.CategoryStruct.comp (T.map (h.desc g)) h✝) = CategoryTheory.CategoryStruct.comp g.hom h✝ - CategoryTheory.Functor.toStructuredArrowCompProj 📋 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) (X : D) (F : CategoryTheory.Functor C D) (f : (Y : E) → X ⟶ F.obj (G.obj Y)) (h : ∀ {Y Z : E} (g : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (f Y) (F.map (G.map g)) = f Z) : (G.toStructuredArrow X F f ⋯).comp (CategoryTheory.StructuredArrow.proj X F) ≅ G - CategoryTheory.Functor.toStructuredArrow_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) (X : D) (F : CategoryTheory.Functor C D) (f : (Y : E) → X ⟶ F.obj (G.obj Y)) (h : ∀ {Y Z : E} (g : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (f Y) (F.map (G.map g)) = f Z) (Y : E) : (G.toStructuredArrow X F f h).obj Y = CategoryTheory.StructuredArrow.mk (f Y) - CategoryTheory.StructuredArrow.isEquivalenceMap₂ 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') [F.IsEquivalence] [G.Faithful] [G.Full] [CategoryTheory.IsIso α] [CategoryTheory.IsIso β] : (CategoryTheory.StructuredArrow.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.StructuredArrow.IsUniversal.hom_ext 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f : CategoryTheory.StructuredArrow S T} (h : f.IsUniversal) {c : C} {η η' : f.right ⟶ c} (w : CategoryTheory.CategoryStruct.comp f.hom (T.map η) = CategoryTheory.CategoryStruct.comp f.hom (T.map η')) : η = η' - CategoryTheory.StructuredArrow.homMk_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (g : f.right ⟶ f'.right) (w : CategoryTheory.CategoryStruct.comp f.hom (T.map g) = f'.hom := by cat_disch) : (CategoryTheory.StructuredArrow.homMk g w).right = g - CategoryTheory.StructuredArrow.comp_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y Z : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) (g : Y ⟶ Z) : CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.Hom.right f) (CategoryTheory.StructuredArrow.Hom.right g) - CategoryTheory.StructuredArrow.mkPostcomp_id 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y : C} {T : CategoryTheory.Functor C D} (f : S ⟶ T.obj Y) : CategoryTheory.StructuredArrow.mkPostcomp f (CategoryTheory.CategoryStruct.id Y) = CategoryTheory.eqToHom ⋯ - CategoryTheory.StructuredArrow.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.StructuredArrow.post S F G ≅ CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.id (G.obj S)) (CategoryTheory.CategoryStruct.id (F.comp G)) - CategoryTheory.StructuredArrow.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] (S : D) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) (F.comp G)) : ((CategoryTheory.StructuredArrow.pre S F G).obj X).hom = X.hom - CategoryTheory.StructuredArrow.w_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) {Z : D} (h : T.obj Y.right ⟶ Z) : CategoryTheory.CategoryStruct.comp X.hom (CategoryTheory.CategoryStruct.comp (T.map (CategoryTheory.StructuredArrow.Hom.right f)) h) = CategoryTheory.CategoryStruct.comp Y.hom h - CategoryTheory.StructuredArrow.Hom.w_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) {Z : D} (h : T.obj Y.right ⟶ Z) : CategoryTheory.CategoryStruct.comp X.hom (CategoryTheory.CategoryStruct.comp (T.map (CategoryTheory.StructuredArrow.Hom.right f)) h) = CategoryTheory.CategoryStruct.comp Y.hom h - CategoryTheory.StructuredArrow.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] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T) : ((CategoryTheory.StructuredArrow.mapIso i).functor.obj X).hom = CategoryTheory.CategoryStruct.comp i.inv X.hom - CategoryTheory.StructuredArrow.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] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T) : ((CategoryTheory.StructuredArrow.mapIso i).inverse.obj X).hom = CategoryTheory.CategoryStruct.comp i.hom X.hom - CategoryTheory.StructuredArrow.comp_right_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {X Y Z : CategoryTheory.StructuredArrow S T} (f : X ⟶ Y) (g : Y ⟶ Z) {Z✝ : C} (h : Z.right ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.CategoryStruct.comp f g)) h = CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.Hom.right f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.Hom.right g) h) - CategoryTheory.StructuredArrow.preEquivalenceFunctor_obj_left_as 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)) : ((CategoryTheory.StructuredArrow.preEquivalenceFunctor F f).obj g).left.as = PUnit.unit - CategoryTheory.StructuredArrow.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 : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') : (CategoryTheory.StructuredArrow.prodEquivalence S S' T T').functor = CategoryTheory.StructuredArrow.prodFunctor S S' T T' - CategoryTheory.StructuredArrow.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 : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') : (CategoryTheory.StructuredArrow.prodEquivalence S S' T T').inverse = CategoryTheory.StructuredArrow.prodInverse S S' T T' - CategoryTheory.StructuredArrow.preEquivalenceInverse_obj_left_as 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f.right F) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).obj g).left.as = PUnit.unit - CategoryTheory.StructuredArrow.isoMk_hom_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (g : f.right ≅ f'.right) (w : CategoryTheory.CategoryStruct.comp f.hom (T.map g.hom) = f'.hom := by cat_disch) : (CategoryTheory.StructuredArrow.isoMk g w).hom.right = g.hom - CategoryTheory.StructuredArrow.isoMk_inv_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (g : f.right ≅ f'.right) (w : CategoryTheory.CategoryStruct.comp f.hom (T.map g.hom) = f'.hom := by cat_disch) : (CategoryTheory.StructuredArrow.isoMk g w).inv.right = g.inv - CategoryTheory.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.StructuredArrow.preEquivalenceInverse_obj_right_left_as 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f.right F) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).obj g).right.left.as = PUnit.unit - CategoryTheory.StructuredArrow.homMk'_id 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) : f.homMk' (CategoryTheory.CategoryStruct.id f.right) = CategoryTheory.eqToHom ⋯ - CategoryTheory.Functor.toStructuredArrow_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) (X : D) (F : CategoryTheory.Functor C D) (f : (Y : E) → X ⟶ F.obj (G.obj Y)) (h : ∀ {Y Z : E} (g : Y ⟶ Z), CategoryTheory.CategoryStruct.comp (f Y) (F.map (G.map g)) = f Z) {X✝ Y✝ : E} (g : X✝ ⟶ Y✝) : (G.toStructuredArrow X F f h).map g = CategoryTheory.StructuredArrow.homMk (G.map g) ⋯ - CategoryTheory.StructuredArrow.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] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T) : ((CategoryTheory.StructuredArrow.mapNatIso i).functor.obj X).hom = CategoryTheory.CategoryStruct.comp X.hom (i.hom.app X.right) - CategoryTheory.StructuredArrow.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] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T') : ((CategoryTheory.StructuredArrow.mapNatIso i).inverse.obj X).hom = CategoryTheory.CategoryStruct.comp X.hom (i.inv.app X.right) - CategoryTheory.StructuredArrow.preEquivalenceInverse_obj_right_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f.right F) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).obj g).right.right = g.right - CategoryTheory.StructuredArrow.homMk'_mk_id 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y : C} {T : CategoryTheory.Functor C D} (f : S ⟶ T.obj Y) : (CategoryTheory.StructuredArrow.mk f).homMk' (CategoryTheory.CategoryStruct.id Y) = CategoryTheory.eqToHom ⋯ - CategoryTheory.StructuredArrow.preEquivalence_functor 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : (CategoryTheory.StructuredArrow.preEquivalence F f).functor = CategoryTheory.StructuredArrow.preEquivalenceFunctor F f - CategoryTheory.StructuredArrow.preEquivalence_inverse 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : (CategoryTheory.StructuredArrow.preEquivalence F f).inverse = CategoryTheory.StructuredArrow.preEquivalenceInverse F f - CategoryTheory.StructuredArrow.preEquivalenceFunctor_obj_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)) : ((CategoryTheory.StructuredArrow.preEquivalenceFunctor F f).obj g).right = g.right.right - CategoryTheory.StructuredArrow.map₂IdIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {R : CategoryTheory.Functor C D} (T : D) (α : T ⟶ (CategoryTheory.Functor.id D).obj T) (β : R.comp (CategoryTheory.Functor.id D) ⟶ (CategoryTheory.Functor.id C).comp R) (hα : α = CategoryTheory.CategoryStruct.id T := by cat_disch) (hβ : β = CategoryTheory.CategoryStruct.comp R.rightUnitor.hom R.leftUnitor.inv := by cat_disch) : CategoryTheory.StructuredArrow.map₂ α β ≅ CategoryTheory.Functor.id (CategoryTheory.StructuredArrow T R) - CategoryTheory.StructuredArrow.homMk_surjective 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T : CategoryTheory.Functor C D} {f f' : CategoryTheory.StructuredArrow S T} (φ : f ⟶ f') : ∃ ψ, ∃ (hψ : CategoryTheory.CategoryStruct.comp f.hom (T.map ψ) = f'.hom), φ = CategoryTheory.StructuredArrow.homMk ψ hψ - CategoryTheory.StructuredArrow.map₂_obj_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit L) R) : ((CategoryTheory.StructuredArrow.map₂ α β).obj X).hom = CategoryTheory.CategoryStruct.comp α (CategoryTheory.CategoryStruct.comp (G.map X.hom) (β.app X.right)) - CategoryTheory.StructuredArrow.preEquivalenceInverse_obj_right_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f.right F) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).obj g).right.hom = CategoryTheory.CategoryStruct.comp f.hom (G.map g.hom) - CategoryTheory.StructuredArrow.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] (S : D) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) {Y✝ X✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) (F.comp G)} (f : Y✝ ⟶ X✝) : ((CategoryTheory.StructuredArrow.pre S F G).map f).left = CategoryTheory.CategoryStruct.id Y✝.left - CategoryTheory.StructuredArrow.post_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] (S : C) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) {X✝ Y✝ : CategoryTheory.StructuredArrow S F} (f : X✝ ⟶ Y✝) : (CategoryTheory.StructuredArrow.post S F G).map f = CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right f) ⋯ - CategoryTheory.StructuredArrow.prodInverse_obj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') (f : CategoryTheory.StructuredArrow S T × CategoryTheory.StructuredArrow S' T') : (CategoryTheory.StructuredArrow.prodInverse S S' T T').obj f = CategoryTheory.StructuredArrow.mk (f.1.hom, f.2.hom) - CategoryTheory.StructuredArrow.map₂Congr 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : L' ⟶ G'.obj L) (β' : R.comp G' ⟶ F'.comp R') (hα : α = CategoryTheory.CategoryStruct.comp α' (e₂.inv.app L) := by cat_disch) (hβ : CategoryTheory.CategoryStruct.comp β (CategoryTheory.Functor.whiskerRight e₁.hom R') = CategoryTheory.CategoryStruct.comp (R.whiskerLeft e₂.hom) β' := by cat_disch) : CategoryTheory.StructuredArrow.map₂ α β ≅ CategoryTheory.StructuredArrow.map₂ α' β' - CategoryTheory.StructuredArrow.preEquivalenceInverse_obj_hom_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f.right F) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).obj g).hom.right = g.hom - CategoryTheory.StructuredArrow.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] (S : D) (F : CategoryTheory.Functor B C) (G : CategoryTheory.Functor C D) {Y✝ X✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) (F.comp G)} (f : Y✝ ⟶ X✝) : ((CategoryTheory.StructuredArrow.pre S F G).map f).right = F.map f.right - CategoryTheory.StructuredArrow.preEquivalenceFunctor_obj_hom 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) (g : CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)) : ((CategoryTheory.StructuredArrow.preEquivalenceFunctor F f).obj g).hom = CategoryTheory.StructuredArrow.Hom.right g.hom - CategoryTheory.StructuredArrow.map_map_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {T : CategoryTheory.Functor C D} (f : S ⟶ S') {X✝ Y✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T} (f✝ : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.map f).map f✝).right = f✝.right - CategoryTheory.StructuredArrow.map_map_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {T : CategoryTheory.Functor C D} (f : S ⟶ S') {X✝ Y✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T} (f✝ : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.map f).map f✝).left = CategoryTheory.CategoryStruct.id X✝.left - CategoryTheory.StructuredArrow.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] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') {Y✝ X✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T} (f : Y✝ ⟶ X✝) : ((CategoryTheory.StructuredArrow.mapNatIso i).functor.map f).right = f.right - CategoryTheory.StructuredArrow.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] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') {Y✝ X✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T'} (f : Y✝ ⟶ X✝) : ((CategoryTheory.StructuredArrow.mapNatIso i).inverse.map f).right = f.right - CategoryTheory.StructuredArrow.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] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') {Y✝ X✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T} (f : Y✝ ⟶ X✝) : ((CategoryTheory.StructuredArrow.mapNatIso i).functor.map f).left = CategoryTheory.CategoryStruct.id Y✝.left - CategoryTheory.StructuredArrow.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] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') {Y✝ X✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T'} (f : Y✝ ⟶ X✝) : ((CategoryTheory.StructuredArrow.mapNatIso i).inverse.map f).left = CategoryTheory.CategoryStruct.id Y✝.left - CategoryTheory.StructuredArrow.mkPostcomp_comp 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y Y' Y'' : C} {T : CategoryTheory.Functor C D} (f : S ⟶ T.obj Y) (g : Y ⟶ Y') (g' : Y' ⟶ Y'') : CategoryTheory.StructuredArrow.mkPostcomp f (CategoryTheory.CategoryStruct.comp g g') = CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.mkPostcomp f g) (CategoryTheory.CategoryStruct.comp (CategoryTheory.StructuredArrow.mkPostcomp (CategoryTheory.CategoryStruct.comp f (T.map g)) g') (CategoryTheory.eqToHom ⋯)) - CategoryTheory.StructuredArrow.map₂IdIso_hom_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {R : CategoryTheory.Functor C D} (T : D) (α : T ⟶ (CategoryTheory.Functor.id D).obj T) (β : R.comp (CategoryTheory.Functor.id D) ⟶ (CategoryTheory.Functor.id C).comp R) (hα : α = CategoryTheory.CategoryStruct.id T := by cat_disch) (hβ : β = CategoryTheory.CategoryStruct.comp R.rightUnitor.hom R.leftUnitor.inv := by cat_disch) (X : CategoryTheory.StructuredArrow T R) : ((CategoryTheory.StructuredArrow.map₂IdIso T α β hα hβ).hom.app X).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.map₂IdIso_inv_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {R : CategoryTheory.Functor C D} (T : D) (α : T ⟶ (CategoryTheory.Functor.id D).obj T) (β : R.comp (CategoryTheory.Functor.id D) ⟶ (CategoryTheory.Functor.id C).comp R) (hα : α = CategoryTheory.CategoryStruct.id T := by cat_disch) (hβ : β = CategoryTheory.CategoryStruct.comp R.rightUnitor.hom R.leftUnitor.inv := by cat_disch) (X : CategoryTheory.StructuredArrow T R) : ((CategoryTheory.StructuredArrow.map₂IdIso T α β hα hβ).inv.app X).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.prodFunctor_obj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') (f : CategoryTheory.StructuredArrow (S, S') (T.prod T')) : (CategoryTheory.StructuredArrow.prodFunctor S S' T T').obj f = (CategoryTheory.StructuredArrow.mk f.hom.1, CategoryTheory.StructuredArrow.mk f.hom.2) - CategoryTheory.StructuredArrow.toCostructuredArrow_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) (d : D) {X✝ Y✝ : (CategoryTheory.StructuredArrow d F)ᵒᵖ} (f : X✝ ⟶ Y✝) : (CategoryTheory.StructuredArrow.toCostructuredArrow F d).map f = CategoryTheory.CostructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right f.unop).op ⋯ - CategoryTheory.StructuredArrow.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] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') {X✝ Y✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T} (f : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.mapIso i).functor.map f).right = f.right - CategoryTheory.StructuredArrow.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] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') {X✝ Y✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T} (f : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.mapIso i).inverse.map f).right = f.right - 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.StructuredArrow.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] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') {X✝ Y✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T} (f : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.mapIso i).functor.map f).left = CategoryTheory.CategoryStruct.id X✝.left - CategoryTheory.StructuredArrow.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] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') {X✝ Y✝ : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T} (f : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.mapIso i).inverse.map f).left = CategoryTheory.CategoryStruct.id X✝.left - CategoryTheory.StructuredArrow.map₂IsoPreEquivalenceInverseCompProj 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] {T : CategoryTheory.Functor C D} {S : CategoryTheory.Functor D E} {T' : CategoryTheory.Functor C E} (d : D) (e : E) (u : e ⟶ S.obj d) (α : T.comp S ⟶ T') : CategoryTheory.StructuredArrow.map₂ u α ≅ (CategoryTheory.StructuredArrow.preEquivalence T (CategoryTheory.StructuredArrow.mk u)).inverse.comp ((CategoryTheory.StructuredArrow.proj (CategoryTheory.StructuredArrow.mk u) (CategoryTheory.StructuredArrow.pre e T S)).comp (CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.id e) α)) - CategoryTheory.StructuredArrow.map₂CompMap₂Iso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {C' : Type u₆} [CategoryTheory.Category.{v₆, u₆} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {L'' : D'} {R'' : CategoryTheory.Functor C' D'} {F' : CategoryTheory.Functor C' C} {G' : CategoryTheory.Functor D' D} (α' : L ⟶ G'.obj L'') (β' : R''.comp G' ⟶ F'.comp R) : (CategoryTheory.StructuredArrow.map₂ α' β').comp (CategoryTheory.StructuredArrow.map₂ α β) ≅ CategoryTheory.StructuredArrow.map₂ (CategoryTheory.CategoryStruct.comp α (G.map α')) (CategoryTheory.CategoryStruct.comp (R''.associator G' G).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G) (CategoryTheory.CategoryStruct.comp (F'.associator R G).hom (CategoryTheory.CategoryStruct.comp (F'.whiskerLeft β) (F'.associator F R').inv)))) - CategoryTheory.StructuredArrow.map₂Congr_hom_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : L' ⟶ G'.obj L) (β' : R.comp G' ⟶ F'.comp R') (hα : α = CategoryTheory.CategoryStruct.comp α' (e₂.inv.app L) := by cat_disch) (hβ : CategoryTheory.CategoryStruct.comp β (CategoryTheory.Functor.whiskerRight e₁.hom R') = CategoryTheory.CategoryStruct.comp (R.whiskerLeft e₂.hom) β' := by cat_disch) (X : CategoryTheory.StructuredArrow L R) : ((CategoryTheory.StructuredArrow.map₂Congr α β e₁ e₂ α' β' hα hβ).hom.app X).right = e₁.hom.app X.right - CategoryTheory.StructuredArrow.map₂Congr_inv_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {F' : CategoryTheory.Functor C A} {G' : CategoryTheory.Functor D B} (e₁ : F ≅ F') (e₂ : G ≅ G') (α' : L' ⟶ G'.obj L) (β' : R.comp G' ⟶ F'.comp R') (hα : α = CategoryTheory.CategoryStruct.comp α' (e₂.inv.app L) := by cat_disch) (hβ : CategoryTheory.CategoryStruct.comp β (CategoryTheory.Functor.whiskerRight e₁.hom R') = CategoryTheory.CategoryStruct.comp (R.whiskerLeft e₂.hom) β' := by cat_disch) (X : CategoryTheory.StructuredArrow L R) : ((CategoryTheory.StructuredArrow.map₂Congr α β e₁ e₂ α' β' hα hβ).inv.app X).right = e₁.inv.app X.right - CategoryTheory.StructuredArrow.w_prod_fst 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X Y : CategoryTheory.StructuredArrow (S, S') (T.prod T')} (f : X ⟶ Y) : CategoryTheory.CategoryStruct.comp X.hom.1 (T.map (CategoryTheory.StructuredArrow.Hom.right f).1) = Y.hom.1 - CategoryTheory.StructuredArrow.w_prod_snd 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X Y : CategoryTheory.StructuredArrow (S, S') (T.prod T')} (f : X ⟶ Y) : CategoryTheory.CategoryStruct.comp X.hom.2 (T'.map (CategoryTheory.StructuredArrow.Hom.right f).2) = Y.hom.2 - CategoryTheory.StructuredArrow.homMk'_comp 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y' Y'' : C} {T : CategoryTheory.Functor C D} (f : CategoryTheory.StructuredArrow S T) (g : f.right ⟶ Y') (g' : Y' ⟶ Y'') : f.homMk' (CategoryTheory.CategoryStruct.comp g g') = CategoryTheory.CategoryStruct.comp (f.homMk' g) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.mk (CategoryTheory.CategoryStruct.comp f.hom (T.map g))).homMk' g') (CategoryTheory.eqToHom ⋯)) - CategoryTheory.StructuredArrow.w_prod_fst_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X Y : CategoryTheory.StructuredArrow (S, S') (T.prod T')} (f : X ⟶ Y) {Z : D} (h : T.obj Y.right.1 ⟶ Z) : CategoryTheory.CategoryStruct.comp X.hom.1 (CategoryTheory.CategoryStruct.comp (T.map (CategoryTheory.StructuredArrow.Hom.right f).1) h) = CategoryTheory.CategoryStruct.comp Y.hom.1 h - CategoryTheory.StructuredArrow.w_prod_snd_assoc 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X Y : CategoryTheory.StructuredArrow (S, S') (T.prod T')} (f : X ⟶ Y) {Z : D'} (h : T'.obj Y.right.2 ⟶ Z) : CategoryTheory.CategoryStruct.comp X.hom.2 (CategoryTheory.CategoryStruct.comp (T'.map (CategoryTheory.StructuredArrow.Hom.right f).2) h) = CategoryTheory.CategoryStruct.comp Y.hom.2 h - CategoryTheory.StructuredArrow.toCostructuredArrow'_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) (d : D) {X✝ Y✝ : (CategoryTheory.StructuredArrow (Opposite.op d) F.op)ᵒᵖ} (f : X✝ ⟶ Y✝) : (CategoryTheory.StructuredArrow.toCostructuredArrow' F d).map f = CategoryTheory.CostructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right f.unop).unop ⋯ - CategoryTheory.StructuredArrow.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 : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') : (CategoryTheory.StructuredArrow.prodEquivalence S S' T T').counitIso = CategoryTheory.NatIso.ofComponents (fun f => CategoryTheory.Iso.refl (((CategoryTheory.StructuredArrow.prodInverse S S' T T').comp (CategoryTheory.StructuredArrow.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.StructuredArrow.homMk'_mk_comp 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {Y Y' Y'' : C} {T : CategoryTheory.Functor C D} (f : S ⟶ T.obj Y) (g : Y ⟶ Y') (g' : Y' ⟶ Y'') : (CategoryTheory.StructuredArrow.mk f).homMk' (CategoryTheory.CategoryStruct.comp g g') = CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.mk f).homMk' g) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.StructuredArrow.mk (CategoryTheory.CategoryStruct.comp f (T.map g))).homMk' g') (CategoryTheory.eqToHom ⋯)) - CategoryTheory.StructuredArrow.mapNatIso_counitIso_hom_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T') : ((CategoryTheory.StructuredArrow.mapNatIso i).counitIso.hom.app X).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.mapNatIso_counitIso_inv_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T') : ((CategoryTheory.StructuredArrow.mapNatIso i).counitIso.inv.app X).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.mapNatIso_unitIso_hom_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T) : ((CategoryTheory.StructuredArrow.mapNatIso i).unitIso.hom.app X).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.mapNatIso_unitIso_inv_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S : D} {T T' : CategoryTheory.Functor C D} (i : T ≅ T') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T) : ((CategoryTheory.StructuredArrow.mapNatIso i).unitIso.inv.app X).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.map₂_map_left 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {X Y : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit L) R} (φ : X ⟶ Y) : ((CategoryTheory.StructuredArrow.map₂ α β).map φ).left = CategoryTheory.CategoryStruct.id X.left - CategoryTheory.StructuredArrow.map₂_map_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {X Y : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit L) R} (φ : X ⟶ Y) : ((CategoryTheory.StructuredArrow.map₂ α β).map φ).right = F.map φ.right - CategoryTheory.StructuredArrow.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 : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') : (CategoryTheory.StructuredArrow.prodEquivalence S S' T T').unitIso = CategoryTheory.NatIso.ofComponents (fun f => CategoryTheory.Iso.refl ((CategoryTheory.Functor.id (CategoryTheory.StructuredArrow (S, S') (T.prod T'))).obj f)) ⋯ - CategoryTheory.StructuredArrow.preEquivalenceFunctor_map_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) {X✝ Y✝ : CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G)} (φ : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.preEquivalenceFunctor F f).map φ).right = CategoryTheory.StructuredArrow.Hom.right (CategoryTheory.StructuredArrow.Hom.right φ) - CategoryTheory.StructuredArrow.preEquivalence_counitIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : (CategoryTheory.StructuredArrow.preEquivalence F f).counitIso = CategoryTheory.NatIso.ofComponents (fun x => CategoryTheory.StructuredArrow.isoMk (CategoryTheory.Iso.refl (((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).comp (CategoryTheory.StructuredArrow.preEquivalenceFunctor F f)).obj x).right) ⋯) ⋯ - CategoryTheory.StructuredArrow.mapIso_counitIso_hom_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T) : ((CategoryTheory.StructuredArrow.mapIso i).counitIso.hom.app X).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.mapIso_counitIso_inv_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S') T) : ((CategoryTheory.StructuredArrow.mapIso i).counitIso.inv.app X).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.mapIso_unitIso_hom_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T) : ((CategoryTheory.StructuredArrow.mapIso i).unitIso.hom.app X).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.mapIso_unitIso_inv_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {S S' : D} {T : CategoryTheory.Functor C D} (i : S ≅ S') (X : CategoryTheory.Comma (CategoryTheory.Functor.fromPUnit S) T) : ((CategoryTheory.StructuredArrow.mapIso i).unitIso.inv.app X).right = CategoryTheory.CategoryStruct.id X.right - CategoryTheory.StructuredArrow.preEquivalenceInverse_map_right_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) {X✝ Y✝ : CategoryTheory.StructuredArrow f.right F} (φ : X✝ ⟶ Y✝) : ((CategoryTheory.StructuredArrow.preEquivalenceInverse F f).map φ).right.right = CategoryTheory.StructuredArrow.Hom.right φ - CategoryTheory.StructuredArrow.map₂Iso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : C ≌ A} {G : D ≌ B} (α : L' ⟶ G.functor.obj L) (α' : L ⟶ G.inverse.obj L') (β : R.comp G.functor ⟶ F.functor.comp R') (β' : R'.comp G.inverse ⟶ F.inverse.comp R) (hαα' : CategoryTheory.CategoryStruct.comp α (G.functor.map α') = G.counitIso.inv.app L') (hα'α : CategoryTheory.CategoryStruct.comp α' (G.inverse.map α) = G.unitIso.hom.app L) (hββ' : CategoryTheory.CategoryStruct.comp R.rightUnitor.hom (CategoryTheory.CategoryStruct.comp R.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom R) (F.functor.associator F.inverse R).hom)) = CategoryTheory.CategoryStruct.comp (R.whiskerLeft G.unitIso.hom) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (F.functor.whiskerLeft β'))))) (hβ'β : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor R').inv (CategoryTheory.Functor.whiskerRight F.counitIso.hom R')))) = CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).hom (CategoryTheory.CategoryStruct.comp (R'.whiskerLeft G.counitIso.hom) (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv))) : CategoryTheory.StructuredArrow L R ≌ CategoryTheory.StructuredArrow L' R' - CategoryTheory.StructuredArrow.map₂Iso_functor 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : C ≌ A} {G : D ≌ B} (α : L' ⟶ G.functor.obj L) (α' : L ⟶ G.inverse.obj L') (β : R.comp G.functor ⟶ F.functor.comp R') (β' : R'.comp G.inverse ⟶ F.inverse.comp R) (hαα' : CategoryTheory.CategoryStruct.comp α (G.functor.map α') = G.counitIso.inv.app L') (hα'α : CategoryTheory.CategoryStruct.comp α' (G.inverse.map α) = G.unitIso.hom.app L) (hββ' : CategoryTheory.CategoryStruct.comp R.rightUnitor.hom (CategoryTheory.CategoryStruct.comp R.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom R) (F.functor.associator F.inverse R).hom)) = CategoryTheory.CategoryStruct.comp (R.whiskerLeft G.unitIso.hom) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (F.functor.whiskerLeft β'))))) (hβ'β : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor R').inv (CategoryTheory.Functor.whiskerRight F.counitIso.hom R')))) = CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).hom (CategoryTheory.CategoryStruct.comp (R'.whiskerLeft G.counitIso.hom) (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv))) : (CategoryTheory.StructuredArrow.map₂Iso α α' β β' hαα' hα'α hββ' hβ'β).functor = CategoryTheory.StructuredArrow.map₂ α β - CategoryTheory.StructuredArrow.map₂Iso_inverse 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : C ≌ A} {G : D ≌ B} (α : L' ⟶ G.functor.obj L) (α' : L ⟶ G.inverse.obj L') (β : R.comp G.functor ⟶ F.functor.comp R') (β' : R'.comp G.inverse ⟶ F.inverse.comp R) (hαα' : CategoryTheory.CategoryStruct.comp α (G.functor.map α') = G.counitIso.inv.app L') (hα'α : CategoryTheory.CategoryStruct.comp α' (G.inverse.map α) = G.unitIso.hom.app L) (hββ' : CategoryTheory.CategoryStruct.comp R.rightUnitor.hom (CategoryTheory.CategoryStruct.comp R.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom R) (F.functor.associator F.inverse R).hom)) = CategoryTheory.CategoryStruct.comp (R.whiskerLeft G.unitIso.hom) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (F.functor.whiskerLeft β'))))) (hβ'β : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor R').inv (CategoryTheory.Functor.whiskerRight F.counitIso.hom R')))) = CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).hom (CategoryTheory.CategoryStruct.comp (R'.whiskerLeft G.counitIso.hom) (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv))) : (CategoryTheory.StructuredArrow.map₂Iso α α' β β' hαα' hα'α hββ' hβ'β).inverse = CategoryTheory.StructuredArrow.map₂ α' β' - CategoryTheory.StructuredArrow.map₂CompMap₂Iso_hom_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {C' : Type u₆} [CategoryTheory.Category.{v₆, u₆} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {L'' : D'} {R'' : CategoryTheory.Functor C' D'} {F' : CategoryTheory.Functor C' C} {G' : CategoryTheory.Functor D' D} (α' : L ⟶ G'.obj L'') (β' : R''.comp G' ⟶ F'.comp R) (X : CategoryTheory.StructuredArrow L'' R'') : ((CategoryTheory.StructuredArrow.map₂CompMap₂Iso α β α' β').hom.app X).right = CategoryTheory.CategoryStruct.id (F.obj (F'.obj X.right)) - CategoryTheory.StructuredArrow.map₂CompMap₂Iso_inv_app_right 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : CategoryTheory.Functor C A} {G : CategoryTheory.Functor D B} (α : L' ⟶ G.obj L) (β : R.comp G ⟶ F.comp R') {C' : Type u₆} [CategoryTheory.Category.{v₆, u₆} C'] {D' : Type u₅} [CategoryTheory.Category.{v₅, u₅} D'] {L'' : D'} {R'' : CategoryTheory.Functor C' D'} {F' : CategoryTheory.Functor C' C} {G' : CategoryTheory.Functor D' D} (α' : L ⟶ G'.obj L'') (β' : R''.comp G' ⟶ F'.comp R) (X : CategoryTheory.StructuredArrow L'' R'') : ((CategoryTheory.StructuredArrow.map₂CompMap₂Iso α β α' β').inv.app X).right = CategoryTheory.CategoryStruct.id (F.obj (F'.obj X.right)) - CategoryTheory.StructuredArrow.prodInverse_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X✝ Y✝ : CategoryTheory.StructuredArrow S T × CategoryTheory.StructuredArrow S' T'} (η : X✝ ⟶ Y✝) : (CategoryTheory.StructuredArrow.prodInverse S S' T T').map η = CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right η.1, CategoryTheory.StructuredArrow.Hom.right η.2) ⋯ - CategoryTheory.StructuredArrow.preEquivalence_unitIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {E : Type u₃} [CategoryTheory.Category.{v₃, u₃} E] (F : CategoryTheory.Functor C D) {G : CategoryTheory.Functor D E} {e : E} (f : CategoryTheory.StructuredArrow e G) : (CategoryTheory.StructuredArrow.preEquivalence F f).unitIso = CategoryTheory.NatIso.ofComponents (fun X => CategoryTheory.StructuredArrow.isoMk (CategoryTheory.StructuredArrow.isoMk (CategoryTheory.Iso.refl ((CategoryTheory.Functor.id (CategoryTheory.StructuredArrow f (CategoryTheory.StructuredArrow.pre e F G))).obj X).right.right) ⋯) ⋯) ⋯ - CategoryTheory.StructuredArrow.map₂Iso_counitIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : C ≌ A} {G : D ≌ B} (α : L' ⟶ G.functor.obj L) (α' : L ⟶ G.inverse.obj L') (β : R.comp G.functor ⟶ F.functor.comp R') (β' : R'.comp G.inverse ⟶ F.inverse.comp R) (hαα' : CategoryTheory.CategoryStruct.comp α (G.functor.map α') = G.counitIso.inv.app L') (hα'α : CategoryTheory.CategoryStruct.comp α' (G.inverse.map α) = G.unitIso.hom.app L) (hββ' : CategoryTheory.CategoryStruct.comp R.rightUnitor.hom (CategoryTheory.CategoryStruct.comp R.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom R) (F.functor.associator F.inverse R).hom)) = CategoryTheory.CategoryStruct.comp (R.whiskerLeft G.unitIso.hom) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (F.functor.whiskerLeft β'))))) (hβ'β : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor R').inv (CategoryTheory.Functor.whiskerRight F.counitIso.hom R')))) = CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).hom (CategoryTheory.CategoryStruct.comp (R'.whiskerLeft G.counitIso.hom) (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv))) : (CategoryTheory.StructuredArrow.map₂Iso α α' β β' hαα' hα'α hββ' hβ'β).counitIso = CategoryTheory.StructuredArrow.map₂CompMap₂Iso α β α' β' ≪≫ CategoryTheory.StructuredArrow.map₂Congr (CategoryTheory.CategoryStruct.comp α (G.functor.map α')) (CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (F.inverse.associator F.functor R').inv)))) F.counitIso G.counitIso (CategoryTheory.CategoryStruct.id L') (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv) ⋯ ⋯ ≪≫ CategoryTheory.StructuredArrow.map₂IdIso L' (CategoryTheory.CategoryStruct.id L') (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv) ⋯ ⋯ - CategoryTheory.StructuredArrow.map₂Iso_unitIso 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {A : Type u₃} [CategoryTheory.Category.{v₃, u₃} A] {B : Type u₄} [CategoryTheory.Category.{v₄, u₄} B] {L : D} {R : CategoryTheory.Functor C D} {L' : B} {R' : CategoryTheory.Functor A B} {F : C ≌ A} {G : D ≌ B} (α : L' ⟶ G.functor.obj L) (α' : L ⟶ G.inverse.obj L') (β : R.comp G.functor ⟶ F.functor.comp R') (β' : R'.comp G.inverse ⟶ F.inverse.comp R) (hαα' : CategoryTheory.CategoryStruct.comp α (G.functor.map α') = G.counitIso.inv.app L') (hα'α : CategoryTheory.CategoryStruct.comp α' (G.inverse.map α) = G.unitIso.hom.app L) (hββ' : CategoryTheory.CategoryStruct.comp R.rightUnitor.hom (CategoryTheory.CategoryStruct.comp R.leftUnitor.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight F.unitIso.hom R) (F.functor.associator F.inverse R).hom)) = CategoryTheory.CategoryStruct.comp (R.whiskerLeft G.unitIso.hom) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (F.functor.whiskerLeft β'))))) (hβ'β : CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β' G.functor) (CategoryTheory.CategoryStruct.comp (F.inverse.associator R G.functor).hom (CategoryTheory.CategoryStruct.comp (F.inverse.whiskerLeft β) (CategoryTheory.CategoryStruct.comp (F.inverse.associator F.functor R').inv (CategoryTheory.Functor.whiskerRight F.counitIso.hom R')))) = CategoryTheory.CategoryStruct.comp (R'.associator G.inverse G.functor).hom (CategoryTheory.CategoryStruct.comp (R'.whiskerLeft G.counitIso.hom) (CategoryTheory.CategoryStruct.comp R'.rightUnitor.hom R'.leftUnitor.inv))) : (CategoryTheory.StructuredArrow.map₂Iso α α' β β' hαα' hα'α hββ' hβ'β).unitIso = (CategoryTheory.StructuredArrow.map₂IdIso L (CategoryTheory.CategoryStruct.id L) (CategoryTheory.CategoryStruct.comp R.rightUnitor.hom R.leftUnitor.inv) ⋯ ⋯).symm ≪≫ CategoryTheory.StructuredArrow.map₂Congr (CategoryTheory.CategoryStruct.id L) (CategoryTheory.CategoryStruct.comp R.rightUnitor.hom R.leftUnitor.inv) F.unitIso G.unitIso (CategoryTheory.CategoryStruct.comp α' (G.inverse.map α)) (CategoryTheory.CategoryStruct.comp (R.associator G.functor G.inverse).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight β G.inverse) (CategoryTheory.CategoryStruct.comp (F.functor.associator R' G.inverse).hom (CategoryTheory.CategoryStruct.comp (F.functor.whiskerLeft β') (F.functor.associator F.inverse R).inv)))) ⋯ ⋯ ≪≫ (CategoryTheory.StructuredArrow.map₂CompMap₂Iso α' β' α β).symm - CategoryTheory.StructuredArrow.prodFunctor_map 📋 Mathlib.CategoryTheory.Comma.StructuredArrow.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {C' : Type u₃} [CategoryTheory.Category.{v₃, u₃} C'] {D' : Type u₄} [CategoryTheory.Category.{v₄, u₄} D'] (S : D) (S' : D') (T : CategoryTheory.Functor C D) (T' : CategoryTheory.Functor C' D') {X✝ Y✝ : CategoryTheory.StructuredArrow (S, S') (T.prod T')} (η : X✝ ⟶ Y✝) : (CategoryTheory.StructuredArrow.prodFunctor S S' T T').map η = (CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right η).1 ⋯, CategoryTheory.StructuredArrow.homMk (CategoryTheory.StructuredArrow.Hom.right η).2 ⋯) - CategoryTheory.StructuredArrow.toUnder 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (X : T) (F : CategoryTheory.Functor D T) : CategoryTheory.Functor (CategoryTheory.StructuredArrow X F) (CategoryTheory.Under X) - CategoryTheory.StructuredArrow.instEssSurjUnderToUnder 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (X : T) (F : CategoryTheory.Functor D T) [F.EssSurj] : (CategoryTheory.StructuredArrow.toUnder X F).EssSurj - CategoryTheory.StructuredArrow.instFaithfulUnderToUnder 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (X : T) (F : CategoryTheory.Functor D T) [F.Faithful] : (CategoryTheory.StructuredArrow.toUnder X F).Faithful - CategoryTheory.StructuredArrow.instFullUnderToUnder 📋 Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type u₁} [CategoryTheory.Category.{v₁, u₁} T] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (X : T) (F : CategoryTheory.Functor D T) [F.Full] : (CategoryTheory.StructuredArrow.toUnder X F).Full
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