Loogle!
Result
Found 85 declarations mentioning CategoryTheory.Limits.prod.map.
- CategoryTheory.Limits.prod.map π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct Y Z] (f : W βΆ Y) (g : X βΆ Z) : W β¨― X βΆ Y β¨― Z - CategoryTheory.Limits.prod.map_id_id π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasBinaryProduct X Y] : CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id Y) = CategoryTheory.CategoryStruct.id (X β¨― Y) - CategoryTheory.Limits.isIso_prod π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct Y Z] (f : W βΆ Y) (g : X βΆ Z) [CategoryTheory.IsIso f] [CategoryTheory.IsIso g] : CategoryTheory.IsIso (CategoryTheory.Limits.prod.map f g) - CategoryTheory.Limits.prod.map_mono π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {W X Y Z : C} (f : W βΆ Y) (g : X βΆ Z) [CategoryTheory.Mono f] [CategoryTheory.Mono g] [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct Y Z] : CategoryTheory.Mono (CategoryTheory.Limits.prod.map f g) - CategoryTheory.Limits.prod.diag_map π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X βΆ Y) [CategoryTheory.Limits.HasBinaryProduct X X] [CategoryTheory.Limits.HasBinaryProduct Y Y] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diag X) (CategoryTheory.Limits.prod.map f f) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.Limits.diag Y) - CategoryTheory.Limits.prod.mapIso_hom π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct Y Z] (f : W β Y) (g : X β Z) : (CategoryTheory.Limits.prod.mapIso f g).hom = CategoryTheory.Limits.prod.map f.hom g.hom - CategoryTheory.Limits.prod.mapIso_inv π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct Y Z] (f : W β Y) (g : X β Z) : (CategoryTheory.Limits.prod.mapIso f g).inv = CategoryTheory.Limits.prod.map f.inv g.inv - CategoryTheory.Limits.prod.map_fst π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct Y Z] (f : W βΆ Y) (g : X βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f g) CategoryTheory.Limits.prod.fst = CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.fst f - CategoryTheory.Limits.prod.map_snd π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct Y Z] (f : W βΆ Y) (g : X βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f g) CategoryTheory.Limits.prod.snd = CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd g - CategoryTheory.Limits.prod.lift_fst_comp_snd_comp π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} [CategoryTheory.Limits.HasBinaryProduct W Y] [CategoryTheory.Limits.HasBinaryProduct X Z] (g : W βΆ X) (g' : Y βΆ Z) : CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.fst g) (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd g') = CategoryTheory.Limits.prod.map g g' - CategoryTheory.Limits.prod.diag_map_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X βΆ Y) [CategoryTheory.Limits.HasBinaryProduct X X] [CategoryTheory.Limits.HasBinaryProduct Y Y] {Z : C} (h : Y β¨― Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diag X) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f f) h) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diag Y) h) - CategoryTheory.Limits.prod.diag_map_fst_snd π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasBinaryProduct X Y] [CategoryTheory.Limits.HasBinaryProduct (X β¨― Y) (X β¨― Y)] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diag (X β¨― Y)) (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.fst CategoryTheory.Limits.prod.snd) = CategoryTheory.CategoryStruct.id (X β¨― Y) - CategoryTheory.Limits.prod.lift_map π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {V W X Y Z : C} [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct Y Z] (f : V βΆ W) (g : V βΆ X) (h : W βΆ Y) (k : X βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.lift f g) (CategoryTheory.Limits.prod.map h k) = CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.comp f h) (CategoryTheory.CategoryStruct.comp g k) - CategoryTheory.Limits.prod.map_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct Y Z] (f : W βΆ Y) (g : X βΆ Z) {Zβ : C} (h : Y βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f g) (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.fst h) = CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.fst (CategoryTheory.CategoryStruct.comp f h) - CategoryTheory.Limits.prod.map_snd_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct Y Z] (f : W βΆ Y) (g : X βΆ Z) {Zβ : C} (h : Z βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f g) (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd h) = CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd (CategoryTheory.CategoryStruct.comp g h) - CategoryTheory.Limits.prod.map_comp_id π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} (f : X βΆ Y) (g : Y βΆ Z) [CategoryTheory.Limits.HasBinaryProduct X W] [CategoryTheory.Limits.HasBinaryProduct Z W] [CategoryTheory.Limits.HasBinaryProduct Y W] : CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.comp f g) (CategoryTheory.CategoryStruct.id W) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id W)) (CategoryTheory.Limits.prod.map g (CategoryTheory.CategoryStruct.id W)) - CategoryTheory.Limits.prod.map_id_comp π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} (f : X βΆ Y) (g : Y βΆ Z) [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct W Y] [CategoryTheory.Limits.HasBinaryProduct W Z] : CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id W) (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id W) f) (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id W) g) - CategoryTheory.Limits.prod.functor_obj_map π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] (X : C) {xβ xβΒΉ : C} (g : xβ βΆ xβΒΉ) : (CategoryTheory.Limits.prod.functor.obj X).map g = CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id X) g - CategoryTheory.Limits.prod.diag_map_fst_snd_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasBinaryProduct X Y] [CategoryTheory.Limits.HasBinaryProduct (X β¨― Y) (X β¨― Y)] {Z : C} (h : X β¨― Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diag (X β¨― Y)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.fst CategoryTheory.Limits.prod.snd) h) = h - CategoryTheory.Limits.prod.map_map π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {Aβ Aβ Aβ Bβ Bβ Bβ : C} [CategoryTheory.Limits.HasBinaryProduct Aβ Bβ] [CategoryTheory.Limits.HasBinaryProduct Aβ Bβ] [CategoryTheory.Limits.HasBinaryProduct Aβ Bβ] (f : Aβ βΆ Aβ) (g : Bβ βΆ Bβ) (h : Aβ βΆ Aβ) (k : Bβ βΆ Bβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f g) (CategoryTheory.Limits.prod.map h k) = CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.comp f h) (CategoryTheory.CategoryStruct.comp g k) - CategoryTheory.Limits.prod.lift_map_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {V W X Y Z : C} [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct Y Z] (f : V βΆ W) (g : V βΆ X) (h : W βΆ Y) (k : X βΆ Z) {Zβ : C} (hβ : Y β¨― Z βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.lift f g) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map h k) hβ) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.comp f h) (CategoryTheory.CategoryStruct.comp g k)) hβ - CategoryTheory.Limits.prod.map_comp_id_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} (f : X βΆ Y) (g : Y βΆ Z) [CategoryTheory.Limits.HasBinaryProduct X W] [CategoryTheory.Limits.HasBinaryProduct Z W] [CategoryTheory.Limits.HasBinaryProduct Y W] {Zβ : C} (h : Z β¨― W βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.comp f g) (CategoryTheory.CategoryStruct.id W)) h = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id W)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map g (CategoryTheory.CategoryStruct.id W)) h) - CategoryTheory.Limits.prod.map_id_comp_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z W : C} (f : X βΆ Y) (g : Y βΆ Z) [CategoryTheory.Limits.HasBinaryProduct W X] [CategoryTheory.Limits.HasBinaryProduct W Y] [CategoryTheory.Limits.HasBinaryProduct W Z] {Zβ : C} (h : W β¨― Z βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id W) (CategoryTheory.CategoryStruct.comp f g)) h = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id W) f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id W) g) h) - CategoryTheory.Limits.prod.map_map_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {Aβ Aβ Aβ Bβ Bβ Bβ : C} [CategoryTheory.Limits.HasBinaryProduct Aβ Bβ] [CategoryTheory.Limits.HasBinaryProduct Aβ Bβ] [CategoryTheory.Limits.HasBinaryProduct Aβ Bβ] (f : Aβ βΆ Aβ) (g : Bβ βΆ Bβ) (h : Aβ βΆ Aβ) (k : Bβ βΆ Bβ) {Z : C} (hβ : Aβ β¨― Bβ βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f g) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map h k) hβ) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.comp f h) (CategoryTheory.CategoryStruct.comp g k)) hβ - CategoryTheory.Limits.prod.functor_map_app π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] {Xβ Yβ : C} (f : Xβ βΆ Yβ) (T : C) : (CategoryTheory.Limits.prod.functor.map f).app T = CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id T) - CategoryTheory.Limits.prod_rightUnitor_inv_naturality π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (f : X βΆ Y) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.rightUnitor X).inv (CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id (β€_ C))) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.Limits.prod.rightUnitor Y).inv - CategoryTheory.Limits.prod.leftUnitor_hom_naturality π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (f : X βΆ Y) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id (β€_ C)) f) (CategoryTheory.Limits.prod.leftUnitor Y).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.leftUnitor X).hom f - CategoryTheory.Limits.prod.leftUnitor_inv_naturality π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (f : X βΆ Y) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.leftUnitor X).inv (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id (β€_ C)) f) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.Limits.prod.leftUnitor Y).inv - CategoryTheory.Limits.prod.rightUnitor_hom_naturality π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (f : X βΆ Y) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id (β€_ C))) (CategoryTheory.Limits.prod.rightUnitor Y).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.rightUnitor X).hom f - CategoryTheory.Limits.prod_rightUnitor_inv_naturality_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (f : X βΆ Y) {Z : C} (h : Y β¨― β€_ C βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.rightUnitor X).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id (β€_ C))) h) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.rightUnitor Y).inv h) - CategoryTheory.Limits.prod.leftUnitor_hom_naturality_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (f : X βΆ Y) {Z : C} (h : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id (β€_ C)) f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.leftUnitor Y).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.leftUnitor X).hom (CategoryTheory.CategoryStruct.comp f h) - CategoryTheory.Limits.prod.leftUnitor_inv_naturality_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (f : X βΆ Y) {Z : C} (h : (β€_ C) β¨― Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.leftUnitor X).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id (β€_ C)) f) h) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.leftUnitor Y).inv h) - CategoryTheory.Limits.prod.rightUnitor_hom_naturality_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (f : X βΆ Y) {Z : C} (h : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id (β€_ C))) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.rightUnitor Y).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.rightUnitor X).hom (CategoryTheory.CategoryStruct.comp f h) - CategoryTheory.Limits.prod.map_swap π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {A B X Y : C} (f : A βΆ B) (g : X βΆ Y) [CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) C] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id X) f) (CategoryTheory.Limits.prod.map g (CategoryTheory.CategoryStruct.id B)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map g (CategoryTheory.CategoryStruct.id A)) (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id Y) f) - CategoryTheory.Limits.braid_natural π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] {W X Y Z : C} (f : X βΆ Y) (g : Z βΆ W) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f g) (CategoryTheory.Limits.prod.braiding Y W).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.braiding X Z).hom (CategoryTheory.Limits.prod.map g f) - CategoryTheory.Limits.prod.map_swap_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {A B X Y : C} (f : A βΆ B) (g : X βΆ Y) [CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) C] {Z : C} (h : Y β¨― B βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id X) f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map g (CategoryTheory.CategoryStruct.id B)) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map g (CategoryTheory.CategoryStruct.id A)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id Y) f) h) - CategoryTheory.Limits.braid_natural_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] {W X Y Z : C} (f : X βΆ Y) (g : Z βΆ W) {Zβ : C} (h : W β¨― Y βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f g) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.braiding Y W).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.braiding X Z).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map g f) h) - CategoryTheory.Limits.prod.diag_map_fst_snd_comp π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) C] {X X' Y Y' : C} (g : X βΆ Y) (g' : X' βΆ Y') : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diag (X β¨― X')) (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.fst g) (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd g')) = CategoryTheory.Limits.prod.map g g' - CategoryTheory.Limits.prodComparison_natural π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type uβ} [CategoryTheory.Category.{w, uβ} D] (F : CategoryTheory.Functor C D) {A A' B B' : C} [CategoryTheory.Limits.HasBinaryProduct A B] [CategoryTheory.Limits.HasBinaryProduct A' B'] [CategoryTheory.Limits.HasBinaryProduct (F.obj A) (F.obj B)] [CategoryTheory.Limits.HasBinaryProduct (F.obj A') (F.obj B')] (f : A βΆ A') (g : B βΆ B') : CategoryTheory.CategoryStruct.comp (F.map (CategoryTheory.Limits.prod.map f g)) (CategoryTheory.Limits.prodComparison F A' B') = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prodComparison F A B) (CategoryTheory.Limits.prod.map (F.map f) (F.map g)) - CategoryTheory.Limits.prod.diag_map_fst_snd_comp_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasLimitsOfShape (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) C] {X X' Y Y' : C} (g : X βΆ Y) (g' : X' βΆ Y') {Z : C} (h : Y β¨― Y' βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diag (X β¨― X')) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.fst g) (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd g')) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map g g') h - CategoryTheory.Limits.prod.triangle π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (X Y : C) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.associator X (β€_ C) Y).hom (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id X) (CategoryTheory.Limits.prod.leftUnitor Y).hom) = CategoryTheory.Limits.prod.map (CategoryTheory.Limits.prod.rightUnitor X).hom (CategoryTheory.CategoryStruct.id Y) - CategoryTheory.Limits.prodComparison_natural_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type uβ} [CategoryTheory.Category.{w, uβ} D] (F : CategoryTheory.Functor C D) {A A' B B' : C} [CategoryTheory.Limits.HasBinaryProduct A B] [CategoryTheory.Limits.HasBinaryProduct A' B'] [CategoryTheory.Limits.HasBinaryProduct (F.obj A) (F.obj B)] [CategoryTheory.Limits.HasBinaryProduct (F.obj A') (F.obj B')] (f : A βΆ A') (g : B βΆ B') {Z : D} (h : F.obj A' β¨― F.obj B' βΆ Z) : CategoryTheory.CategoryStruct.comp (F.map (CategoryTheory.Limits.prod.map f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prodComparison F A' B') h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prodComparison F A B) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (F.map f) (F.map g)) h) - CategoryTheory.Limits.prodComparison_inv_natural π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type uβ} [CategoryTheory.Category.{w, uβ} D] (F : CategoryTheory.Functor C D) {A A' B B' : C} [CategoryTheory.Limits.HasBinaryProduct A B] [CategoryTheory.Limits.HasBinaryProduct A' B'] [CategoryTheory.Limits.HasBinaryProduct (F.obj A) (F.obj B)] [CategoryTheory.Limits.HasBinaryProduct (F.obj A') (F.obj B')] (f : A βΆ A') (g : B βΆ B') [CategoryTheory.IsIso (CategoryTheory.Limits.prodComparison F A B)] [CategoryTheory.IsIso (CategoryTheory.Limits.prodComparison F A' B')] : CategoryTheory.CategoryStruct.comp (CategoryTheory.inv (CategoryTheory.Limits.prodComparison F A B)) (F.map (CategoryTheory.Limits.prod.map f g)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (F.map f) (F.map g)) (CategoryTheory.inv (CategoryTheory.Limits.prodComparison F A' B')) - CategoryTheory.Limits.prod.associator_naturality π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] {Xβ Xβ Xβ Yβ Yβ Yβ : C} (fβ : Xβ βΆ Yβ) (fβ : Xβ βΆ Yβ) (fβ : Xβ βΆ Yβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.Limits.prod.map fβ fβ) fβ) (CategoryTheory.Limits.prod.associator Yβ Yβ Yβ).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.associator Xβ Xβ Xβ).hom (CategoryTheory.Limits.prod.map fβ (CategoryTheory.Limits.prod.map fβ fβ)) - CategoryTheory.Limits.prodComparison_inv_natural_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type uβ} [CategoryTheory.Category.{w, uβ} D] (F : CategoryTheory.Functor C D) {A A' B B' : C} [CategoryTheory.Limits.HasBinaryProduct A B] [CategoryTheory.Limits.HasBinaryProduct A' B'] [CategoryTheory.Limits.HasBinaryProduct (F.obj A) (F.obj B)] [CategoryTheory.Limits.HasBinaryProduct (F.obj A') (F.obj B')] (f : A βΆ A') (g : B βΆ B') [CategoryTheory.IsIso (CategoryTheory.Limits.prodComparison F A B)] [CategoryTheory.IsIso (CategoryTheory.Limits.prodComparison F A' B')] {Z : D} (h : F.obj (A' β¨― B') βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.inv (CategoryTheory.Limits.prodComparison F A B)) (CategoryTheory.CategoryStruct.comp (F.map (CategoryTheory.Limits.prod.map f g)) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (F.map f) (F.map g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.inv (CategoryTheory.Limits.prodComparison F A' B')) h) - CategoryTheory.Limits.prod.associator_naturality_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] {Xβ Xβ Xβ Yβ Yβ Yβ : C} (fβ : Xβ βΆ Yβ) (fβ : Xβ βΆ Yβ) (fβ : Xβ βΆ Yβ) {Z : C} (h : Yβ β¨― Yβ β¨― Yβ βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.Limits.prod.map fβ fβ) fβ) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.associator Yβ Yβ Yβ).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.associator Xβ Xβ Xβ).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map fβ (CategoryTheory.Limits.prod.map fβ fβ)) h) - CategoryTheory.Limits.prod.pentagon π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] (W X Y Z : C) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.Limits.prod.associator W X Y).hom (CategoryTheory.CategoryStruct.id Z)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.associator W (X β¨― Y) Z).hom (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id W) (CategoryTheory.Limits.prod.associator X Y Z).hom)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.associator (W β¨― X) Y Z).hom (CategoryTheory.Limits.prod.associator W X (Y β¨― Z)).hom - CategoryTheory.Limits.prod.pentagon_assoc π Mathlib.CategoryTheory.Limits.Shapes.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] (W X Y Z : C) {Zβ : C} (h : W β¨― X β¨― Y β¨― Z βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.Limits.prod.associator W X Y).hom (CategoryTheory.CategoryStruct.id Z)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.associator W (X β¨― Y) Z).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id W) (CategoryTheory.Limits.prod.associator X Y Z).hom) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.associator (W β¨― X) Y Z).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.associator W X (Y β¨― Z)).hom h) - CategoryTheory.Limits.prod.map_epi π Mathlib.CategoryTheory.Limits.Shapes.BinaryBiproducts
{C : Type uC} [CategoryTheory.Category.{uC', uC} C] [CategoryTheory.Limits.HasZeroMorphisms C] {W X Y Z : C} (f : W βΆ Y) (g : X βΆ Z) [CategoryTheory.Epi f] [CategoryTheory.Epi g] [CategoryTheory.Limits.HasBinaryBiproduct W X] [CategoryTheory.Limits.HasBinaryBiproduct Y Z] : CategoryTheory.Epi (CategoryTheory.Limits.prod.map f g) - CategoryTheory.NonPreadditiveAbelian.Ο_comp π Mathlib.CategoryTheory.Abelian.NonPreadditive
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.NonPreadditiveAbelian C] {X Y : C} (f : X βΆ Y) : CategoryTheory.CategoryStruct.comp CategoryTheory.NonPreadditiveAbelian.Ο f = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f f) CategoryTheory.NonPreadditiveAbelian.Ο - CategoryTheory.NonPreadditiveAbelian.lift_map π Mathlib.CategoryTheory.Abelian.NonPreadditive
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.NonPreadditiveAbelian C] {X Y : C} (f : X βΆ Y) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.id X) 0) (CategoryTheory.Limits.prod.map f f) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.id Y) 0) - CategoryTheory.NonPreadditiveAbelian.lift_map_assoc π Mathlib.CategoryTheory.Abelian.NonPreadditive
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.NonPreadditiveAbelian C] {X Y : C} (f : X βΆ Y) {Z : C} (h : Y β¨― Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.id X) 0) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map f f) h) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.id Y) 0) h) - CategoryTheory.prodComonad_map π Mathlib.CategoryTheory.Monad.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] (X : C) [CategoryTheory.Limits.HasBinaryProducts C] {xβ xβΒΉ : C} (g : xβ βΆ xβΒΉ) : (CategoryTheory.prodComonad X).map g = CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id X) g - CategoryTheory.Over.star_map_left π Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] (X : C) [CategoryTheory.Limits.HasBinaryProducts C] {Xβ Yβ : C} (f : Xβ βΆ Yβ) : ((CategoryTheory.Over.star X).map f).left = CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id X) f - TopCat.embedding_prod_map π Mathlib.Topology.Category.TopCat.Limits.Products
{W X Y Z : TopCat} {f : W βΆ X} {g : Y βΆ Z} (hf : Topology.IsEmbedding β(CategoryTheory.ConcreteCategory.hom f)) (hg : Topology.IsEmbedding β(CategoryTheory.ConcreteCategory.hom g)) : Topology.IsEmbedding β(CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.prod.map f g)) - TopCat.inducing_prod_map π Mathlib.Topology.Category.TopCat.Limits.Products
{W X Y Z : TopCat} {f : W βΆ X} {g : Y βΆ Z} (hf : Topology.IsInducing β(CategoryTheory.ConcreteCategory.hom f)) (hg : Topology.IsInducing β(CategoryTheory.ConcreteCategory.hom g)) : Topology.IsInducing β(CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.prod.map f g)) - TopCat.isEmbedding_prodMap π Mathlib.Topology.Category.TopCat.Limits.Products
{W X Y Z : TopCat} {f : W βΆ X} {g : Y βΆ Z} (hf : Topology.IsEmbedding β(CategoryTheory.ConcreteCategory.hom f)) (hg : Topology.IsEmbedding β(CategoryTheory.ConcreteCategory.hom g)) : Topology.IsEmbedding β(CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.prod.map f g)) - TopCat.isInducing_prodMap π Mathlib.Topology.Category.TopCat.Limits.Products
{W X Y Z : TopCat} {f : W βΆ X} {g : Y βΆ Z} (hf : Topology.IsInducing β(CategoryTheory.ConcreteCategory.hom f)) (hg : Topology.IsInducing β(CategoryTheory.ConcreteCategory.hom g)) : Topology.IsInducing β(CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.prod.map f g)) - TopCat.range_prod_map π Mathlib.Topology.Category.TopCat.Limits.Products
{W X Y Z : TopCat} (f : W βΆ Y) (g : X βΆ Z) : Set.range β(CategoryTheory.ConcreteCategory.hom (CategoryTheory.Limits.prod.map f g)) = β(CategoryTheory.ConcreteCategory.hom CategoryTheory.Limits.prod.fst) β»ΒΉ' Set.range β(CategoryTheory.ConcreteCategory.hom f) β© β(CategoryTheory.ConcreteCategory.hom CategoryTheory.Limits.prod.snd) β»ΒΉ' Set.range β(CategoryTheory.ConcreteCategory.hom g) - CategoryTheory.Dial.instCategory_comp_F π Mathlib.CategoryTheory.Dialectica.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {xβ xβΒΉ xβΒ² : CategoryTheory.Dial C} (F : xβ.Hom xβΒΉ) (G : xβΒΉ.Hom xβΒ²) : (CategoryTheory.CategoryStruct.comp F G).F = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.lift CategoryTheory.Limits.prod.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map F.f (CategoryTheory.CategoryStruct.id xβΒ².tgt)) G.F)) F.F - CategoryTheory.Dial.isoMk π Mathlib.CategoryTheory.Dialectica.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : CategoryTheory.Dial C} (eβ : X.src β Y.src) (eβ : X.tgt β Y.tgt) (eq : X.rel = (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map eβ.hom eβ.hom)).obj Y.rel) : X β Y - CategoryTheory.Dial.isoMk_hom_f π Mathlib.CategoryTheory.Dialectica.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : CategoryTheory.Dial C} (eβ : X.src β Y.src) (eβ : X.tgt β Y.tgt) (eq : X.rel = (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map eβ.hom eβ.hom)).obj Y.rel) : (CategoryTheory.Dial.isoMk eβ eβ eq).hom.f = eβ.hom - CategoryTheory.Dial.isoMk_inv_f π Mathlib.CategoryTheory.Dialectica.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : CategoryTheory.Dial C} (eβ : X.src β Y.src) (eβ : X.tgt β Y.tgt) (eq : X.rel = (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map eβ.hom eβ.hom)).obj Y.rel) : (CategoryTheory.Dial.isoMk eβ eβ eq).inv.f = eβ.inv - CategoryTheory.Dial.isoMk_hom_F π Mathlib.CategoryTheory.Dialectica.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : CategoryTheory.Dial C} (eβ : X.src β Y.src) (eβ : X.tgt β Y.tgt) (eq : X.rel = (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map eβ.hom eβ.hom)).obj Y.rel) : (CategoryTheory.Dial.isoMk eβ eβ eq).hom.F = CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd eβ.inv - CategoryTheory.Dial.isoMk_inv_F π Mathlib.CategoryTheory.Dialectica.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : CategoryTheory.Dial C} (eβ : X.src β Y.src) (eβ : X.tgt β Y.tgt) (eq : X.rel = (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map eβ.hom eβ.hom)).obj Y.rel) : (CategoryTheory.Dial.isoMk eβ eβ eq).inv.F = CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd eβ.hom - CategoryTheory.Dial.Hom.le π Mathlib.CategoryTheory.Dialectica.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : CategoryTheory.Dial C} (self : X.Hom Y) : (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.lift CategoryTheory.Limits.prod.fst self.F)).obj X.rel β€ (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map self.f (CategoryTheory.CategoryStruct.id Y.tgt))).obj Y.rel - CategoryTheory.Dial.Hom.mk π Mathlib.CategoryTheory.Dialectica.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : CategoryTheory.Dial C} (f : X.src βΆ Y.src) (F : X.src β¨― Y.tgt βΆ X.tgt) (le : (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.lift CategoryTheory.Limits.prod.fst F)).obj X.rel β€ (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id Y.tgt))).obj Y.rel) : X.Hom Y - CategoryTheory.Dial.comp_le_lemma π Mathlib.CategoryTheory.Dialectica.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : CategoryTheory.Dial C} (F : X.Hom Y) (G : Y.Hom Z) : (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.lift CategoryTheory.Limits.prod.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.lift CategoryTheory.Limits.prod.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map F.f (CategoryTheory.CategoryStruct.id Z.tgt)) G.F)) F.F))).obj X.rel β€ (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.comp F.f G.f) (CategoryTheory.CategoryStruct.id Z.tgt))).obj Z.rel - CategoryTheory.Dial.Hom.mk.injEq π Mathlib.CategoryTheory.Dialectica.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : CategoryTheory.Dial C} (f : X.src βΆ Y.src) (F : X.src β¨― Y.tgt βΆ X.tgt) (le : (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.lift CategoryTheory.Limits.prod.fst F)).obj X.rel β€ (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id Y.tgt))).obj Y.rel) (fβ : X.src βΆ Y.src) (Fβ : X.src β¨― Y.tgt βΆ X.tgt) (leβ : (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.lift CategoryTheory.Limits.prod.fst Fβ)).obj X.rel β€ (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map fβ (CategoryTheory.CategoryStruct.id Y.tgt))).obj Y.rel) : ({ f := f, F := F, le := le } = { f := fβ, F := Fβ, le := leβ }) = (f = fβ β§ F = Fβ) - CategoryTheory.Dial.Hom.mk.sizeOf_spec π Mathlib.CategoryTheory.Dialectica.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : CategoryTheory.Dial C} [SizeOf C] (f : X.src βΆ Y.src) (F : X.src β¨― Y.tgt βΆ X.tgt) (le : (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.lift CategoryTheory.Limits.prod.fst F)).obj X.rel β€ (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id Y.tgt))).obj Y.rel) : sizeOf { f := f, F := F, le := le } = 1 + sizeOf f + sizeOf F + sizeOf le - CategoryTheory.Dial.instMonoidalCategoryStruct_whiskerLeft_f π Mathlib.CategoryTheory.Dialectica.Monoidal
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] (X xβ xβΒΉ : CategoryTheory.Dial C) (f : xβ βΆ xβΒΉ) : (CategoryTheory.MonoidalCategoryStruct.whiskerLeft X f).f = CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id X.src) f.f - CategoryTheory.Dial.instMonoidalCategoryStruct_whiskerRight_f π Mathlib.CategoryTheory.Dialectica.Monoidal
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {Xββ Xββ : CategoryTheory.Dial C} (f : Xββ βΆ Xββ) (Y : CategoryTheory.Dial C) : (CategoryTheory.MonoidalCategoryStruct.whiskerRight f Y).f = CategoryTheory.Limits.prod.map f.f (CategoryTheory.CategoryStruct.id Y.src) - CategoryTheory.Dial.tensorHom_f π Mathlib.CategoryTheory.Dialectica.Monoidal
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {Xβ Xβ Yβ Yβ : CategoryTheory.Dial C} (f : Xβ βΆ Xβ) (g : Yβ βΆ Yβ) : (CategoryTheory.Dial.tensorHom f g).f = CategoryTheory.Limits.prod.map f.f g.f - CategoryTheory.Dial.instMonoidalCategoryStruct_tensorHom_f π Mathlib.CategoryTheory.Dialectica.Monoidal
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {Xββ Yββ Xββ Yββ : CategoryTheory.Dial C} (f : Xββ βΆ Yββ) (g : Xββ βΆ Yββ) : (CategoryTheory.MonoidalCategoryStruct.tensorHom f g).f = CategoryTheory.Limits.prod.map f.f g.f - CategoryTheory.Dial.tensorHom_F π Mathlib.CategoryTheory.Dialectica.Monoidal
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {Xβ Xβ Yβ Yβ : CategoryTheory.Dial C} (f : Xβ βΆ Xβ) (g : Yβ βΆ Yβ) : (CategoryTheory.Dial.tensorHom f g).F = CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.fst CategoryTheory.Limits.prod.fst) f.F) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.snd CategoryTheory.Limits.prod.snd) g.F) - CategoryTheory.Dial.instMonoidalCategoryStruct_whiskerLeft_F π Mathlib.CategoryTheory.Dialectica.Monoidal
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] (X xβ xβΒΉ : CategoryTheory.Dial C) (f : xβ βΆ xβΒΉ) : (CategoryTheory.MonoidalCategoryStruct.whiskerLeft X f).F = CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd CategoryTheory.Limits.prod.fst) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.snd CategoryTheory.Limits.prod.snd) f.F) - CategoryTheory.Dial.instMonoidalCategoryStruct_whiskerRight_F π Mathlib.CategoryTheory.Dialectica.Monoidal
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {Xββ Xββ : CategoryTheory.Dial C} (f : Xββ βΆ Xββ) (Y : CategoryTheory.Dial C) : (CategoryTheory.MonoidalCategoryStruct.whiskerRight f Y).F = CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.fst CategoryTheory.Limits.prod.fst) f.F) (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd CategoryTheory.Limits.prod.snd) - CategoryTheory.Dial.instMonoidalCategoryStruct_tensorHom_F π Mathlib.CategoryTheory.Dialectica.Monoidal
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] {Xββ Yββ Xββ Yββ : CategoryTheory.Dial C} (f : Xββ βΆ Yββ) (g : Xββ βΆ Yββ) : (CategoryTheory.MonoidalCategoryStruct.tensorHom f g).F = CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.fst CategoryTheory.Limits.prod.fst) f.F) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.snd CategoryTheory.Limits.prod.snd) g.F) - CategoryTheory.Dial.tensorObj.eq_1 π Mathlib.CategoryTheory.Dialectica.Monoidal
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] (X Y : CategoryTheory.Dial C) : X.tensorObj Y = { src := X.src β¨― Y.src, tgt := X.tgt β¨― Y.tgt, rel := (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.fst CategoryTheory.Limits.prod.fst)).obj X.rel β (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.snd CategoryTheory.Limits.prod.snd)).obj Y.rel } - CategoryTheory.Dial.tensorObj_rel π Mathlib.CategoryTheory.Dialectica.Monoidal
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] (X Y : CategoryTheory.Dial C) : (X.tensorObj Y).rel = (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.fst CategoryTheory.Limits.prod.fst)).obj X.rel β (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.snd CategoryTheory.Limits.prod.snd)).obj Y.rel - CategoryTheory.Dial.instMonoidalCategoryStruct_tensorObj_rel π Mathlib.CategoryTheory.Dialectica.Monoidal
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasFiniteProducts C] [CategoryTheory.Limits.HasPullbacks C] (X Y : CategoryTheory.Dial C) : (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y).rel = (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.fst CategoryTheory.Limits.prod.fst)).obj X.rel β (CategoryTheory.Subobject.pullback (CategoryTheory.Limits.prod.map CategoryTheory.Limits.prod.snd CategoryTheory.Limits.prod.snd)).obj Y.rel - CategoryTheory.Limits.Pi.map_eq_prod_map π Mathlib.CategoryTheory.Limits.Shapes.PiProd
{C : Type u_1} {I : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] {X Y : I β C} (f : (i : I) β X i βΆ Y i) (P : I β Prop) [CategoryTheory.Limits.HasProduct X] [CategoryTheory.Limits.HasProduct Y] [CategoryTheory.Limits.HasProduct fun i => X βi] [CategoryTheory.Limits.HasProduct fun i => X βi] [CategoryTheory.Limits.HasProduct fun i => Y βi] [CategoryTheory.Limits.HasProduct fun i => Y βi] [(i : I) β Decidable (P i)] : CategoryTheory.Limits.Pi.map f = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.Pi.binaryFanOfPropIsLimit X P).conePointUniqueUpToIso (CategoryTheory.Limits.prodIsProd (βαΆ fun i => X βi) (βαΆ fun i => X βi))).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.map (CategoryTheory.Limits.Pi.map fun i => f βi) (CategoryTheory.Limits.Pi.map fun i => f βi)) ((CategoryTheory.Limits.Pi.binaryFanOfPropIsLimit Y P).conePointUniqueUpToIso (CategoryTheory.Limits.prodIsProd (βαΆ fun i => Y βi) (βαΆ fun i => Y βi))).inv) - CategoryTheory.monoidalOfHasFiniteProducts.whiskerLeft π Mathlib.CategoryTheory.Monoidal.OfHasFiniteProducts
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] (X : C) {Y Z : C} (f : Y βΆ Z) : CategoryTheory.MonoidalCategoryStruct.whiskerLeft X f = CategoryTheory.Limits.prod.map (CategoryTheory.CategoryStruct.id X) f - CategoryTheory.monoidalOfHasFiniteProducts.whiskerRight π Mathlib.CategoryTheory.Monoidal.OfHasFiniteProducts
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] {X Y : C} (f : X βΆ Y) (Z : C) : CategoryTheory.MonoidalCategoryStruct.whiskerRight f Z = CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id Z) - CategoryTheory.monoidalOfHasFiniteProducts.tensorHom π Mathlib.CategoryTheory.Monoidal.OfHasFiniteProducts
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasBinaryProducts C] {W X Y Z : C} (f : W βΆ X) (g : Y βΆ Z) : CategoryTheory.MonoidalCategoryStruct.tensorHom f g = CategoryTheory.Limits.prod.map f g
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. 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 ?a
If 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 ?b
By 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_tsum
even though the hypothesisf i < g i
is not the last.
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.
This is Loogle revision 19971e9
serving mathlib revision 40fea08