Loogle!
Result
Found 73 declarations mentioning CategoryTheory.Limits.HasEqualizer.
- CategoryTheory.Limits.hasEqualizer_of_self ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f : X โถ Y) : CategoryTheory.Limits.HasEqualizer f f - CategoryTheory.Limits.HasEqualizer ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) : Prop - CategoryTheory.Limits.equalizer ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : C - CategoryTheory.Limits.equalizer.fork ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.Limits.Fork f g - CategoryTheory.Limits.equalizer.ฮน ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.Limits.equalizer f g โถ X - CategoryTheory.Limits.equalizer.ฮน_mono ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.Mono (CategoryTheory.Limits.equalizer.ฮน f g) - CategoryTheory.Limits.eq_of_epi_equalizer ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Epi (CategoryTheory.Limits.equalizer.ฮน f g)] : f = g - CategoryTheory.Limits.equalizer.ฮน_of_eq ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} [CategoryTheory.Limits.HasEqualizer f g] (h : f = g) : CategoryTheory.IsIso (CategoryTheory.Limits.equalizer.ฮน f g) - CategoryTheory.Limits.hasEqualizer_comp_mono ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
(C : Type u) {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] {Z : C} (h : Y โถ Z) [CategoryTheory.Mono h] : CategoryTheory.Limits.HasEqualizer (CategoryTheory.CategoryStruct.comp f h) (CategoryTheory.CategoryStruct.comp g h) - CategoryTheory.Limits.equalizerIsEqualizer ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.Fork.ofฮน (CategoryTheory.Limits.equalizer.ฮน f g) โฏ) - CategoryTheory.Limits.splitMonoOfIdempotentEqualizer ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
(C : Type u) [CategoryTheory.Category.{v, u} C] {X : C} {f : X โถ X} (hf : CategoryTheory.CategoryStruct.comp f f = f) [CategoryTheory.Limits.HasEqualizer (CategoryTheory.CategoryStruct.id X) f] : CategoryTheory.SplitMono (CategoryTheory.Limits.equalizer.ฮน (CategoryTheory.CategoryStruct.id X) f) - CategoryTheory.Limits.equalizer.fork_ฮน ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : (CategoryTheory.Limits.equalizer.fork f g).ฮน = CategoryTheory.Limits.equalizer.ฮน f g - CategoryTheory.Limits.equalizer.lift ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} [CategoryTheory.Limits.HasEqualizer f g] {W : C} (k : W โถ X) (h : CategoryTheory.CategoryStruct.comp k f = CategoryTheory.CategoryStruct.comp k g) : W โถ CategoryTheory.Limits.equalizer f g - CategoryTheory.Limits.hasEqualizer_precomp_of_hasEqualizer ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} {Z : C} (h : Z โถ X) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.equalizer.ฮน f g) h] : CategoryTheory.Limits.HasEqualizer (CategoryTheory.CategoryStruct.comp h f) (CategoryTheory.CategoryStruct.comp h g) - CategoryTheory.Limits.equalizer.condition ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ฮน f g) f = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ฮน f g) g - CategoryTheory.Limits.equalizer.lift_ฮน ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} [CategoryTheory.Limits.HasEqualizer f g] {W : C} (k : W โถ X) (h : CategoryTheory.CategoryStruct.comp k f = CategoryTheory.CategoryStruct.comp k g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.lift k h) (CategoryTheory.Limits.equalizer.ฮน f g) = k - CategoryTheory.Limits.equalizer.condition_assoc ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] {Z : C} (h : Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ฮน f g) (CategoryTheory.CategoryStruct.comp f h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ฮน f g) (CategoryTheory.CategoryStruct.comp g h) - CategoryTheory.Limits.equalizerComparison ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] (G : CategoryTheory.Functor C D) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasEqualizer (G.map f) (G.map g)] : G.obj (CategoryTheory.Limits.equalizer f g) โถ CategoryTheory.Limits.equalizer (G.map f) (G.map g) - CategoryTheory.Limits.equalizer.existsUnique ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} [CategoryTheory.Limits.HasEqualizer f g] {W : C} (k : W โถ X) (h : CategoryTheory.CategoryStruct.comp k f = CategoryTheory.CategoryStruct.comp k g) : โ! l, CategoryTheory.CategoryStruct.comp l (CategoryTheory.Limits.equalizer.ฮน f g) = k - CategoryTheory.Limits.equalizer.lift' ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} [CategoryTheory.Limits.HasEqualizer f g] {W : C} (k : W โถ X) (h : CategoryTheory.CategoryStruct.comp k f = CategoryTheory.CategoryStruct.comp k g) : { l // CategoryTheory.CategoryStruct.comp l (CategoryTheory.Limits.equalizer.ฮน f g) = k } - CategoryTheory.Limits.hasEqualizer_precomp_of_equalizer ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} {Z : C} (h : Z โถ X) {s : CategoryTheory.Limits.Fork f g} (hs : CategoryTheory.Limits.IsLimit s) {c : CategoryTheory.Limits.PullbackCone s.ฮน h} (hc : CategoryTheory.Limits.IsLimit c) : CategoryTheory.Limits.HasEqualizer (CategoryTheory.CategoryStruct.comp h f) (CategoryTheory.CategoryStruct.comp h g) - CategoryTheory.Limits.equalizer.hom_ext ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} [CategoryTheory.Limits.HasEqualizer f g] {W : C} {k l : W โถ CategoryTheory.Limits.equalizer f g} (h : CategoryTheory.CategoryStruct.comp k (CategoryTheory.Limits.equalizer.ฮน f g) = CategoryTheory.CategoryStruct.comp l (CategoryTheory.Limits.equalizer.ฮน f g)) : k = l - CategoryTheory.Limits.equalizer.hom_ext_iff ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} [CategoryTheory.Limits.HasEqualizer f g] {W : C} {k l : W โถ CategoryTheory.Limits.equalizer f g} : k = l โ CategoryTheory.CategoryStruct.comp k (CategoryTheory.Limits.equalizer.ฮน f g) = CategoryTheory.CategoryStruct.comp l (CategoryTheory.Limits.equalizer.ฮน f g) - CategoryTheory.Limits.equalizer.lift_ฮน_assoc ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] {f g : X โถ Y} [CategoryTheory.Limits.HasEqualizer f g] {W : C} (k : W โถ X) (h : CategoryTheory.CategoryStruct.comp k f = CategoryTheory.CategoryStruct.comp k g) {Z : C} (hโ : X โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.lift k h) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ฮน f g) hโ) = CategoryTheory.CategoryStruct.comp k hโ - CategoryTheory.Limits.equalizer.fork_ฯ_app_zero ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : (CategoryTheory.Limits.equalizer.fork f g).ฯ.app CategoryTheory.Limits.WalkingParallelPair.zero = CategoryTheory.Limits.equalizer.ฮน f g - CategoryTheory.Limits.equalizerComparison_comp_ฯ ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] (G : CategoryTheory.Functor C D) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasEqualizer (G.map f) (G.map g)] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerComparison f g G) (CategoryTheory.Limits.equalizer.ฮน (G.map f) (G.map g)) = G.map (CategoryTheory.Limits.equalizer.ฮน f g) - CategoryTheory.Limits.equalizerComparison_comp_ฯ_assoc ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] (G : CategoryTheory.Functor C D) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasEqualizer (G.map f) (G.map g)] {Z : D} (h : G.obj X โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerComparison f g G) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ฮน (G.map f) (G.map g)) h) = CategoryTheory.CategoryStruct.comp (G.map (CategoryTheory.Limits.equalizer.ฮน f g)) h - CategoryTheory.Limits.map_lift_equalizerComparison ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] (G : CategoryTheory.Functor C D) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasEqualizer (G.map f) (G.map g)] {Z : C} {h : Z โถ X} (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp h g) : CategoryTheory.CategoryStruct.comp (G.map (CategoryTheory.Limits.equalizer.lift h w)) (CategoryTheory.Limits.equalizerComparison f g G) = CategoryTheory.Limits.equalizer.lift (G.map h) โฏ - CategoryTheory.Limits.map_lift_equalizerComparison_assoc ๐ Mathlib.CategoryTheory.Limits.Shapes.Equalizers
{C : Type u} {X Y : C} [CategoryTheory.Category.{v, u} C] (f g : X โถ Y) {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] (G : CategoryTheory.Functor C D) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasEqualizer (G.map f) (G.map g)] {Z : C} {h : Z โถ X} (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp h g) {Zโ : D} (hโ : CategoryTheory.Limits.equalizer (G.map f) (G.map g) โถ Zโ) : CategoryTheory.CategoryStruct.comp (G.map (CategoryTheory.Limits.equalizer.lift h w)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerComparison f g G) hโ) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.lift (G.map h) โฏ) hโ - CategoryTheory.Preadditive.hasEqualizer_of_hasKernel ๐ Mathlib.CategoryTheory.Preadditive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasKernel (f - g)] : CategoryTheory.Limits.HasEqualizer f g - CategoryTheory.Preadditive.hasKernel_of_hasEqualizer ๐ Mathlib.CategoryTheory.Preadditive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.Limits.HasKernel (f - g) - CategoryTheory.Limits.hasEqualizer_of_hasSplitEqualizer ๐ Mathlib.CategoryTheory.Limits.Shapes.SplitEqualizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.HasSplitEqualizer f g] : CategoryTheory.Limits.HasEqualizer f g - CategoryTheory.Limits.PreservesEqualizer.iso ๐ Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] (G : CategoryTheory.Functor C D) {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasEqualizer (G.map f) (G.map g)] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair f g) G] : G.obj (CategoryTheory.Limits.equalizer f g) โ CategoryTheory.Limits.equalizer (G.map f) (G.map g) - CategoryTheory.Limits.instIsIsoEqualizerComparison ๐ Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] (G : CategoryTheory.Functor C D) {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasEqualizer (G.map f) (G.map g)] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair f g) G] : CategoryTheory.IsIso (CategoryTheory.Limits.equalizerComparison f g G) - CategoryTheory.Limits.PreservesEqualizer.of_iso_comparison ๐ Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] (G : CategoryTheory.Functor C D) {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasEqualizer (G.map f) (G.map g)] [i : CategoryTheory.IsIso (CategoryTheory.Limits.equalizerComparison f g G)] : CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair f g) G - CategoryTheory.Limits.isLimitOfHasEqualizerOfPreservesLimit ๐ Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] (G : CategoryTheory.Functor C D) {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair f g) G] : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.Fork.ofฮน (G.map (CategoryTheory.Limits.equalizer.ฮน f g)) โฏ) - CategoryTheory.Limits.PreservesEqualizer.iso_hom ๐ Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] (G : CategoryTheory.Functor C D) {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasEqualizer (G.map f) (G.map g)] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair f g) G] : (CategoryTheory.Limits.PreservesEqualizer.iso G f g).hom = CategoryTheory.Limits.equalizerComparison f g G - CategoryTheory.Limits.PreservesEqualizer.iso_inv_ฮน ๐ Mathlib.CategoryTheory.Limits.Preserves.Shapes.Equalizers
{C : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} D] (G : CategoryTheory.Functor C D) {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasEqualizer (G.map f) (G.map g)] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair f g) G] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PreservesEqualizer.iso G f g).inv (G.map (CategoryTheory.Limits.equalizer.ฮน f g)) = CategoryTheory.Limits.equalizer.ฮน (G.map f) (G.map g) - CategoryTheory.Limits.equalizerSubobject ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.Subobject X - CategoryTheory.Limits.equalizerSubobjectIso ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.Subobject.underlying.obj (CategoryTheory.Limits.equalizerSubobject f g) โ CategoryTheory.Limits.equalizer f g - CategoryTheory.Limits.equalizerSubobject_factors ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] {W : C} (h : W โถ X) (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp h g) : (CategoryTheory.Limits.equalizerSubobject f g).Factors h - CategoryTheory.Limits.equalizerSubobject_factors_iff ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] {W : C} (h : W โถ X) : (CategoryTheory.Limits.equalizerSubobject f g).Factors h โ CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp h g - CategoryTheory.Limits.pullback_equalizer ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] {W : C} (h : W โถ X) [CategoryTheory.Limits.HasPullbacks C] : (CategoryTheory.Subobject.pullback h).obj (CategoryTheory.Limits.equalizerSubobject f g) = CategoryTheory.Limits.equalizerSubobject (CategoryTheory.CategoryStruct.comp h f) (CategoryTheory.CategoryStruct.comp h g) - CategoryTheory.Limits.equalizerSubobject_arrow' ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobjectIso f g).inv (CategoryTheory.Limits.equalizerSubobject f g).arrow = CategoryTheory.Limits.equalizer.ฮน f g - CategoryTheory.Limits.equalizerSubobject_arrow_comp ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow f = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow g - CategoryTheory.Limits.equalizerSubobject_arrow ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobjectIso f g).hom (CategoryTheory.Limits.equalizer.ฮน f g) = (CategoryTheory.Limits.equalizerSubobject f g).arrow - CategoryTheory.Limits.equalizerSubobject_arrow_comp_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] {Z : C} (h : Y โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow (CategoryTheory.CategoryStruct.comp f h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow (CategoryTheory.CategoryStruct.comp g h) - CategoryTheory.Limits.equalizerSubobject_arrow'_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] {Z : C} (h : X โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobjectIso f g).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ฮน f g) h - CategoryTheory.Limits.equalizerSubobject_arrow_assoc ๐ Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] {Z : C} (h : X โถ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobjectIso f g).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ฮน f g) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizerSubobject f g).arrow h - CategoryTheory.Limits.Multiequalizer.instHasEqualizerFstPiMapSndPiMap ๐ Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Limits.MulticospanShape} (I : CategoryTheory.Limits.MulticospanIndex J C) [CategoryTheory.Limits.HasMultiequalizer I] [CategoryTheory.Limits.HasProduct I.left] [CategoryTheory.Limits.HasProduct I.right] : CategoryTheory.Limits.HasEqualizer I.fstPiMap I.sndPiMap - CategoryTheory.Limits.HasCoreflexiveEqualizers.has_eq ๐ Mathlib.CategoryTheory.Limits.Shapes.Reflexive
{C : Type u} {instโ : CategoryTheory.Category.{v, u} C} [self : CategoryTheory.Limits.HasCoreflexiveEqualizers C] โฆA B : Cโฆ (f g : A โถ B) [CategoryTheory.IsCoreflexivePair f g] : CategoryTheory.Limits.HasEqualizer f g - CategoryTheory.Limits.HasCoreflexiveEqualizers.mk ๐ Mathlib.CategoryTheory.Limits.Shapes.Reflexive
{C : Type u} [CategoryTheory.Category.{v, u} C] (has_eq : โ โฆA B : Cโฆ (f g : A โถ B) [CategoryTheory.IsCoreflexivePair f g], CategoryTheory.Limits.HasEqualizer f g) : CategoryTheory.Limits.HasCoreflexiveEqualizers C - CategoryTheory.Limits.hasEqualizer_of_common_retraction ๐ Mathlib.CategoryTheory.Limits.Shapes.Reflexive
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoreflexiveEqualizers C] {A B : C} {f g : A โถ B} (r : B โถ A) (fr : CategoryTheory.CategoryStruct.comp f r = CategoryTheory.CategoryStruct.id A) (gr : CategoryTheory.CategoryStruct.comp g r = CategoryTheory.CategoryStruct.id A) : CategoryTheory.Limits.HasEqualizer f g - CategoryTheory.Comonad.HasEqualizerOfIsCosplitPair.mk ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} (out : โ {A B : C} (f g : A โถ B) [F.IsCosplitPair f g], CategoryTheory.Limits.HasEqualizer f g) : CategoryTheory.Comonad.HasEqualizerOfIsCosplitPair F - CategoryTheory.Comonad.HasEqualizerOfIsCosplitPair.out ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} {instโ : CategoryTheory.Category.{vโ, uโ} C} {instโยน : CategoryTheory.Category.{vโ, uโ} D} (F : CategoryTheory.Functor C D) [self : CategoryTheory.Comonad.HasEqualizerOfIsCosplitPair F] {A B : C} (f g : A โถ B) [F.IsCosplitPair f g] : CategoryTheory.Limits.HasEqualizer f g - CategoryTheory.Comonad.ComonadicityInternal.comparisonRightAdjointObj ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F โฃ G) (A : adj.toComonad.Coalgebra) [CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.1 A.A))] : C - CategoryTheory.Comonad.instHasEqualizerMapAAppUnitObjAOfHasEqualizerOfIsCosplitPair ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F โฃ G) [CategoryTheory.Comonad.HasEqualizerOfIsCosplitPair F] (A : adj.toComonad.Coalgebra) : CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A)) - CategoryTheory.Comonad.ComonadicityInternal.rightAdjointComparison ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F โฃ G) [โ (A : adj.toComonad.Coalgebra), CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] : CategoryTheory.Functor adj.toComonad.Coalgebra C - CategoryTheory.Comonad.ComonadicityInternal.comparisonAdjunction ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F โฃ G) [โ (A : adj.toComonad.Coalgebra), CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] : CategoryTheory.Comonad.comparison adj โฃ CategoryTheory.Comonad.ComonadicityInternal.rightAdjointComparison adj - CategoryTheory.Comonad.ComonadicityInternal.comparisonRightAdjointHomEquiv ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F โฃ G) (A : adj.toComonad.Coalgebra) (B : C) [CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] : ((CategoryTheory.Comonad.comparison adj).obj B โถ A) โ (B โถ CategoryTheory.Comonad.ComonadicityInternal.comparisonRightAdjointObj adj A) - CategoryTheory.Comonad.ComonadicityInternal.instHasLimitWalkingParallelPairParallelPairMapAppUnitObjOfHasEqualizerAA ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F โฃ G) [โ (A : adj.toComonad.Coalgebra), CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] (B : C) : CategoryTheory.Limits.HasLimit (CategoryTheory.Limits.parallelPair (G.map (F.map (adj.unit.app B))) (adj.unit.app (G.obj (F.obj B)))) - CategoryTheory.Comonad.ComonadicityInternal.counitFork ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} {adj : F โฃ G} (A : adj.toComonad.Coalgebra) [CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] : CategoryTheory.Limits.Fork (F.map (G.map A.a)) (F.map (adj.unit.app (G.obj A.A))) - CategoryTheory.Comonad.ComonadicityInternal.comparisonAdjunction_unit_app ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F โฃ G) [โ (A : adj.toComonad.Coalgebra), CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] (B : C) : (CategoryTheory.Comonad.ComonadicityInternal.comparisonAdjunction adj).unit.app B = CategoryTheory.Limits.limit.lift (CategoryTheory.Limits.parallelPair (G.map (F.map (adj.unit.app B))) (adj.unit.app (G.obj (F.obj B)))) (CategoryTheory.Comonad.ComonadicityInternal.unitFork adj B) - CategoryTheory.Comonad.ComonadicityInternal.counitFork_pt ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} {adj : F โฃ G} (A : adj.toComonad.Coalgebra) [CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] : (CategoryTheory.Comonad.ComonadicityInternal.counitFork A).pt = F.obj (CategoryTheory.Limits.equalizer (G.map A.a) (adj.unit.app (G.obj A.A))) - CategoryTheory.Comonad.ComonadicityInternal.counitLimitOfPreservesEqualizer ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} {adj : F โฃ G} (A : adj.toComonad.Coalgebra) [CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.parallelPair (G.map A.a) (adj.unit.app (G.obj A.A))) F] : CategoryTheory.Limits.IsLimit (CategoryTheory.Comonad.ComonadicityInternal.counitFork A) - CategoryTheory.Comonad.ComonadicityInternal.comparisonAdjunction_counit_f ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} {adj : F โฃ G} [โ (A : adj.toComonad.Coalgebra), CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] (A : adj.toComonad.Coalgebra) : ((CategoryTheory.Comonad.ComonadicityInternal.comparisonAdjunction adj).counit.app A).f = (CategoryTheory.Comonad.beckEqualizer A).lift (CategoryTheory.Comonad.ComonadicityInternal.counitFork A) - CategoryTheory.Comonad.ComonadicityInternal.unitFork_ฮน ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} {adj : F โฃ G} (A : adj.toComonad.Coalgebra) [CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] : (CategoryTheory.Comonad.ComonadicityInternal.counitFork A).ฮน = F.map (CategoryTheory.Limits.equalizer.ฮน (G.map A.a) (adj.unit.app (G.obj A.A))) - CategoryTheory.Comonad.ComonadicityInternal.comparisonRightAdjointHomEquiv_symm_apply_f ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F โฃ G) (A : adj.toComonad.Coalgebra) (B : C) [CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] (f : B โถ CategoryTheory.Comonad.ComonadicityInternal.comparisonRightAdjointObj adj A) : ((CategoryTheory.Comonad.ComonadicityInternal.comparisonRightAdjointHomEquiv adj A B).symm f).f = (adj.homEquiv B A.A).symm (CategoryTheory.CategoryStruct.comp f (CategoryTheory.Limits.equalizer.ฮน (G.map A.a) (adj.unit.app (G.1 A.A)))) - CategoryTheory.Comonad.ComonadicityInternal.comparisonRightAdjointHomEquiv_apply ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F โฃ G) (A : adj.toComonad.Coalgebra) (B : C) [CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] (f : (CategoryTheory.Comonad.comparison adj).obj B โถ A) : (CategoryTheory.Comonad.ComonadicityInternal.comparisonRightAdjointHomEquiv adj A B) f = CategoryTheory.Limits.equalizer.lift ((adj.homEquiv B A.A) f.f) โฏ - CategoryTheory.Comonad.ComonadicityInternal.comparisonAdjunction_counit ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (adj : F โฃ G) [โ (A : adj.toComonad.Coalgebra), CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] : (CategoryTheory.Comonad.ComonadicityInternal.comparisonAdjunction adj).counit = { app := fun Y => (CategoryTheory.Comonad.ComonadicityInternal.comparisonRightAdjointHomEquiv adj Y (CategoryTheory.Comonad.ComonadicityInternal.comparisonRightAdjointObj adj Y)).symm (CategoryTheory.CategoryStruct.id (CategoryTheory.Comonad.ComonadicityInternal.comparisonRightAdjointObj adj Y)), naturality := โฏ } - CategoryTheory.Comonad.ComonadicityInternal.comparisonAdjunction_counit_f_aux ๐ Mathlib.CategoryTheory.Monad.Comonadicity
{C : Type uโ} {D : Type uโ} [CategoryTheory.Category.{vโ, uโ} C] [CategoryTheory.Category.{vโ, uโ} D] {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} {adj : F โฃ G} [โ (A : adj.toComonad.Coalgebra), CategoryTheory.Limits.HasEqualizer (G.map A.a) (adj.unit.app (G.obj A.A))] (A : adj.toComonad.Coalgebra) : ((CategoryTheory.Comonad.ComonadicityInternal.comparisonAdjunction adj).counit.app A).f = (adj.homEquiv (CategoryTheory.Limits.equalizer (G.map A.a) (adj.unit.app (G.obj A.A))) A.A).symm (CategoryTheory.Limits.equalizer.ฮน (G.map A.a) (adj.unit.app (G.obj A.A))) - CategoryTheory.Idempotents.isIdempotentComplete_iff_hasEqualizer_of_id_and_idempotent ๐ Mathlib.CategoryTheory.Idempotents.Basic
(C : Type u_1) [CategoryTheory.Category.{v_1, u_1} C] : CategoryTheory.IsIdempotentComplete C โ โ (X : C) (p : X โถ X), CategoryTheory.CategoryStruct.comp p p = p โ CategoryTheory.Limits.HasEqualizer (CategoryTheory.CategoryStruct.id X) p - CategoryTheory.Limits.isPullback_equalizer_prod ๐ Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equalizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X โถ Y) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasBinaryProduct Y Y] : CategoryTheory.IsPullback (CategoryTheory.Limits.equalizer.ฮน f g) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ฮน f g) f) (CategoryTheory.Limits.prod.lift f g) (CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.id Y) (CategoryTheory.CategoryStruct.id Y))
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