Loogle!
Result
Found 127 declarations mentioning CategoryTheory.Arrow.Hom.left.
- CategoryTheory.Arrow.Hom.left 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {X Y : CategoryTheory.Arrow T} (f : X ⟶ Y) : X.left ⟶ Y.left - CategoryTheory.Arrow.isIso_left 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (sq : f ⟶ g) [CategoryTheory.IsIso sq] : CategoryTheory.IsIso (CategoryTheory.Arrow.Hom.left sq) - CategoryTheory.Arrow.mono_left 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (sq : f ⟶ g) [CategoryTheory.Mono sq] : CategoryTheory.Mono (CategoryTheory.Arrow.Hom.left sq) - CategoryTheory.Arrow.id_left 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] (f : CategoryTheory.Arrow T) : CategoryTheory.Arrow.Hom.left (CategoryTheory.CategoryStruct.id f) = CategoryTheory.CategoryStruct.id f.left - CategoryTheory.Arrow.isIso_of_isIso_left_of_isIso_right 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (ff : f ⟶ g) [CategoryTheory.IsIso (CategoryTheory.Arrow.Hom.left ff)] [CategoryTheory.IsIso (CategoryTheory.Arrow.Hom.right ff)] : CategoryTheory.IsIso ff - CategoryTheory.Arrow.hom.congr_left 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} {φ₁ φ₂ : f ⟶ g} (h : φ₁ = φ₂) : CategoryTheory.Arrow.Hom.left φ₁ = CategoryTheory.Arrow.Hom.left φ₂ - CategoryTheory.Arrow.eqToHom_left 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {X Y : CategoryTheory.Arrow T} (h : X = Y) : CategoryTheory.Arrow.Hom.left (CategoryTheory.eqToHom h) = CategoryTheory.eqToHom ⋯ - CategoryTheory.Arrow.inv_left 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (sq : f ⟶ g) [CategoryTheory.IsIso sq] : CategoryTheory.Arrow.Hom.left (CategoryTheory.inv sq) = CategoryTheory.inv (CategoryTheory.Arrow.Hom.left sq) - CategoryTheory.Arrow.w 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (sq : f ⟶ g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) g.hom = CategoryTheory.CategoryStruct.comp f.hom (CategoryTheory.Arrow.Hom.right sq) - CategoryTheory.Arrow.Hom.w 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (sq : f ⟶ g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) g.hom = CategoryTheory.CategoryStruct.comp f.hom (CategoryTheory.Arrow.Hom.right sq) - CategoryTheory.Arrow.hom_inv_id_left 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (e : f ≅ g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left e.hom) (CategoryTheory.Arrow.Hom.left e.inv) = CategoryTheory.CategoryStruct.id f.left - CategoryTheory.Arrow.inv_hom_id_left 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (e : f ≅ g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left e.inv) (CategoryTheory.Arrow.Hom.left e.hom) = CategoryTheory.CategoryStruct.id g.left - CategoryTheory.Arrow.hom_ext 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {X Y : CategoryTheory.Arrow T} (f g : X ⟶ Y) (h₁ : CategoryTheory.Arrow.Hom.left f = CategoryTheory.Arrow.Hom.left g) (h₂ : CategoryTheory.Arrow.Hom.right f = CategoryTheory.Arrow.Hom.right g) : f = g - CategoryTheory.Arrow.comp_left 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {X Y Z : CategoryTheory.Arrow T} (f : X ⟶ Y) (g : Y ⟶ Z) : CategoryTheory.Arrow.Hom.left (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left f) (CategoryTheory.Arrow.Hom.left g) - CategoryTheory.Arrow.w_mk_left 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {X Y : T} {f : X ⟶ Y} {g : CategoryTheory.Arrow T} (sq : CategoryTheory.Arrow.mk f ⟶ g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) g.hom = CategoryTheory.CategoryStruct.comp f (CategoryTheory.Arrow.Hom.right sq) - CategoryTheory.Arrow.w_mk_right 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f : CategoryTheory.Arrow T} {X Y : T} {g : X ⟶ Y} (sq : f ⟶ CategoryTheory.Arrow.mk g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) g = CategoryTheory.CategoryStruct.comp f.hom (CategoryTheory.Arrow.Hom.right sq) - CategoryTheory.Arrow.hom_ext_iff 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {X Y : CategoryTheory.Arrow T} {f g : X ⟶ Y} : f = g ↔ CategoryTheory.Arrow.Hom.left f = CategoryTheory.Arrow.Hom.left g ∧ CategoryTheory.Arrow.Hom.right f = CategoryTheory.Arrow.Hom.right g - CategoryTheory.Arrow.hom_inv_id_left_assoc 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (e : f ≅ g) {Z : T} (h : f.left ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left e.hom) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left e.inv) h) = h - CategoryTheory.Arrow.inv_hom_id_left_assoc 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (e : f ≅ g) {Z : T} (h : g.left ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left e.inv) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left e.hom) h) = h - CategoryTheory.Arrow.w_mk 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {X Y X' Y' : T} {f : X ⟶ Y} {g : X' ⟶ Y'} (sq : CategoryTheory.Arrow.mk f ⟶ CategoryTheory.Arrow.mk g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) g = CategoryTheory.CategoryStruct.comp f (CategoryTheory.Arrow.Hom.right sq) - CategoryTheory.Arrow.iso_w 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (e : f ≅ g) : g.hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left e.inv) (CategoryTheory.CategoryStruct.comp f.hom (CategoryTheory.Arrow.Hom.right e.hom)) - CategoryTheory.Arrow.square_from_iso_invert 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {X Y : T} (i : X ≅ Y) (p : CategoryTheory.Arrow T) (sq : CategoryTheory.Arrow.mk i.hom ⟶ p) : CategoryTheory.CategoryStruct.comp i.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) p.hom) = CategoryTheory.Arrow.Hom.right sq - CategoryTheory.Arrow.inv_left_hom_right 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (sq : f ⟶ g) [CategoryTheory.IsIso sq] : CategoryTheory.CategoryStruct.comp (CategoryTheory.inv (CategoryTheory.Arrow.Hom.left sq)) (CategoryTheory.CategoryStruct.comp f.hom (CategoryTheory.Arrow.Hom.right sq)) = g.hom - CategoryTheory.Arrow.left_hom_inv_right 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (sq : f ⟶ g) [CategoryTheory.IsIso sq] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) (CategoryTheory.CategoryStruct.comp g.hom (CategoryTheory.inv (CategoryTheory.Arrow.Hom.right sq))) = f.hom - CategoryTheory.Arrow.w_assoc 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (sq : f ⟶ g) {Z : T} (h : g.right ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) (CategoryTheory.CategoryStruct.comp g.hom h) = CategoryTheory.CategoryStruct.comp f.hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right sq) h) - CategoryTheory.Arrow.Hom.w_assoc 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f g : CategoryTheory.Arrow T} (sq : f ⟶ g) {Z : T} (h : g.right ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) (CategoryTheory.CategoryStruct.comp g.hom h) = CategoryTheory.CategoryStruct.comp f.hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right sq) h) - CategoryTheory.Arrow.square_to_iso_invert 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] (i : CategoryTheory.Arrow T) {X Y : T} (p : X ≅ Y) (sq : i ⟶ CategoryTheory.Arrow.mk p.hom) : CategoryTheory.CategoryStruct.comp i.hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right sq) p.inv) = CategoryTheory.Arrow.Hom.left sq - CategoryTheory.Arrow.w_mk_left_assoc 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {X Y : T} {f : X ⟶ Y} {g : CategoryTheory.Arrow T} (sq : CategoryTheory.Arrow.mk f ⟶ g) {Z : T} (h : g.right ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) (CategoryTheory.CategoryStruct.comp g.hom h) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right sq) h) - CategoryTheory.Arrow.w_mk_right_assoc 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {f : CategoryTheory.Arrow T} {X Y : T} {g : X ⟶ Y} (sq : f ⟶ CategoryTheory.Arrow.mk g) {Z : T} (h : Y ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) (CategoryTheory.CategoryStruct.comp g h) = CategoryTheory.CategoryStruct.comp f.hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right sq) h) - CategoryTheory.Arrow.w_mk_assoc 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {X Y X' Y' : T} {f : X ⟶ Y} {g : X' ⟶ Y'} (sq : CategoryTheory.Arrow.mk f ⟶ CategoryTheory.Arrow.mk g) {Z : T} (h : Y' ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) (CategoryTheory.CategoryStruct.comp g h) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right sq) h) - CategoryTheory.Arrow.comp_left_assoc 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {X Y Z : CategoryTheory.Arrow T} (f : X ⟶ Y) (g : Y ⟶ Z) {Z✝ : T} (h : Z.left ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left (CategoryTheory.CategoryStruct.comp f g)) h = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left g) h) - CategoryTheory.Arrow.squareToSnd_left 📋 Mathlib.CategoryTheory.Comma.Arrow
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {i : CategoryTheory.Arrow C} {f : X ⟶ Y} {g : Y ⟶ Z} (sq : i ⟶ CategoryTheory.Arrow.mk (CategoryTheory.CategoryStruct.comp f g)) : (CategoryTheory.Arrow.squareToSnd sq).left = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) f - CategoryTheory.Arrow.iso_w' 📋 Mathlib.CategoryTheory.Comma.Arrow
{T : Type u} [CategoryTheory.Category.{v, u} T] {W X Y Z : T} {f : W ⟶ X} {g : Y ⟶ Z} (e : CategoryTheory.Arrow.mk f ≅ CategoryTheory.Arrow.mk g) : g = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left e.inv) (CategoryTheory.CategoryStruct.comp f (CategoryTheory.Arrow.Hom.right e.hom)) - CategoryTheory.Functor.mapArrow_map 📋 Mathlib.CategoryTheory.Comma.Arrow
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y : CategoryTheory.Arrow C} (f : X ⟶ Y) : F.mapArrow.map f = CategoryTheory.Arrow.homMk (F.map (CategoryTheory.Arrow.Hom.left f)) (F.map (CategoryTheory.Arrow.Hom.right f)) ⋯ - CategoryTheory.CommSq.of_arrow 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {f g : CategoryTheory.Arrow C} (h : f ⟶ g) : CategoryTheory.CommSq f.hom (CategoryTheory.Arrow.Hom.left h) (CategoryTheory.Arrow.Hom.right h) g.hom - CategoryTheory.RetractArrow.instIsSplitEpiLeftRArrow 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) : CategoryTheory.IsSplitEpi (CategoryTheory.Arrow.Hom.left h.r) - CategoryTheory.RetractArrow.instIsSplitMonoLeftIArrow 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} {f : Y ⟶ X} {g : W ⟶ Z} (h : CategoryTheory.RetractArrow f g) : CategoryTheory.IsSplitMono (CategoryTheory.Arrow.Hom.left h.i) - CategoryTheory.RetractArrow.i_w 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left h.i) g = CategoryTheory.CategoryStruct.comp f (CategoryTheory.Arrow.Hom.right h.i) - CategoryTheory.RetractArrow.r_w 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left h.r) f = CategoryTheory.CategoryStruct.comp g (CategoryTheory.Arrow.Hom.right h.r) - CategoryTheory.RetractArrow.retract_left 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left h.i) (CategoryTheory.Arrow.Hom.left h.r) = CategoryTheory.CategoryStruct.id X - CategoryTheory.RetractArrow.i_w_assoc 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) {Z✝ : C} (h✝ : W ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left h.i) (CategoryTheory.CategoryStruct.comp g h✝) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right h.i) h✝) - CategoryTheory.RetractArrow.r_w_assoc 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) {Z✝ : C} (h✝ : Y ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left h.r) (CategoryTheory.CategoryStruct.comp f h✝) = CategoryTheory.CategoryStruct.comp g (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right h.r) h✝) - CategoryTheory.RetractArrow.retract_left_assoc 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) {Z✝ : C} (h✝ : (CategoryTheory.Arrow.mk f).left ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left h.i) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left h.r) h✝) = CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.id X) h✝ - CategoryTheory.RetractArrow.map_i_left 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {X Y Z W : C} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) (F : CategoryTheory.Functor C D) : (h.map F).i.left = F.map (CategoryTheory.Arrow.Hom.left h.i) - CategoryTheory.RetractArrow.map_r_left 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] {X Y Z W : C} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) (F : CategoryTheory.Functor C D) : (h.map F).r.left = F.map (CategoryTheory.Arrow.Hom.left h.r) - CategoryTheory.RetractArrow.op_i 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) : h.op.i = CategoryTheory.Arrow.homMk (CategoryTheory.Arrow.Hom.right h.r).op (CategoryTheory.Arrow.Hom.left h.r).op ⋯ - CategoryTheory.RetractArrow.op_r 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) : h.op.r = CategoryTheory.Arrow.homMk (CategoryTheory.Arrow.Hom.right h.i).op (CategoryTheory.Arrow.Hom.left h.i).op ⋯ - CategoryTheory.RetractArrow.unop_i 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : Cᵒᵖ} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) : h.unop.i = CategoryTheory.Arrow.homMk (CategoryTheory.Arrow.Hom.right h.r).unop (CategoryTheory.Arrow.Hom.left h.r).unop ⋯ - CategoryTheory.RetractArrow.unop_r 📋 Mathlib.CategoryTheory.Retract
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : Cᵒᵖ} {f : X ⟶ Y} {g : Z ⟶ W} (h : CategoryTheory.RetractArrow f g) : h.unop.r = CategoryTheory.Arrow.homMk (CategoryTheory.Arrow.Hom.right h.i).unop (CategoryTheory.Arrow.Hom.left h.i).unop ⋯ - CategoryTheory.MorphismProperty.FunctorialFactorizationData.i_mapZ 📋 Mathlib.CategoryTheory.MorphismProperty.Factorization
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W₁ W₂ : CategoryTheory.MorphismProperty C} (data : W₁.FunctorialFactorizationData W₂) {X Y X' Y' : C} {f : X ⟶ Y} {g : X' ⟶ Y'} (φ : CategoryTheory.Arrow.mk f ⟶ CategoryTheory.Arrow.mk g) : CategoryTheory.CategoryStruct.comp (data.factorizationData f).i (data.mapZ φ) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left φ) (data.factorizationData g).i - CategoryTheory.MorphismProperty.FunctorialFactorizationData.i_mapZ_assoc 📋 Mathlib.CategoryTheory.MorphismProperty.Factorization
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W₁ W₂ : CategoryTheory.MorphismProperty C} (data : W₁.FunctorialFactorizationData W₂) {X Y X' Y' : C} {f : X ⟶ Y} {g : X' ⟶ Y'} (φ : CategoryTheory.Arrow.mk f ⟶ CategoryTheory.Arrow.mk g) {Z : C} (h : (data.factorizationData g).Z ⟶ Z) : CategoryTheory.CategoryStruct.comp (data.factorizationData f).i (CategoryTheory.CategoryStruct.comp (data.mapZ φ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left φ) (CategoryTheory.CategoryStruct.comp (data.factorizationData g).i h) - CategoryTheory.MorphismProperty.FunctorialFactorizationData.functorCategory.Z_map_app 📋 Mathlib.CategoryTheory.MorphismProperty.Factorization
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W₁ W₂ : CategoryTheory.MorphismProperty C} (data : W₁.FunctorialFactorizationData W₂) (J : Type u_3) [CategoryTheory.Category.{v_3, u_3} J] {X✝ Y✝ : CategoryTheory.Arrow (CategoryTheory.Functor J C)} (τ : X✝ ⟶ Y✝) (j : J) : ((CategoryTheory.MorphismProperty.FunctorialFactorizationData.functorCategory.Z data J).map τ).app j = data.mapZ (CategoryTheory.Arrow.homMk ((CategoryTheory.Arrow.Hom.left τ).app j) ((CategoryTheory.Arrow.Hom.right τ).app j) ⋯) - CategoryTheory.Limits.MonoFactorisation.ofArrowIso_e 📋 Mathlib.CategoryTheory.Limits.Shapes.Images
{C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} (F : CategoryTheory.Limits.MonoFactorisation f.hom) (sq : f ⟶ g) [CategoryTheory.IsIso sq] : (F.ofArrowIso sq).e = CategoryTheory.CategoryStruct.comp (CategoryTheory.inv (CategoryTheory.Arrow.Hom.left sq)) F.e - CategoryTheory.Limits.ImageMap.factor_map 📋 Mathlib.CategoryTheory.Limits.Shapes.Images
{C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [CategoryTheory.Limits.HasImage f.hom] [CategoryTheory.Limits.HasImage g.hom] (sq : f ⟶ g) (m : CategoryTheory.Limits.ImageMap sq) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.factorThruImage f.hom) m.map = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) (CategoryTheory.Limits.factorThruImage g.hom) - CategoryTheory.Limits.image.factor_map 📋 Mathlib.CategoryTheory.Limits.Shapes.Images
{C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [CategoryTheory.Limits.HasImage f.hom] [CategoryTheory.Limits.HasImage g.hom] (sq : f ⟶ g) [CategoryTheory.Limits.HasImageMap sq] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.factorThruImage f.hom) (CategoryTheory.Limits.image.map sq) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) (CategoryTheory.Limits.factorThruImage g.hom) - CategoryTheory.Limits.ImageMap.factor_map_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Images
{C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [CategoryTheory.Limits.HasImage f.hom] [CategoryTheory.Limits.HasImage g.hom] (sq : f ⟶ g) (m : CategoryTheory.Limits.ImageMap sq) {Z : C} (h : CategoryTheory.Limits.image g.hom ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.factorThruImage f.hom) (CategoryTheory.CategoryStruct.comp m.map h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.factorThruImage g.hom) h) - CategoryTheory.Limits.ker_map 📋 Mathlib.CategoryTheory.Limits.Shapes.Kernels
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasKernels C] {f g : CategoryTheory.Arrow C} (u : f ⟶ g) : (CategoryTheory.Limits.ker C).map u = CategoryTheory.Limits.kernel.lift g.hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.ι f.hom) (CategoryTheory.Arrow.Hom.left u)) ⋯ - CategoryTheory.Limits.KernelFork.mapOfIsLimit_ι 📋 Mathlib.CategoryTheory.Limits.Shapes.Kernels
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} {f : X ⟶ Y} {X' Y' : C} {f' : X' ⟶ Y'} (kf : CategoryTheory.Limits.KernelFork f) {kf' : CategoryTheory.Limits.KernelFork f'} (hf' : CategoryTheory.Limits.IsLimit kf') (φ : CategoryTheory.Arrow.mk f ⟶ CategoryTheory.Arrow.mk f') : CategoryTheory.CategoryStruct.comp (kf.mapOfIsLimit hf' φ) (CategoryTheory.Limits.Fork.ι kf') = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Fork.ι kf) (CategoryTheory.Arrow.Hom.left φ) - CategoryTheory.Limits.KernelFork.mapOfIsLimit_ι_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Kernels
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} {f : X ⟶ Y} {X' Y' : C} {f' : X' ⟶ Y'} (kf : CategoryTheory.Limits.KernelFork f) {kf' : CategoryTheory.Limits.KernelFork f'} (hf' : CategoryTheory.Limits.IsLimit kf') (φ : CategoryTheory.Arrow.mk f ⟶ CategoryTheory.Arrow.mk f') {Z : C} (h : X' ⟶ Z) : CategoryTheory.CategoryStruct.comp (kf.mapOfIsLimit hf' φ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Fork.ι kf') h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Fork.ι kf) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left φ) h) - CategoryTheory.MorphismProperty.Arrow.Hom.mk 📋 Mathlib.CategoryTheory.MorphismProperty.Comma
{T : Type u_1} [CategoryTheory.Category.{v_1, u_1} T] {P Q W : CategoryTheory.MorphismProperty T} [Q.IsMultiplicative] [W.IsMultiplicative] {A B : P.Arrow Q W} (f : (CategoryTheory.MorphismProperty.Arrow.forget P Q W).obj A ⟶ (CategoryTheory.MorphismProperty.Arrow.forget P Q W).obj B) (hfl : Q (CategoryTheory.Arrow.Hom.left f)) (hfr : W (CategoryTheory.Arrow.Hom.right f)) : A ⟶ B - CategoryTheory.MorphismProperty.Arrow.Hom.mk_hom 📋 Mathlib.CategoryTheory.MorphismProperty.Comma
{T : Type u_1} [CategoryTheory.Category.{v_1, u_1} T] {P Q W : CategoryTheory.MorphismProperty T} [Q.IsMultiplicative] [W.IsMultiplicative] {A B : P.Arrow Q W} (f : (CategoryTheory.MorphismProperty.Arrow.forget P Q W).obj A ⟶ (CategoryTheory.MorphismProperty.Arrow.forget P Q W).obj B) (hfl : Q (CategoryTheory.Arrow.Hom.left f)) (hfr : W (CategoryTheory.Arrow.Hom.right f)) : CategoryTheory.MorphismProperty.Comma.Hom.hom (CategoryTheory.MorphismProperty.Arrow.Hom.mk f hfl hfr) = f - CategoryTheory.Abelian.coimageImageComparisonFunctor_map 📋 Mathlib.CategoryTheory.Abelian.Images
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasKernels C] [CategoryTheory.Limits.HasCokernels C] {f g : CategoryTheory.Arrow C} (η : f ⟶ g) : CategoryTheory.Abelian.coimageImageComparisonFunctor.map η = CategoryTheory.Arrow.homMk (CategoryTheory.Limits.cokernel.map (CategoryTheory.Limits.kernel.ι f.hom) (CategoryTheory.Limits.kernel.ι g.hom) (CategoryTheory.Limits.kernel.map f.hom g.hom (CategoryTheory.Arrow.Hom.left η) (CategoryTheory.Arrow.Hom.right η) ⋯) (CategoryTheory.Arrow.Hom.left η) ⋯) (CategoryTheory.Limits.kernel.map (CategoryTheory.Limits.cokernel.π f.hom) (CategoryTheory.Limits.cokernel.π g.hom) (CategoryTheory.Arrow.Hom.right η) (CategoryTheory.Limits.cokernel.map f.hom g.hom (CategoryTheory.Arrow.Hom.left η) (CategoryTheory.Arrow.Hom.right η) ⋯) ⋯) ⋯ - CategoryTheory.Abelian.coim_map 📋 Mathlib.CategoryTheory.Abelian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {f g : CategoryTheory.Arrow C} (u : f ⟶ g) : CategoryTheory.Abelian.coim.map u = CategoryTheory.Limits.cokernel.desc (CategoryTheory.Limits.kernel.ι f.hom) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left u) (CategoryTheory.Abelian.coimage.π g.hom)) ⋯ - CategoryTheory.Limits.kernelSubobjectMap_arrow 📋 Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X ⟶ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' ⟶ Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f ⟶ CategoryTheory.Arrow.mk f') : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectMap sq) (CategoryTheory.Limits.kernelSubobject f').arrow = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject f).arrow (CategoryTheory.Arrow.Hom.left sq) - CategoryTheory.Limits.kernelSubobjectMap_arrow_assoc 📋 Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X ⟶ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' ⟶ Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f ⟶ CategoryTheory.Arrow.mk f') {Z : C} (h : X' ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobjectMap sq) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject f').arrow h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernelSubobject f).arrow (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left sq) h) - CategoryTheory.Limits.kernelSubobjectMap_arrow_apply 📋 Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasZeroMorphisms C] {f : X ⟶ Y} [CategoryTheory.Limits.HasKernel f] {X' Y' : C} {f' : X' ⟶ Y'} [CategoryTheory.Limits.HasKernel f'] (sq : CategoryTheory.Arrow.mk f ⟶ CategoryTheory.Arrow.mk f') {F : C → C → Type uF} {carrier : C → Type w} {instFunLike : (X Y : C) → FunLike (F X Y) (carrier X) (carrier Y)} [inst : CategoryTheory.ConcreteCategory C F] (x : carrier (CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.kernelSubobject f))) : (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobject f').arrow) ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobjectMap sq)) x) = (CategoryTheory.ConcreteCategory.hom (CategoryTheory.Arrow.Hom.left sq)) ((CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.kernelSubobject f).arrow) x) - HomologicalComplex.Hom.sqFrom_left 📋 Mathlib.Algebra.Homology.HomologicalComplex
{ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {c : ComplexShape ι} {C₁ C₂ : HomologicalComplex V c} (f : C₁.Hom C₂) (i : ι) : CategoryTheory.Arrow.Hom.left (f.sqFrom i) = f.f i - HomologicalComplex.Hom.sqTo_left 📋 Mathlib.Algebra.Homology.HomologicalComplex
{ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {c : ComplexShape ι} {C₁ C₂ : HomologicalComplex V c} (f : C₁.Hom C₂) (j : ι) : CategoryTheory.Arrow.Hom.left (f.sqTo j) = f.prev j - CategoryTheory.Pretriangulated.exists_iso_of_arrow_iso 📋 Mathlib.CategoryTheory.Triangulated.Pretriangulated
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ℤ] [CategoryTheory.Preadditive C] [∀ (n : ℤ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T₁ T₂ : CategoryTheory.Pretriangulated.Triangle C) (hT₁ : T₁ ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₂ : T₂ ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (e : CategoryTheory.Arrow.mk T₁.mor₁ ≅ CategoryTheory.Arrow.mk T₂.mor₁) : ∃ e', e'.hom.hom₁ = CategoryTheory.Arrow.Hom.left e.hom ∧ e'.hom.hom₂ = CategoryTheory.Arrow.Hom.right e.hom - CategoryTheory.CosimplicialObject.equivalenceRightToLeft_left 📋 Mathlib.AlgebraicTopology.CechNerve
{C : Type u} [CategoryTheory.Category.{v, u} C] [∀ (n : ℕ) (f : CategoryTheory.Arrow C), CategoryTheory.Limits.HasWidePushout f.left (fun x => f.right) fun x => f.hom] (F : CategoryTheory.Arrow C) (X : CategoryTheory.CosimplicialObject.Augmented C) (G : F ⟶ CategoryTheory.CosimplicialObject.Augmented.toArrow.obj X) : (CategoryTheory.CosimplicialObject.equivalenceRightToLeft F X G).left = CategoryTheory.Arrow.Hom.left G - CategoryTheory.Arrow.mapAugmentedCechConerve_left 📋 Mathlib.AlgebraicTopology.CechNerve
{C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ℕ), CategoryTheory.Limits.HasWidePushout f.left (fun x => f.right) fun x => f.hom] [∀ (n : ℕ), CategoryTheory.Limits.HasWidePushout g.left (fun x => g.right) fun x => g.hom] (F : f ⟶ g) : (CategoryTheory.Arrow.mapAugmentedCechConerve F).left = CategoryTheory.Arrow.Hom.left F - CategoryTheory.Arrow.mapCechConerve_app 📋 Mathlib.AlgebraicTopology.CechNerve
{C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ℕ), CategoryTheory.Limits.HasWidePushout f.left (fun x => f.right) fun x => f.hom] [∀ (n : ℕ), CategoryTheory.Limits.HasWidePushout g.left (fun x => g.right) fun x => g.hom] (F : f ⟶ g) (n : SimplexCategory) : (CategoryTheory.Arrow.mapCechConerve F).app n = CategoryTheory.Limits.WidePushout.desc (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left F) (CategoryTheory.Limits.WidePushout.head fun x => g.hom)) (fun i => CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right F) (CategoryTheory.Limits.WidePushout.ι (fun x => g.hom) i)) ⋯ - CategoryTheory.Arrow.mapCechNerve_app 📋 Mathlib.AlgebraicTopology.CechNerve
{C : Type u} [CategoryTheory.Category.{v, u} C] {f g : CategoryTheory.Arrow C} [∀ (n : ℕ), CategoryTheory.Limits.HasWidePullback f.right (fun x => f.left) fun x => f.hom] [∀ (n : ℕ), CategoryTheory.Limits.HasWidePullback g.right (fun x => g.left) fun x => g.hom] (F : f ⟶ g) (n : SimplexCategoryᵒᵖ) : (CategoryTheory.Arrow.mapCechNerve F).app n = CategoryTheory.Limits.WidePullback.lift (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.WidePullback.base fun x => f.hom) (CategoryTheory.Arrow.Hom.right F)) (fun i => CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.WidePullback.π (fun x => f.hom) i) (CategoryTheory.Arrow.Hom.left F)) ⋯ - CategoryTheory.SimplicialObject.augmentedCechNerve_map_left_app 📋 Mathlib.AlgebraicTopology.CechNerve
{C : Type u} [CategoryTheory.Category.{v, u} C] [∀ (n : ℕ) (f : CategoryTheory.Arrow C), CategoryTheory.Limits.HasWidePullback f.right (fun x => f.left) fun x => f.hom] {X✝ Y✝ : CategoryTheory.Arrow C} (F : X✝ ⟶ Y✝) (n : SimplexCategoryᵒᵖ) : (CategoryTheory.SimplicialObject.augmentedCechNerve.map F).left.app n = CategoryTheory.Limits.WidePullback.lift (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.WidePullback.base fun x => X✝.hom) (CategoryTheory.Arrow.Hom.right F)) (fun i => CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.WidePullback.π (fun x => X✝.hom) i) (CategoryTheory.Arrow.Hom.left F)) ⋯ - CategoryTheory.CosimplicialObject.equivalenceRightToLeft_right_app 📋 Mathlib.AlgebraicTopology.CechNerve
{C : Type u} [CategoryTheory.Category.{v, u} C] [∀ (n : ℕ) (f : CategoryTheory.Arrow C), CategoryTheory.Limits.HasWidePushout f.left (fun x => f.right) fun x => f.hom] (F : CategoryTheory.Arrow C) (X : CategoryTheory.CosimplicialObject.Augmented C) (G : F ⟶ CategoryTheory.CosimplicialObject.Augmented.toArrow.obj X) (x : SimplexCategory) : (CategoryTheory.CosimplicialObject.equivalenceRightToLeft F X G).right.app x = CategoryTheory.Limits.WidePushout.desc (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left G) (X.hom.app x)) (fun i => CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right G) (X.right.map ({ len := 0 }.const x i))) ⋯ - CategoryTheory.SimplicialObject.equivalenceLeftToRight_left_app 📋 Mathlib.AlgebraicTopology.CechNerve
{C : Type u} [CategoryTheory.Category.{v, u} C] [∀ (n : ℕ) (f : CategoryTheory.Arrow C), CategoryTheory.Limits.HasWidePullback f.right (fun x => f.left) fun x => f.hom] (X : CategoryTheory.SimplicialObject.Augmented C) (F : CategoryTheory.Arrow C) (G : CategoryTheory.SimplicialObject.Augmented.toArrow.obj X ⟶ F) (x : SimplexCategoryᵒᵖ) : (CategoryTheory.SimplicialObject.equivalenceLeftToRight X F G).left.app x = CategoryTheory.Limits.WidePullback.lift (CategoryTheory.CategoryStruct.comp (X.hom.app x) (CategoryTheory.Arrow.Hom.right G)) (fun i => CategoryTheory.CategoryStruct.comp (X.left.map ({ len := 0 }.const (Opposite.unop x) i).op) (CategoryTheory.Arrow.Hom.left G)) ⋯ - CategoryTheory.Square.fromArrowArrowFunctor'_obj_f₁₃ 📋 Mathlib.CategoryTheory.Square
{C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow (CategoryTheory.Arrow C)) : (CategoryTheory.Square.fromArrowArrowFunctor'.obj f).f₁₃ = CategoryTheory.Arrow.Hom.left f.hom - CategoryTheory.Square.fromArrowArrowFunctor_obj_f₁₂ 📋 Mathlib.CategoryTheory.Square
{C : Type u} [CategoryTheory.Category.{v, u} C] (f : CategoryTheory.Arrow (CategoryTheory.Arrow C)) : (CategoryTheory.Square.fromArrowArrowFunctor.obj f).f₁₂ = CategoryTheory.Arrow.Hom.left f.hom - CategoryTheory.Square.fromArrowArrowFunctor'_map_τ₁ 📋 Mathlib.CategoryTheory.Square
{C : Type u} [CategoryTheory.Category.{v, u} C] {X✝ Y✝ : CategoryTheory.Arrow (CategoryTheory.Arrow C)} (φ : X✝ ⟶ Y✝) : (CategoryTheory.Square.fromArrowArrowFunctor'.map φ).τ₁ = CategoryTheory.Arrow.Hom.left (CategoryTheory.Arrow.Hom.left φ) - CategoryTheory.Square.fromArrowArrowFunctor'_map_τ₂ 📋 Mathlib.CategoryTheory.Square
{C : Type u} [CategoryTheory.Category.{v, u} C] {X✝ Y✝ : CategoryTheory.Arrow (CategoryTheory.Arrow C)} (φ : X✝ ⟶ Y✝) : (CategoryTheory.Square.fromArrowArrowFunctor'.map φ).τ₂ = CategoryTheory.Arrow.Hom.right (CategoryTheory.Arrow.Hom.left φ) - CategoryTheory.Square.fromArrowArrowFunctor'_map_τ₃ 📋 Mathlib.CategoryTheory.Square
{C : Type u} [CategoryTheory.Category.{v, u} C] {X✝ Y✝ : CategoryTheory.Arrow (CategoryTheory.Arrow C)} (φ : X✝ ⟶ Y✝) : (CategoryTheory.Square.fromArrowArrowFunctor'.map φ).τ₃ = CategoryTheory.Arrow.Hom.left (CategoryTheory.Arrow.Hom.right φ) - CategoryTheory.Square.fromArrowArrowFunctor'_map_τ₄ 📋 Mathlib.CategoryTheory.Square
{C : Type u} [CategoryTheory.Category.{v, u} C] {X✝ Y✝ : CategoryTheory.Arrow (CategoryTheory.Arrow C)} (φ : X✝ ⟶ Y✝) : (CategoryTheory.Square.fromArrowArrowFunctor'.map φ).τ₄ = CategoryTheory.Arrow.Hom.right (CategoryTheory.Arrow.Hom.right φ) - CategoryTheory.Square.fromArrowArrowFunctor_map_τ₁ 📋 Mathlib.CategoryTheory.Square
{C : Type u} [CategoryTheory.Category.{v, u} C] {X✝ Y✝ : CategoryTheory.Arrow (CategoryTheory.Arrow C)} (φ : X✝ ⟶ Y✝) : (CategoryTheory.Square.fromArrowArrowFunctor.map φ).τ₁ = CategoryTheory.Arrow.Hom.left (CategoryTheory.Arrow.Hom.left φ) - CategoryTheory.Square.fromArrowArrowFunctor_map_τ₂ 📋 Mathlib.CategoryTheory.Square
{C : Type u} [CategoryTheory.Category.{v, u} C] {X✝ Y✝ : CategoryTheory.Arrow (CategoryTheory.Arrow C)} (φ : X✝ ⟶ Y✝) : (CategoryTheory.Square.fromArrowArrowFunctor.map φ).τ₂ = CategoryTheory.Arrow.Hom.left (CategoryTheory.Arrow.Hom.right φ) - CategoryTheory.Square.fromArrowArrowFunctor_map_τ₃ 📋 Mathlib.CategoryTheory.Square
{C : Type u} [CategoryTheory.Category.{v, u} C] {X✝ Y✝ : CategoryTheory.Arrow (CategoryTheory.Arrow C)} (φ : X✝ ⟶ Y✝) : (CategoryTheory.Square.fromArrowArrowFunctor.map φ).τ₃ = CategoryTheory.Arrow.Hom.right (CategoryTheory.Arrow.Hom.left φ) - CategoryTheory.Square.fromArrowArrowFunctor_map_τ₄ 📋 Mathlib.CategoryTheory.Square
{C : Type u} [CategoryTheory.Category.{v, u} C] {X✝ Y✝ : CategoryTheory.Arrow (CategoryTheory.Arrow C)} (φ : X✝ ⟶ Y✝) : (CategoryTheory.Square.fromArrowArrowFunctor.map φ).τ₄ = CategoryTheory.Arrow.Hom.right (CategoryTheory.Arrow.Hom.right φ) - CategoryTheory.SmallObject.functorMapSrc_functorObjTop 📋 Mathlib.CategoryTheory.SmallObject.Construction
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type w} {A B : I → C} (f : (i : I) → A i ⟶ B i) {S T X Y : C} {πX : X ⟶ S} {πY : Y ⟶ T} (τ : CategoryTheory.Arrow.mk πX ⟶ CategoryTheory.Arrow.mk πY) [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πX)) C] [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πY)) C] : CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.functorMapSrc f τ) (CategoryTheory.SmallObject.functorObjTop f πY) = CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.functorObjTop f πX) (CategoryTheory.Arrow.Hom.left τ) - CategoryTheory.SmallObject.functorMapSrc_functorObjTop_assoc 📋 Mathlib.CategoryTheory.SmallObject.Construction
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type w} {A B : I → C} (f : (i : I) → A i ⟶ B i) {S T X Y : C} {πX : X ⟶ S} {πY : Y ⟶ T} (τ : CategoryTheory.Arrow.mk πX ⟶ CategoryTheory.Arrow.mk πY) [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πX)) C] [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πY)) C] {Z : C} (h : Y ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.functorMapSrc f τ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.functorObjTop f πY) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.functorObjTop f πX) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left τ) h) - CategoryTheory.SmallObject.ιFunctorObj_naturality 📋 Mathlib.CategoryTheory.SmallObject.Construction
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type w} {A B : I → C} (f : (i : I) → A i ⟶ B i) {S T X Y : C} {πX : X ⟶ S} {πY : Y ⟶ T} (τ : CategoryTheory.Arrow.mk πX ⟶ CategoryTheory.Arrow.mk πY) [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πX)) C] [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πY)) C] [CategoryTheory.Limits.HasPushout (CategoryTheory.SmallObject.functorObjTop f πX) (CategoryTheory.SmallObject.functorObjLeft f πX)] [CategoryTheory.Limits.HasPushout (CategoryTheory.SmallObject.functorObjTop f πY) (CategoryTheory.SmallObject.functorObjLeft f πY)] : CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.ιFunctorObj f πX) (CategoryTheory.SmallObject.functorMap f τ) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left τ) (CategoryTheory.SmallObject.ιFunctorObj f πY) - CategoryTheory.SmallObject.ιFunctorObj_naturality_assoc 📋 Mathlib.CategoryTheory.SmallObject.Construction
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type w} {A B : I → C} (f : (i : I) → A i ⟶ B i) {S T X Y : C} {πX : X ⟶ S} {πY : Y ⟶ T} (τ : CategoryTheory.Arrow.mk πX ⟶ CategoryTheory.Arrow.mk πY) [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πX)) C] [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πY)) C] [CategoryTheory.Limits.HasPushout (CategoryTheory.SmallObject.functorObjTop f πX) (CategoryTheory.SmallObject.functorObjLeft f πX)] [CategoryTheory.Limits.HasPushout (CategoryTheory.SmallObject.functorObjTop f πY) (CategoryTheory.SmallObject.functorObjLeft f πY)] {Z : C} (h : CategoryTheory.SmallObject.functorObj f πY ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.ιFunctorObj f πX) (CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.functorMap f τ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left τ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.ιFunctorObj f πY) h) - CategoryTheory.SmallObject.ι_functorMapSrc 📋 Mathlib.CategoryTheory.SmallObject.Construction
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type w} {A B : I → C} (f : (i : I) → A i ⟶ B i) {S T X Y : C} {πX : X ⟶ S} {πY : Y ⟶ T} (τ : CategoryTheory.Arrow.mk πX ⟶ CategoryTheory.Arrow.mk πY) [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πX)) C] [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πY)) C] (i : I) (t : A i ⟶ X) (b : B i ⟶ S) (w : CategoryTheory.CategoryStruct.comp t πX = CategoryTheory.CategoryStruct.comp (f i) b) (b' : B i ⟶ T) (hb' : CategoryTheory.CategoryStruct.comp b (CategoryTheory.Arrow.Hom.right τ) = b') (t' : A i ⟶ Y) (ht' : CategoryTheory.CategoryStruct.comp t (CategoryTheory.Arrow.Hom.left τ) = t') : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.ι (CategoryTheory.SmallObject.functorObjSrcFamily f πX) { i := i, t := t, b := b, w := w }) (CategoryTheory.SmallObject.functorMapSrc f τ) = CategoryTheory.Limits.Sigma.ι (CategoryTheory.SmallObject.functorObjSrcFamily f πY) { i := i, t := t', b := b', w := ⋯ } - CategoryTheory.SmallObject.ι_functorMapTgt 📋 Mathlib.CategoryTheory.SmallObject.Construction
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type w} {A B : I → C} (f : (i : I) → A i ⟶ B i) {S T X Y : C} {πX : X ⟶ S} {πY : Y ⟶ T} (τ : CategoryTheory.Arrow.mk πX ⟶ CategoryTheory.Arrow.mk πY) [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πX)) C] [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πY)) C] (i : I) (t : A i ⟶ X) (b : B i ⟶ S) (w : CategoryTheory.CategoryStruct.comp t πX = CategoryTheory.CategoryStruct.comp (f i) b) (b' : B i ⟶ T) (hb' : CategoryTheory.CategoryStruct.comp b (CategoryTheory.Arrow.Hom.right τ) = b') (t' : A i ⟶ Y) (ht' : CategoryTheory.CategoryStruct.comp t (CategoryTheory.Arrow.Hom.left τ) = t') : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.ι (CategoryTheory.SmallObject.functorObjTgtFamily f πX) { i := i, t := t, b := b, w := w }) (CategoryTheory.SmallObject.functorMapTgt f τ) = CategoryTheory.Limits.Sigma.ι (CategoryTheory.SmallObject.functorObjTgtFamily f πY) { i := i, t := t', b := b', w := ⋯ } - CategoryTheory.SmallObject.ι_functorMapSrc_assoc 📋 Mathlib.CategoryTheory.SmallObject.Construction
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type w} {A B : I → C} (f : (i : I) → A i ⟶ B i) {S T X Y : C} {πX : X ⟶ S} {πY : Y ⟶ T} (τ : CategoryTheory.Arrow.mk πX ⟶ CategoryTheory.Arrow.mk πY) [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πX)) C] [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πY)) C] (i : I) (t : A i ⟶ X) (b : B i ⟶ S) (w : CategoryTheory.CategoryStruct.comp t πX = CategoryTheory.CategoryStruct.comp (f i) b) (b' : B i ⟶ T) (hb' : CategoryTheory.CategoryStruct.comp b (CategoryTheory.Arrow.Hom.right τ) = b') (t' : A i ⟶ Y) (ht' : CategoryTheory.CategoryStruct.comp t (CategoryTheory.Arrow.Hom.left τ) = t') {Z : C} (h : ∐ CategoryTheory.SmallObject.functorObjSrcFamily f πY ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.ι (CategoryTheory.SmallObject.functorObjSrcFamily f πX) { i := i, t := t, b := b, w := w }) (CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.functorMapSrc f τ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.ι (CategoryTheory.SmallObject.functorObjSrcFamily f πY) { i := i, t := t', b := b', w := ⋯ }) h - CategoryTheory.SmallObject.ι_functorMapTgt_assoc 📋 Mathlib.CategoryTheory.SmallObject.Construction
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type w} {A B : I → C} (f : (i : I) → A i ⟶ B i) {S T X Y : C} {πX : X ⟶ S} {πY : Y ⟶ T} (τ : CategoryTheory.Arrow.mk πX ⟶ CategoryTheory.Arrow.mk πY) [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πX)) C] [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πY)) C] (i : I) (t : A i ⟶ X) (b : B i ⟶ S) (w : CategoryTheory.CategoryStruct.comp t πX = CategoryTheory.CategoryStruct.comp (f i) b) (b' : B i ⟶ T) (hb' : CategoryTheory.CategoryStruct.comp b (CategoryTheory.Arrow.Hom.right τ) = b') (t' : A i ⟶ Y) (ht' : CategoryTheory.CategoryStruct.comp t (CategoryTheory.Arrow.Hom.left τ) = t') {Z : C} (h : ∐ CategoryTheory.SmallObject.functorObjTgtFamily f πY ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.ι (CategoryTheory.SmallObject.functorObjTgtFamily f πX) { i := i, t := t, b := b, w := w }) (CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.functorMapTgt f τ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.ι (CategoryTheory.SmallObject.functorObjTgtFamily f πY) { i := i, t := t', b := b', w := ⋯ }) h - CategoryTheory.SmallObject.ιObj_naturality 📋 Mathlib.CategoryTheory.SmallObject.IsCardinalForSmallObjectArgument
{C : Type u} [CategoryTheory.Category.{v, u} C] (I : CategoryTheory.MorphismProperty C) (κ : Cardinal.{w}) [Fact κ.IsRegular] [OrderBot κ.ord.ToType] [I.IsCardinalForSmallObjectArgument κ] {f g : CategoryTheory.Arrow C} (φ : f ⟶ g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.ιObj I κ f.hom) (CategoryTheory.SmallObject.objMap I κ φ) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left φ) (CategoryTheory.SmallObject.ιObj I κ g.hom) - CategoryTheory.SmallObject.ιObj_naturality_assoc 📋 Mathlib.CategoryTheory.SmallObject.IsCardinalForSmallObjectArgument
{C : Type u} [CategoryTheory.Category.{v, u} C] (I : CategoryTheory.MorphismProperty C) (κ : Cardinal.{w}) [Fact κ.IsRegular] [OrderBot κ.ord.ToType] [I.IsCardinalForSmallObjectArgument κ] {f g : CategoryTheory.Arrow C} (φ : f ⟶ g) {Z : C} (h : CategoryTheory.SmallObject.obj I κ g.hom ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.ιObj I κ f.hom) (CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.objMap I κ φ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left φ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.SmallObject.ιObj I κ g.hom) h) - CategoryTheory.SmallObject.attachCellsOfSuccStructProp 📋 Mathlib.CategoryTheory.SmallObject.IsCardinalForSmallObjectArgument
{C : Type u} [CategoryTheory.Category.{v, u} C] (I : CategoryTheory.MorphismProperty C) (κ : Cardinal.{w}) [Fact κ.IsRegular] [OrderBot κ.ord.ToType] [I.IsCardinalForSmallObjectArgument κ] {F G : CategoryTheory.Functor (CategoryTheory.Arrow C) (CategoryTheory.Arrow C)} {φ : F ⟶ G} (h : (CategoryTheory.SmallObject.succStruct I κ).prop φ) (f : CategoryTheory.Arrow C) : HomotopicalAlgebra.AttachCells I.homFamily (CategoryTheory.Arrow.Hom.left (φ.app f)) - CategoryTheory.SmallObject.iterationFunctorMapSuccAppArrowIso_hom_left 📋 Mathlib.CategoryTheory.SmallObject.IsCardinalForSmallObjectArgument
{C : Type u} [CategoryTheory.Category.{v, u} C] (I : CategoryTheory.MorphismProperty C) (κ : Cardinal.{w}) [Fact κ.IsRegular] [OrderBot κ.ord.ToType] [I.IsCardinalForSmallObjectArgument κ] (f : CategoryTheory.Arrow C) (j : κ.ord.ToType) : CategoryTheory.Arrow.Hom.left (CategoryTheory.SmallObject.iterationFunctorMapSuccAppArrowIso I κ f j).hom = CategoryTheory.CategoryStruct.id (CategoryTheory.Arrow.mk (((CategoryTheory.SmallObject.iterationFunctor I κ).map (CategoryTheory.homOfLE ⋯)).app f)).left - CategoryTheory.Functor.PullbackObjObj.mapArrowRight_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackObjObj
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} {f₁ : CategoryTheory.Arrow C₁} {f₃ f₃' : CategoryTheory.Arrow C₃} (sq₁₃ : G.PullbackObjObj f₁.hom f₃.hom) (sq₁₃' : G.PullbackObjObj f₁.hom f₃'.hom) (sq : f₃ ⟶ f₃') : (sq₁₃.mapArrowRight sq₁₃' sq).left = (G.obj (Opposite.op f₁.right)).map (CategoryTheory.Arrow.Hom.left sq) - CategoryTheory.Functor.PushoutObjObj.mapArrowRight_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackObjObj
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {f₁ : CategoryTheory.Arrow C₁} {f₂ f₂' : CategoryTheory.Arrow C₂} (sq₁₂ : F.PushoutObjObj f₁.hom f₂.hom) (sq₁₂' : F.PushoutObjObj f₁.hom f₂'.hom) (sq : f₂ ⟶ f₂') : (sq₁₂.mapArrowRight sq₁₂' sq).left = ⋯.desc (CategoryTheory.CategoryStruct.comp ((F.obj f₁.right).map (CategoryTheory.Arrow.Hom.left sq)) sq₁₂'.inl) (CategoryTheory.CategoryStruct.comp ((F.obj f₁.left).map (CategoryTheory.Arrow.Hom.right sq)) sq₁₂'.inr) ⋯ - CategoryTheory.Functor.PushoutObjObj.mapArrowLeft_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackObjObj
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {f₁ f₁' : CategoryTheory.Arrow C₁} {f₂ : CategoryTheory.Arrow C₂} (sq₁₂ : F.PushoutObjObj f₁.hom f₂.hom) (sq₁₂' : F.PushoutObjObj f₁'.hom f₂.hom) (sq : f₁ ⟶ f₁') : (sq₁₂.mapArrowLeft sq₁₂' sq).left = ⋯.desc (CategoryTheory.CategoryStruct.comp ((F.map (CategoryTheory.Arrow.Hom.right sq)).app f₂.left) sq₁₂'.inl) (CategoryTheory.CategoryStruct.comp ((F.map (CategoryTheory.Arrow.Hom.left sq)).app f₂.right) sq₁₂'.inr) ⋯ - CategoryTheory.Functor.PullbackObjObj.mapArrowRight_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackObjObj
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} {f₁ : CategoryTheory.Arrow C₁} {f₃ f₃' : CategoryTheory.Arrow C₃} (sq₁₃ : G.PullbackObjObj f₁.hom f₃.hom) (sq₁₃' : G.PullbackObjObj f₁.hom f₃'.hom) (sq : f₃ ⟶ f₃') : (sq₁₃.mapArrowRight sq₁₃' sq).right = ⋯.lift (CategoryTheory.CategoryStruct.comp sq₁₃.fst ((G.obj (Opposite.op f₁.left)).map (CategoryTheory.Arrow.Hom.left sq))) (CategoryTheory.CategoryStruct.comp sq₁₃.snd ((G.obj (Opposite.op f₁.right)).map (CategoryTheory.Arrow.Hom.right sq))) ⋯ - CategoryTheory.Functor.PullbackObjObj.mapArrowLeft_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackObjObj
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} {f₁ f₁' : CategoryTheory.Arrow C₁} {f₃ : CategoryTheory.Arrow C₃} (sq₁₃ : G.PullbackObjObj f₁.hom f₃.hom) (sq₁₃' : G.PullbackObjObj f₁'.hom f₃.hom) (sq : f₁' ⟶ f₁) : (sq₁₃.mapArrowLeft sq₁₃' sq).right = ⋯.lift (CategoryTheory.CategoryStruct.comp sq₁₃.fst ((G.map (CategoryTheory.Arrow.Hom.left sq).op).app f₃.left)) (CategoryTheory.CategoryStruct.comp sq₁₃.snd ((G.map (CategoryTheory.Arrow.Hom.right sq).op).app f₃.right)) ⋯ - CategoryTheory.ParametrizedAdjunction.arrowHomEquiv_apply_left 📋 Mathlib.CategoryTheory.LiftingProperties.ParametrizedAdjunction
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (adj₂ : F ⊣₂ G) {X₁ Y₁ : C₁} {f₁ : X₁ ⟶ Y₁} {X₂ Y₂ : C₂} {f₂ : X₂ ⟶ Y₂} {X₃ Y₃ : C₃} {f₃ : X₃ ⟶ Y₃} (sq₁₂ : F.PushoutObjObj f₁ f₂) (sq₁₃ : G.PullbackObjObj f₁ f₃) (α : CategoryTheory.Arrow.mk sq₁₂.ι ⟶ CategoryTheory.Arrow.mk f₃) : ((adj₂.arrowHomEquiv sq₁₂ sq₁₃) α).left = adj₂.homEquiv (CategoryTheory.CategoryStruct.comp sq₁₂.inl (CategoryTheory.Arrow.Hom.left α)) - CategoryTheory.ParametrizedAdjunction.arrowHomEquiv_apply_right_fst 📋 Mathlib.CategoryTheory.LiftingProperties.ParametrizedAdjunction
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (adj₂ : F ⊣₂ G) {X₁ Y₁ : C₁} {f₁ : X₁ ⟶ Y₁} {X₂ Y₂ : C₂} {f₂ : X₂ ⟶ Y₂} {X₃ Y₃ : C₃} {f₃ : X₃ ⟶ Y₃} (sq₁₂ : F.PushoutObjObj f₁ f₂) (sq₁₃ : G.PullbackObjObj f₁ f₃) (α : CategoryTheory.Arrow.mk sq₁₂.ι ⟶ CategoryTheory.Arrow.mk f₃) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right ((adj₂.arrowHomEquiv sq₁₂ sq₁₃) α)) sq₁₃.fst = adj₂.homEquiv (CategoryTheory.CategoryStruct.comp sq₁₂.inr (CategoryTheory.Arrow.Hom.left α)) - CategoryTheory.ParametrizedAdjunction.inl_arrowHomEquiv_symm_apply_left 📋 Mathlib.CategoryTheory.LiftingProperties.ParametrizedAdjunction
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (adj₂ : F ⊣₂ G) {X₁ Y₁ : C₁} {f₁ : X₁ ⟶ Y₁} {X₂ Y₂ : C₂} {f₂ : X₂ ⟶ Y₂} {X₃ Y₃ : C₃} {f₃ : X₃ ⟶ Y₃} (sq₁₂ : F.PushoutObjObj f₁ f₂) (sq₁₃ : G.PullbackObjObj f₁ f₃) (β : CategoryTheory.Arrow.mk f₂ ⟶ CategoryTheory.Arrow.mk sq₁₃.π) : CategoryTheory.CategoryStruct.comp sq₁₂.inl (CategoryTheory.Arrow.Hom.left ((adj₂.arrowHomEquiv sq₁₂ sq₁₃).symm β)) = adj₂.homEquiv.symm (CategoryTheory.Arrow.Hom.left β) - CategoryTheory.ParametrizedAdjunction.arrowHomEquiv_apply_right_fst_assoc 📋 Mathlib.CategoryTheory.LiftingProperties.ParametrizedAdjunction
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (adj₂ : F ⊣₂ G) {X₁ Y₁ : C₁} {f₁ : X₁ ⟶ Y₁} {X₂ Y₂ : C₂} {f₂ : X₂ ⟶ Y₂} {X₃ Y₃ : C₃} {f₃ : X₃ ⟶ Y₃} (sq₁₂ : F.PushoutObjObj f₁ f₂) (sq₁₃ : G.PullbackObjObj f₁ f₃) (α : CategoryTheory.Arrow.mk sq₁₂.ι ⟶ CategoryTheory.Arrow.mk f₃) {Z : C₂} (h : (G.obj (Opposite.op X₁)).obj X₃ ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right ((adj₂.arrowHomEquiv sq₁₂ sq₁₃) α)) (CategoryTheory.CategoryStruct.comp sq₁₃.fst h) = CategoryTheory.CategoryStruct.comp (adj₂.homEquiv (CategoryTheory.CategoryStruct.comp sq₁₂.inr (CategoryTheory.Arrow.Hom.left α))) h - CategoryTheory.ParametrizedAdjunction.inl_arrowHomEquiv_symm_apply_left_assoc 📋 Mathlib.CategoryTheory.LiftingProperties.ParametrizedAdjunction
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (adj₂ : F ⊣₂ G) {X₁ Y₁ : C₁} {f₁ : X₁ ⟶ Y₁} {X₂ Y₂ : C₂} {f₂ : X₂ ⟶ Y₂} {X₃ Y₃ : C₃} {f₃ : X₃ ⟶ Y₃} (sq₁₂ : F.PushoutObjObj f₁ f₂) (sq₁₃ : G.PullbackObjObj f₁ f₃) (β : CategoryTheory.Arrow.mk f₂ ⟶ CategoryTheory.Arrow.mk sq₁₃.π) {Z : C₃} (h : (CategoryTheory.Arrow.mk f₃).left ⟶ Z) : CategoryTheory.CategoryStruct.comp sq₁₂.inl (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left ((adj₂.arrowHomEquiv sq₁₂ sq₁₃).symm β)) h) = CategoryTheory.CategoryStruct.comp (adj₂.homEquiv.symm (CategoryTheory.Arrow.Hom.left β)) h - CategoryTheory.ParametrizedAdjunction.inr_arrowHomEquiv_symm_apply_left 📋 Mathlib.CategoryTheory.LiftingProperties.ParametrizedAdjunction
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (adj₂ : F ⊣₂ G) {X₁ Y₁ : C₁} {f₁ : X₁ ⟶ Y₁} {X₂ Y₂ : C₂} {f₂ : X₂ ⟶ Y₂} {X₃ Y₃ : C₃} {f₃ : X₃ ⟶ Y₃} (sq₁₂ : F.PushoutObjObj f₁ f₂) (sq₁₃ : G.PullbackObjObj f₁ f₃) (β : CategoryTheory.Arrow.mk f₂ ⟶ CategoryTheory.Arrow.mk sq₁₃.π) : CategoryTheory.CategoryStruct.comp sq₁₂.inr (CategoryTheory.Arrow.Hom.left ((adj₂.arrowHomEquiv sq₁₂ sq₁₃).symm β)) = adj₂.homEquiv.symm (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right β) sq₁₃.fst) - CategoryTheory.ParametrizedAdjunction.inr_arrowHomEquiv_symm_apply_left_assoc 📋 Mathlib.CategoryTheory.LiftingProperties.ParametrizedAdjunction
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {G : CategoryTheory.Functor C₁ᵒᵖ (CategoryTheory.Functor C₃ C₂)} (adj₂ : F ⊣₂ G) {X₁ Y₁ : C₁} {f₁ : X₁ ⟶ Y₁} {X₂ Y₂ : C₂} {f₂ : X₂ ⟶ Y₂} {X₃ Y₃ : C₃} {f₃ : X₃ ⟶ Y₃} (sq₁₂ : F.PushoutObjObj f₁ f₂) (sq₁₃ : G.PullbackObjObj f₁ f₃) (β : CategoryTheory.Arrow.mk f₂ ⟶ CategoryTheory.Arrow.mk sq₁₃.π) {Z : C₃} (h : (CategoryTheory.Arrow.mk f₃).left ⟶ Z) : CategoryTheory.CategoryStruct.comp sq₁₂.inr (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.left ((adj₂.arrowHomEquiv sq₁₂ sq₁₃).symm β)) h) = CategoryTheory.CategoryStruct.comp (adj₂.homEquiv.symm (CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right β) sq₁₃.fst)) h - CategoryTheory.RetractArrow.toLoc_i₁ 📋 Mathlib.CategoryTheory.Bicategory.RetractArrow
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y X' Y' : C} {f' : X' ⟶ Y'} {f : X ⟶ Y} (r : CategoryTheory.RetractArrow f' f) : r.toLoc.i₁ = (CategoryTheory.Arrow.Hom.left r.i).toLoc - CategoryTheory.RetractArrow.toLoc_r₁ 📋 Mathlib.CategoryTheory.Bicategory.RetractArrow
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y X' Y' : C} {f' : X' ⟶ Y'} {f : X ⟶ Y} (r : CategoryTheory.RetractArrow f' f) : r.toLoc.r₁ = (CategoryTheory.Arrow.Hom.left r.r).toLoc - CategoryTheory.RetractArrow.toLoc_id₁ 📋 Mathlib.CategoryTheory.Bicategory.RetractArrow
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y X' Y' : C} {f' : X' ⟶ Y'} {f : X ⟶ Y} (r : CategoryTheory.RetractArrow f' f) : r.toLoc.id₁ = CategoryTheory.eqToIso ⋯ - CategoryTheory.RetractArrow.toLoc_commi 📋 Mathlib.CategoryTheory.Bicategory.RetractArrow
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y X' Y' : C} {f' : X' ⟶ Y'} {f : X ⟶ Y} (r : CategoryTheory.RetractArrow f' f) : r.toLoc.commi = CategoryTheory.eqToIso ⋯ - CategoryTheory.RetractArrow.toLoc_commr 📋 Mathlib.CategoryTheory.Bicategory.RetractArrow
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y X' Y' : C} {f' : X' ⟶ Y'} {f : X ⟶ Y} (r : CategoryTheory.RetractArrow f' f) : r.toLoc.commr = CategoryTheory.eqToIso ⋯ - CategoryTheory.Arrow.Hom.zero_left 📋 Mathlib.CategoryTheory.Preadditive.Comma
{T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] [CategoryTheory.Preadditive T] {u v : CategoryTheory.Arrow T} : CategoryTheory.Arrow.Hom.left 0 = 0 - CategoryTheory.Arrow.Hom.neg_left 📋 Mathlib.CategoryTheory.Preadditive.Comma
{T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] [CategoryTheory.Preadditive T] {u v : CategoryTheory.Arrow T} (α : u ⟶ v) : CategoryTheory.Arrow.Hom.left (-α) = -CategoryTheory.Arrow.Hom.left α - CategoryTheory.Arrow.Hom.sub_left 📋 Mathlib.CategoryTheory.Preadditive.Comma
{T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] [CategoryTheory.Preadditive T] {u v : CategoryTheory.Arrow T} (α β : u ⟶ v) : CategoryTheory.Arrow.Hom.left (α - β) = CategoryTheory.Arrow.Hom.left α - CategoryTheory.Arrow.Hom.left β - CategoryTheory.Arrow.Hom.add_left 📋 Mathlib.CategoryTheory.Preadditive.Comma
{T : Type u₃} [CategoryTheory.Category.{v₃, u₃} T] [CategoryTheory.Preadditive T] {u v : CategoryTheory.Arrow T} (α β : u ⟶ v) : CategoryTheory.Arrow.Hom.left (α + β) = CategoryTheory.Arrow.Hom.left α + CategoryTheory.Arrow.Hom.left β - CategoryTheory.Arrow.LeftHomotopy.compRightId_hom 📋 Mathlib.CategoryTheory.Preadditive.FreydCategory.Homotopy
{V : Type u_1} [CategoryTheory.Category.{v_1, u_1} V] [CategoryTheory.Preadditive V] {u v : CategoryTheory.Arrow V} {f : u ⟶ u} (h : CategoryTheory.Arrow.LeftHomotopy f (CategoryTheory.CategoryStruct.id u)) (g : u ⟶ v) : (h.compRightId g).hom = CategoryTheory.CategoryStruct.comp h.hom (CategoryTheory.Arrow.Hom.left g) - CategoryTheory.Arrow.RightHomotopy.compRightId_hom 📋 Mathlib.CategoryTheory.Preadditive.FreydCategory.Homotopy
{V : Type u_1} [CategoryTheory.Category.{v_1, u_1} V] [CategoryTheory.Preadditive V] {u v : CategoryTheory.Arrow V} {f : u ⟶ u} (h : CategoryTheory.Arrow.RightHomotopy f (CategoryTheory.CategoryStruct.id u)) (g : u ⟶ v) : (h.compRightId g).hom = CategoryTheory.CategoryStruct.comp h.hom (CategoryTheory.Arrow.Hom.left g) - CategoryTheory.Arrow.LeftHomotopy.compRight_hom 📋 Mathlib.CategoryTheory.Preadditive.FreydCategory.Homotopy
{V : Type u_1} [CategoryTheory.Category.{v_1, u_1} V] [CategoryTheory.Preadditive V] {u v w : CategoryTheory.Arrow V} {e f : u ⟶ v} (h : CategoryTheory.Arrow.LeftHomotopy e f) (g : v ⟶ w) : (h.compRight g).hom = CategoryTheory.CategoryStruct.comp h.hom (CategoryTheory.Arrow.Hom.left g) - CategoryTheory.Arrow.RightHomotopy.compRight_hom 📋 Mathlib.CategoryTheory.Preadditive.FreydCategory.Homotopy
{V : Type u_1} [CategoryTheory.Category.{v_1, u_1} V] [CategoryTheory.Preadditive V] {u v w : CategoryTheory.Arrow V} {e f : u ⟶ v} (h : CategoryTheory.Arrow.RightHomotopy e f) (g : v ⟶ w) : (h.compRight g).hom = CategoryTheory.CategoryStruct.comp h.hom (CategoryTheory.Arrow.Hom.left g) - CategoryTheory.Arrow.LeftHomotopy.comm 📋 Mathlib.CategoryTheory.Preadditive.FreydCategory.Homotopy
{V : Type u_1} [CategoryTheory.Category.{v_1, u_1} V] [CategoryTheory.Preadditive V] {u v : CategoryTheory.Arrow V} {f g : u ⟶ v} (self : CategoryTheory.Arrow.LeftHomotopy f g) : CategoryTheory.Arrow.Hom.left f - CategoryTheory.Arrow.Hom.left g = CategoryTheory.CategoryStruct.comp u.hom self.hom - CategoryTheory.Arrow.LeftHomotopy.mk 📋 Mathlib.CategoryTheory.Preadditive.FreydCategory.Homotopy
{V : Type u_1} [CategoryTheory.Category.{v_1, u_1} V] [CategoryTheory.Preadditive V] {u v : CategoryTheory.Arrow V} {f g : u ⟶ v} (hom : u.right ⟶ v.left) (comm : CategoryTheory.Arrow.Hom.left f - CategoryTheory.Arrow.Hom.left g = CategoryTheory.CategoryStruct.comp u.hom hom := by cat_disch) : CategoryTheory.Arrow.LeftHomotopy f g - CategoryTheory.Arrow.LeftHomotopy.comp_hom 📋 Mathlib.CategoryTheory.Preadditive.FreydCategory.Homotopy
{V : Type u_1} [CategoryTheory.Category.{v_1, u_1} V] [CategoryTheory.Preadditive V] {u v w : CategoryTheory.Arrow V} {f₁ g₁ : u ⟶ v} {f₂ g₂ : v ⟶ w} (h₁ : CategoryTheory.Arrow.LeftHomotopy f₁ g₁) (h₂ : CategoryTheory.Arrow.LeftHomotopy f₂ g₂) : (h₁.comp h₂).hom = CategoryTheory.CategoryStruct.comp h₁.hom (CategoryTheory.Arrow.Hom.left f₂) + CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right g₁) h₂.hom - CategoryTheory.Arrow.RightHomotopy.comp_hom 📋 Mathlib.CategoryTheory.Preadditive.FreydCategory.Homotopy
{V : Type u_1} [CategoryTheory.Category.{v_1, u_1} V] [CategoryTheory.Preadditive V] {u v w : CategoryTheory.Arrow V} {f₁ g₁ : u ⟶ v} {f₂ g₂ : v ⟶ w} (h₁ : CategoryTheory.Arrow.RightHomotopy f₁ g₁) (h₂ : CategoryTheory.Arrow.RightHomotopy f₂ g₂) : (h₁.comp h₂).hom = CategoryTheory.CategoryStruct.comp h₁.hom (CategoryTheory.Arrow.Hom.left f₂) + CategoryTheory.CategoryStruct.comp (CategoryTheory.Arrow.Hom.right g₁) h₂.hom
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c