Loogle!
Result
Found 59 declarations mentioning CategoryTheory.Under.mk.
- CategoryTheory.Under.mk ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {X Y : T} (f : X โถ Y) : CategoryTheory.Under X - CategoryTheory.Under.mkIdInitial ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {X : T} : CategoryTheory.Limits.IsInitial (CategoryTheory.Under.mk (CategoryTheory.CategoryStruct.id X)) - CategoryTheory.Under.forall_iff ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {X : T} (P : CategoryTheory.Under X โ Prop) : (โ (Y : CategoryTheory.Under X), P Y) โ โ (Y : T) (f : X โถ Y), P (CategoryTheory.Under.mk f) - CategoryTheory.Under.mk_right ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {X Y : T} (f : X โถ Y) : (CategoryTheory.Under.mk f).right = Y - CategoryTheory.Under.mk_surjective ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {S : T} (X : CategoryTheory.Under S) : โ Y f, CategoryTheory.Under.mk f = X - CategoryTheory.Under.mk_hom ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {X Y : T} (f : X โถ Y) : (CategoryTheory.Under.mk f).hom = f - CategoryTheory.Under.equivalenceOfIsInitial_inverse_obj ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {X : T} (hX : CategoryTheory.Limits.IsInitial X) (Y : T) : (CategoryTheory.Under.equivalenceOfIsInitial hX).inverse.obj Y = CategoryTheory.Under.mk (hX.to Y) - CategoryTheory.Under.mkIdInitial_to_right ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {X : T} (Y : CategoryTheory.Under X) : CategoryTheory.Under.Hom.right (CategoryTheory.Under.mkIdInitial.to Y) = Y.hom - CategoryTheory.Under.post_obj ๐ 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 T D) (Y : CategoryTheory.Under X) : (CategoryTheory.Under.post F).obj Y = CategoryTheory.Under.mk (F.map Y.hom) - CategoryTheory.Under.lift_obj ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] (D : CategoryTheory.Functor J T) {X : T} (s : (CategoryTheory.Functor.const J).obj X โถ D) (j : J) : (CategoryTheory.Under.lift D s).obj j = CategoryTheory.Under.mk (s.app j) - CategoryTheory.Under.equivalenceOfIsInitial_inverse_map ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {X : T} (hX : CategoryTheory.Limits.IsInitial X) {Xโ Yโ : T} (f : Xโ โถ Yโ) : (CategoryTheory.Under.equivalenceOfIsInitial hX).inverse.map f = CategoryTheory.Under.homMk f โฏ - CategoryTheory.Under.opEquivOpOver_inverse_obj ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] (X : T) (Y : (CategoryTheory.Over X)แตแต) : (CategoryTheory.Under.opEquivOpOver X).inverse.obj Y = CategoryTheory.Under.mk (Opposite.unop Y).hom.op - CategoryTheory.Over.opEquivOpUnder_functor_obj ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] (X : T) (Y : CategoryTheory.Over (Opposite.op X)) : (CategoryTheory.Over.opEquivOpUnder X).functor.obj Y = Opposite.op (CategoryTheory.Under.mk Y.hom.unop) - CategoryTheory.Limits.Cocone.underPost_pt ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{v_1, u_1} J] [CategoryTheory.Category.{v_2, u_2} C] {D : CategoryTheory.Functor J C} (c : CategoryTheory.Limits.Cocone D) (j : J) : (c.underPost j).pt = CategoryTheory.Under.mk (c.ฮน.app j) - CategoryTheory.Under.lift_map ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] (D : CategoryTheory.Functor J T) {X : T} (s : (CategoryTheory.Functor.const J).obj X โถ D) {Xโ Yโ : J} (f : Xโ โถ Yโ) : (CategoryTheory.Under.lift D s).map f = CategoryTheory.Under.homMk (D.map f) โฏ - CategoryTheory.Under.post_map ๐ 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 T D) {Xโ Yโ : CategoryTheory.Under X} (f : Xโ โถ Yโ) : (CategoryTheory.Under.post F).map f = CategoryTheory.Under.homMk (F.map (CategoryTheory.Under.Hom.right f)) โฏ - CategoryTheory.Under.liftCocone_pt ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] (D : CategoryTheory.Functor J T) {X : T} (s : (CategoryTheory.Functor.const J).obj X โถ D) (c : CategoryTheory.Limits.Cocone D) (p : X โถ c.pt) (hp : โ (j : J), CategoryTheory.CategoryStruct.comp (s.app j) (c.ฮน.app j) = p) : (CategoryTheory.Under.liftCocone D s c p hp).pt = CategoryTheory.Under.mk p - CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor_obj_left ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] (F : CategoryTheory.Functor C T) (G : CategoryTheory.Functor D T) (c : C) (X : CategoryTheory.StructuredArrow c (CategoryTheory.Comma.fst F G)) : ((CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor F G c).obj X).left = CategoryTheory.Under.mk X.hom - CategoryTheory.Under.equivalenceOfIsInitial_counitIso ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {X : T} (hX : CategoryTheory.Limits.IsInitial X) : (CategoryTheory.Under.equivalenceOfIsInitial hX).counitIso = CategoryTheory.NatIso.ofComponents (fun x => CategoryTheory.Iso.refl (({ obj := fun Y => CategoryTheory.Under.mk (hX.to Y), map := fun {X_1 Y} f => CategoryTheory.Under.homMk f โฏ, map_id := โฏ, map_comp := โฏ }.comp (CategoryTheory.Under.forget X)).obj x)) โฏ - CategoryTheory.Under.opEquivOpOver_inverse_map ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] (X : T) {Z Y : (CategoryTheory.Over X)แตแต} (f : Z โถ Y) : (CategoryTheory.Under.opEquivOpOver X).inverse.map f = CategoryTheory.Under.homMk (CategoryTheory.Over.Hom.left f.unop).op โฏ - CategoryTheory.Under.equivalenceOfIsInitial_unitIso ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {X : T} (hX : CategoryTheory.Limits.IsInitial X) : (CategoryTheory.Under.equivalenceOfIsInitial hX).unitIso = CategoryTheory.NatIso.ofComponents (fun Y => CategoryTheory.Under.isoMk (CategoryTheory.Iso.refl ((CategoryTheory.Functor.id (CategoryTheory.Under X)).obj Y).right) โฏ) โฏ - CategoryTheory.Over.opEquivOpUnder_functor_map ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] (X : T) {Z Y : CategoryTheory.Over (Opposite.op X)} (f : Z โถ Y) : (CategoryTheory.Over.opEquivOpUnder X).functor.map f = Opposite.op (CategoryTheory.Under.homMk (CategoryTheory.Over.Hom.left f).unop โฏ) - CategoryTheory.Under.liftCocone_ฮน_app ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {J : Type u_1} [CategoryTheory.Category.{v_1, u_1} J] (D : CategoryTheory.Functor J T) {X : T} (s : (CategoryTheory.Functor.const J).obj X โถ D) (c : CategoryTheory.Limits.Cocone D) (p : X โถ c.pt) (hp : โ (j : J), CategoryTheory.CategoryStruct.comp (s.app j) (c.ฮน.app j) = p) (j : J) : (CategoryTheory.Under.liftCocone D s c p hp).ฮน.app j = CategoryTheory.Under.homMk (c.ฮน.app j) โฏ - CategoryTheory.Limits.Cocone.underPost_ฮน_app ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{J : Type u_1} {C : Type u_2} [CategoryTheory.Category.{v_1, u_1} J] [CategoryTheory.Category.{v_2, u_2} C] {D : CategoryTheory.Functor J C} (c : CategoryTheory.Limits.Cocone D) (j : J) (k : CategoryTheory.Under j) : (c.underPost j).ฮน.app k = CategoryTheory.Under.homMk (c.ฮน.app k.right) โฏ - CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor_map_right ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] (F : CategoryTheory.Functor C T) (G : CategoryTheory.Functor D T) (c : C) {Xโ Yโ : CategoryTheory.StructuredArrow c (CategoryTheory.Comma.fst F G)} (f : Xโ โถ Yโ) : ((CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor F G c).map f).right = (CategoryTheory.StructuredArrow.Hom.right f).right - CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor_map_left ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] {C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] (F : CategoryTheory.Functor C T) (G : CategoryTheory.Functor D T) (c : C) {Xโ Yโ : CategoryTheory.StructuredArrow c (CategoryTheory.Comma.fst F G)} (f : Xโ โถ Yโ) : ((CategoryTheory.StructuredArrow.ofCommaSndEquivalenceFunctor F G c).map f).left = CategoryTheory.Under.homMk (CategoryTheory.StructuredArrow.Hom.right f).left โฏ - CategoryTheory.Over.opEquivOpUnder_counitIso ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] (X : T) : (CategoryTheory.Over.opEquivOpUnder X).counitIso = CategoryTheory.Iso.refl ({ obj := fun Y => CategoryTheory.Over.mk (Opposite.unop Y).hom.op, map := fun {Z Y} f => CategoryTheory.Over.homMk (CategoryTheory.Under.Hom.right f.unop).op โฏ, map_id := โฏ, map_comp := โฏ }.comp { obj := fun Y => Opposite.op (CategoryTheory.Under.mk Y.hom.unop), map := fun {Z Y} f => Opposite.op (CategoryTheory.Under.homMk (CategoryTheory.Over.Hom.left f).unop โฏ), map_id := โฏ, map_comp := โฏ }) - CategoryTheory.Under.opEquivOpOver_counitIso ๐ Mathlib.CategoryTheory.Comma.Over.Basic
{T : Type uโ} [CategoryTheory.Category.{vโ, uโ} T] (X : T) : (CategoryTheory.Under.opEquivOpOver X).counitIso = CategoryTheory.Iso.refl ({ obj := fun Y => CategoryTheory.Under.mk (Opposite.unop Y).hom.op, map := fun {Z Y} f => CategoryTheory.Under.homMk (CategoryTheory.Over.Hom.left f.unop).op โฏ, map_id := โฏ, map_comp := โฏ }.comp { obj := fun Y => Opposite.op (CategoryTheory.Over.mk Y.hom.unop), map := fun {Z Y} f => Opposite.op (CategoryTheory.Over.homMk (CategoryTheory.Under.Hom.right f).unop โฏ), map_id := โฏ, map_comp := โฏ }) - CommRingCat.monoidAlgebra_obj ๐ Mathlib.Algebra.Category.Ring.Adjunctions
(R : CommRingCat) (G : CommMonCat) : R.monoidAlgebra.obj G = CategoryTheory.Under.mk (CommRingCat.ofHom MonoidAlgebra.singleOneRingHom) - CommRingCat.monoidAlgebra_map ๐ Mathlib.Algebra.Category.Ring.Adjunctions
(R : CommRingCat) {Xโ Yโ : CommMonCat} (f : Xโ โถ Yโ) : R.monoidAlgebra.map f = CategoryTheory.Under.homMk (CommRingCat.ofHom (MonoidAlgebra.mapDomainRingHom (โR) (CommMonCat.Hom.hom f))) โฏ - CategoryTheory.algebraToUnder_obj ๐ Mathlib.CategoryTheory.Monad.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] (X : C) [CategoryTheory.Limits.HasBinaryCoproducts C] (A : (CategoryTheory.coprodMonad X).Algebra) : (CategoryTheory.algebraToUnder X).obj A = CategoryTheory.Under.mk (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.coprod.inl A.a) - CategoryTheory.algebraToUnder_map ๐ Mathlib.CategoryTheory.Monad.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] (X : C) [CategoryTheory.Limits.HasBinaryCoproducts C] {Xโ Yโ : (CategoryTheory.coprodMonad X).Algebra} (f : Xโ โถ Yโ) : (CategoryTheory.algebraToUnder X).map f = CategoryTheory.Under.homMk f.f โฏ - CategoryTheory.Under.pushout_obj ๐ Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasPushoutsAlong f] (x : CategoryTheory.Under X) : (CategoryTheory.Under.pushout f).obj x = CategoryTheory.Under.mk (CategoryTheory.Limits.pushout.inr x.hom f) - CategoryTheory.Under.pushout_map ๐ Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasPushoutsAlong f] (x : CategoryTheory.Under X) {x' : CategoryTheory.Under X} {u : x โถ x'} : (CategoryTheory.Under.pushout f).map u = CategoryTheory.Under.homMk (CategoryTheory.Limits.pushout.desc (CategoryTheory.CategoryStruct.comp (CategoryTheory.Under.Hom.right u) (CategoryTheory.Limits.pushout.inl x'.hom f)) (CategoryTheory.Limits.pushout.inr x'.hom f) โฏ) โฏ - CategoryTheory.Under.mapPushoutAdj_counit_app ๐ Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasPushoutsAlong f] (Yโ : CategoryTheory.Under Y) : (CategoryTheory.Under.mapPushoutAdj f).counit.app Yโ = CategoryTheory.Under.homMk (CategoryTheory.Limits.pushout.desc (CategoryTheory.CategoryStruct.id Yโ.right) Yโ.hom โฏ) โฏ - CategoryTheory.Under.mapPushoutAdj_unit_app ๐ Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X โถ Y) [CategoryTheory.Limits.HasPushoutsAlong f] (Xโ : CategoryTheory.Under X) : (CategoryTheory.Under.mapPushoutAdj f).unit.app Xโ = CategoryTheory.Under.homMk (CategoryTheory.Limits.pushout.inl Xโ.hom f) โฏ - CategoryTheory.Under.postAdjunctionRight_unit_app_right ๐ Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] [CategoryTheory.Limits.HasPushouts D] {Y : D} {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (a : F โฃ G) (X : CategoryTheory.Under ((CategoryTheory.Functor.id C).obj (G.1 Y))) : ((CategoryTheory.Under.postAdjunctionRight a).unit.app X).right = CategoryTheory.CategoryStruct.comp (a.unit.app X.right) (G.map (CategoryTheory.Limits.pushout.inl (F.map X.hom) (a.counit.app Y))) - CategoryTheory.Under.postAdjunctionRight_counit_app_right ๐ Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] [CategoryTheory.Limits.HasPushouts D] {Y : D} {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (a : F โฃ G) (X : CategoryTheory.Under ((CategoryTheory.Functor.id D).obj Y)) : ((CategoryTheory.Under.postAdjunctionRight a).counit.app X).right = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.desc (CategoryTheory.Limits.pushout.inl (F.map (CategoryTheory.CategoryStruct.comp (a.unit.app (G.1 Y)) (G.map (CategoryTheory.CategoryStruct.comp (a.counit.app Y) X.hom)))) (a.counit.app Y)) (CategoryTheory.Limits.pushout.inr (F.map (CategoryTheory.CategoryStruct.comp (a.unit.app (G.1 Y)) (G.map (CategoryTheory.CategoryStruct.comp (a.counit.app Y) X.hom)))) (a.counit.app Y)) โฏ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.desc (CategoryTheory.CategoryStruct.comp (a.counit.app X.right) (CategoryTheory.Limits.pushout.inl (CategoryTheory.CategoryStruct.comp (a.counit.app Y) X.hom) (a.counit.app Y))) (CategoryTheory.Limits.pushout.inr (CategoryTheory.CategoryStruct.comp (a.counit.app Y) X.hom) (a.counit.app Y)) โฏ) (CategoryTheory.Limits.pushout.desc (CategoryTheory.CategoryStruct.id X.right) X.hom โฏ)) - CategoryTheory.Limits.Cone.toUnder_pt ๐ Mathlib.CategoryTheory.Limits.ConeCategory
{J : Type uโ} [CategoryTheory.Category.{vโ, uโ} J] {C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {F : CategoryTheory.Functor J C} (c : CategoryTheory.Limits.Cone F) : c.toUnder.pt = CategoryTheory.Under.mk (CategoryTheory.CategoryStruct.id c.pt) - CategoryTheory.Limits.Cone.toUnder_ฯ_app ๐ Mathlib.CategoryTheory.Limits.ConeCategory
{J : Type uโ} [CategoryTheory.Category.{vโ, uโ} J] {C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {F : CategoryTheory.Functor J C} (c : CategoryTheory.Limits.Cone F) (j : J) : c.toUnder.ฯ.app j = CategoryTheory.Under.homMk (c.ฯ.app j) โฏ - CategoryTheory.Under.liftCone_pt ๐ Mathlib.CategoryTheory.Limits.Over
{J : Type w} [CategoryTheory.Category.{w', w} J] {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor J C} (c : CategoryTheory.Limits.Cone F) {X : C} (f : X โถ c.pt) : (CategoryTheory.Under.liftCone c f).pt = CategoryTheory.Under.mk f - CategoryTheory.Under.liftCone_ฯ_app ๐ Mathlib.CategoryTheory.Limits.Over
{J : Type w} [CategoryTheory.Category.{w', w} J] {C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor J C} (c : CategoryTheory.Limits.Cone F) {X : C} (f : X โถ c.pt) (j : J) : (CategoryTheory.Under.liftCone c f).ฯ.app j = CategoryTheory.Under.homMk (c.ฯ.app j) โฏ - CategoryTheory.WithInitial.coconeEquiv_inverse_obj_ฮน_app_right ๐ Mathlib.CategoryTheory.WithTerminal.Cone
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {J : Type w} [CategoryTheory.Category.{w', w} J] {X : C} {K : CategoryTheory.Functor J (CategoryTheory.Under X)} (t : CategoryTheory.Limits.Cocone (CategoryTheory.WithInitial.liftFromUnder.obj K)) (a : J) : ((CategoryTheory.WithInitial.coconeEquiv.inverse.obj t).ฮน.app a).right = t.ฮน.app (CategoryTheory.WithInitial.of a) - CategoryTheory.WithInitial.coconeEquiv_inverse_map_hom_right ๐ Mathlib.CategoryTheory.WithTerminal.Cone
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {J : Type w} [CategoryTheory.Category.{w', w} J] {X : C} {K : CategoryTheory.Functor J (CategoryTheory.Under X)} {tโ tโ : CategoryTheory.Limits.Cocone (CategoryTheory.WithInitial.liftFromUnder.obj K)} {f : tโ โถ tโ} : (CategoryTheory.WithInitial.coconeEquiv.inverse.map f).hom.right = f.hom - CategoryTheory.IsFinitelyPresentable.exists_hom_of_isColimit_under ๐ Mathlib.CategoryTheory.Presentable.Finite
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type w} [CategoryTheory.SmallCategory J] [CategoryTheory.IsFiltered J] {D : CategoryTheory.Functor J C} {c : CategoryTheory.Limits.Cocone D} (hc : CategoryTheory.Limits.IsColimit c) {X A : C} (p : X โถ A) (s : (CategoryTheory.Functor.const J).obj X โถ D) [CategoryTheory.IsFinitelyPresentable (CategoryTheory.Under.mk p)] (f : A โถ c.pt) (h : โ (j : J), CategoryTheory.CategoryStruct.comp (s.app j) (c.ฮน.app j) = CategoryTheory.CategoryStruct.comp p f) : โ j q, CategoryTheory.CategoryStruct.comp p q = s.app j โง CategoryTheory.CategoryStruct.comp q (c.ฮน.app j) = f - CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan ๐ Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X โถ Y} {g : X โถ Z} : CategoryTheory.Limits.PushoutCocone f g โ CategoryTheory.Limits.BinaryCofan (CategoryTheory.Under.mk f) (CategoryTheory.Under.mk g) - CategoryTheory.Limits.IsColimit.pushoutCoconeEquivBinaryCofanFunctor ๐ Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X โถ Y} {g : X โถ Z} {c : CategoryTheory.Limits.PushoutCocone f g} (hc : CategoryTheory.Limits.IsColimit c) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan.functor.obj c) - CategoryTheory.Limits.IsColimit.pushoutCoconeEquivBinaryCofanInverse ๐ Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X โถ Y} {g : X โถ Z} {c : CategoryTheory.Limits.BinaryCofan (CategoryTheory.Under.mk f) (CategoryTheory.Under.mk g)} (hc : CategoryTheory.Limits.IsColimit c) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan.inverse.obj c) - CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan_functor_obj ๐ Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X โถ Y} {g : X โถ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan.functor.obj c = CategoryTheory.Limits.BinaryCofan.mk (CategoryTheory.Under.homMk c.inl โฏ) (CategoryTheory.Under.homMk c.inr โฏ) - CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan_inverse_obj ๐ Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X โถ Y} {g : X โถ Z} (c : CategoryTheory.Limits.BinaryCofan (CategoryTheory.Under.mk f) (CategoryTheory.Under.mk g)) : CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan.inverse.obj c = CategoryTheory.Limits.PushoutCocone.mk (CategoryTheory.Under.Hom.right c.inl) (CategoryTheory.Under.Hom.right c.inr) โฏ - CategoryTheory.Limits.IsColimit.pushoutCoconeEquivBinaryCofanFunctor_desc_right ๐ Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X โถ Y} {g : X โถ Z} {c : CategoryTheory.Limits.PushoutCocone f g} (hc : CategoryTheory.Limits.IsColimit c) (s : CategoryTheory.Limits.BinaryCofan (CategoryTheory.Under.mk f) (CategoryTheory.Under.mk g)) : (hc.pushoutCoconeEquivBinaryCofanFunctor.desc s).right = hc.desc (CategoryTheory.Limits.PushoutCocone.mk (CategoryTheory.Under.Hom.right s.inl) (CategoryTheory.Under.Hom.right s.inr) โฏ) - CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan_inverse_map_hom ๐ Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X โถ Y} {g : X โถ Z} {cโ cโ : CategoryTheory.Limits.BinaryCofan (CategoryTheory.Under.mk f) (CategoryTheory.Under.mk g)} (a : cโ โถ cโ) : (CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan.inverse.map a).hom = CategoryTheory.Under.Hom.right a.hom - CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan_functor_map_hom ๐ Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X โถ Y} {g : X โถ Z} {cโ cโ : CategoryTheory.Limits.PushoutCocone f g} (a : cโ โถ cโ) : (CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan.functor.map a).hom = CategoryTheory.Under.homMk a.hom โฏ - CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan_unitIso ๐ Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X โถ Y} {g : X โถ Z} : CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan.unitIso = CategoryTheory.NatIso.ofComponents (fun c => c.eta) โฏ - CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan_counitIso ๐ Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X โถ Y} {g : X โถ Z} : CategoryTheory.Limits.pushoutCoconeEquivBinaryCofan.counitIso = CategoryTheory.NatIso.ofComponents (fun X_1 => CategoryTheory.Limits.BinaryCofan.ext (CategoryTheory.Under.isoMk (CategoryTheory.Iso.refl (({ obj := fun c => CategoryTheory.Limits.PushoutCocone.mk (CategoryTheory.Under.Hom.right c.inl) (CategoryTheory.Under.Hom.right c.inr) โฏ, map := fun {cโ cโ} a => { hom := CategoryTheory.Under.Hom.right a.hom, w := โฏ }, map_id := โฏ, map_comp := โฏ }.comp { obj := fun c => CategoryTheory.Limits.BinaryCofan.mk (CategoryTheory.Under.homMk c.inl โฏ) (CategoryTheory.Under.homMk c.inr โฏ), map := fun {cโ cโ} a => { hom := CategoryTheory.Under.homMk a.hom โฏ, w := โฏ }, map_id := โฏ, map_comp := โฏ }).obj X_1).pt.right) โฏ) โฏ โฏ) โฏ - CategoryTheory.underEquivOfIsTerminal_inverse ๐ Mathlib.CategoryTheory.Comma.Over.StrictInitial
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasStrictTerminalObjects C] (X : C) (h : CategoryTheory.Limits.IsTerminal X) : (CategoryTheory.underEquivOfIsTerminal.{w, v_1, u_1} X h).inverse = CategoryTheory.Functor.fromPUnit (CategoryTheory.Under.mk (CategoryTheory.CategoryStruct.id X)) - CategoryTheory.underEquivOfIsTerminal_counitIso ๐ Mathlib.CategoryTheory.Comma.Over.StrictInitial
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasStrictTerminalObjects C] (X : C) (h : CategoryTheory.Limits.IsTerminal X) : (CategoryTheory.underEquivOfIsTerminal.{w, v_1, u_1} X h).counitIso = CategoryTheory.Iso.refl ((CategoryTheory.Functor.fromPUnit (CategoryTheory.Under.mk (CategoryTheory.CategoryStruct.id X))).comp (CategoryTheory.Functor.star (CategoryTheory.Under X))) - CategoryTheory.underEquivOfIsTerminal_unitIso ๐ Mathlib.CategoryTheory.Comma.Over.StrictInitial
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasStrictTerminalObjects C] (X : C) (h : CategoryTheory.Limits.IsTerminal X) : (CategoryTheory.underEquivOfIsTerminal.{w, v_1, u_1} X h).unitIso = CategoryTheory.NatIso.ofComponents (fun A => CategoryTheory.Under.isoMk (CategoryTheory.asIso A.hom).symm โฏ) โฏ - CategoryTheory.MorphismProperty.ind_iff_ind_underMk ๐ Mathlib.CategoryTheory.MorphismProperty.Ind
{C : Type u} [CategoryTheory.Category.{v, u} C] {P : CategoryTheory.MorphismProperty C} {X Y : C} (f : X โถ Y) : P.ind f โ P.underObj.ind (CategoryTheory.Under.mk f)
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