Loogle!
Result
Found 140 declarations mentioning CategoryTheory.CommSq.
- CategoryTheory.CommSq 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} (f : W ⟶ X) (g : W ⟶ Y) (h : X ⟶ Z) (i : Y ⟶ Z) : Prop - CategoryTheory.CommSq.HasLift 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) : Prop - CategoryTheory.CommSq.LiftStruct 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) : Type v_1 - CategoryTheory.CommSq.of_arrow 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {f g : CategoryTheory.Arrow C} (h : f ⟶ g) : CategoryTheory.CommSq f.hom (CategoryTheory.Arrow.Hom.left h) (CategoryTheory.Arrow.Hom.right h) g.hom - CategoryTheory.CommSq.eq_of_epi 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y : C} {f : W ⟶ X} {h i : X ⟶ Y} [CategoryTheory.Epi f] (sq : CategoryTheory.CommSq f f h i) : h = i - CategoryTheory.CommSq.eq_of_mono 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y : C} {f g : W ⟶ X} {i : X ⟶ Y} [CategoryTheory.Mono i] (sq : CategoryTheory.CommSq f g i i) : f = g - CategoryTheory.CommSq.flip 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (p : CategoryTheory.CommSq f g h i) : CategoryTheory.CommSq g f i h - CategoryTheory.CommSq.subsingleton_liftStruct_of_epi 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) [CategoryTheory.Epi i] : Subsingleton sq.LiftStruct - CategoryTheory.CommSq.subsingleton_liftStruct_of_mono 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : X ⟶ A} {i : B ⟶ A} {p : Y ⟶ X} {g : Y ⟶ B} (sq : CategoryTheory.CommSq g p i f) [CategoryTheory.Mono i] : Subsingleton sq.LiftStruct - CategoryTheory.CommSq.lift 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) [hsq : sq.HasLift] : B ⟶ X - CategoryTheory.CommSq.LiftStruct.l 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} (self : sq.LiftStruct) : B ⟶ X - CategoryTheory.CommSq.horiz_inv 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {g : W ⟶ Y} {h : X ⟶ Z} {f : W ≅ X} {i : Y ≅ Z} (p : CategoryTheory.CommSq f.hom g h i.hom) : CategoryTheory.CommSq f.inv h g i.inv - CategoryTheory.CommSq.vert_inv 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {i : Y ⟶ Z} {g : W ≅ Y} {h : X ≅ Z} (p : CategoryTheory.CommSq f g.hom h.hom i) : CategoryTheory.CommSq i g.inv h.inv f - CategoryTheory.CommSq.HasLift.mk' 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} (l : sq.LiftStruct) : sq.HasLift - CategoryTheory.CommSq.HasLift.exists_lift 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} [self : sq.HasLift] : Nonempty sq.LiftStruct - CategoryTheory.CommSq.HasLift.mk 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} (exists_lift : Nonempty sq.LiftStruct) : sq.HasLift - CategoryTheory.CommSq.HasLift.iff 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) : sq.HasLift ↔ Nonempty sq.LiftStruct - CategoryTheory.CommSq.w 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (self : CategoryTheory.CommSq f g h i) : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g i - CategoryTheory.CommSq.w' 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (self : CategoryTheory.CommSq f g h i) : CategoryTheory.CategoryStruct.comp g i = CategoryTheory.CategoryStruct.comp f h - CategoryTheory.CommSq.mk 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g i := by cat_disch) : CategoryTheory.CommSq f g h i - CategoryTheory.CommSq.mk' 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (w : CategoryTheory.CategoryStruct.comp g i = CategoryTheory.CategoryStruct.comp f h := by cat_disch) : CategoryTheory.CommSq f g h i - CategoryTheory.CommSq.fac_left 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) [hsq : sq.HasLift] : CategoryTheory.CategoryStruct.comp i sq.lift = f - CategoryTheory.CommSq.fac_right 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : X ⟶ A} {i : B ⟶ A} {p : Y ⟶ X} {g : Y ⟶ B} (sq : CategoryTheory.CommSq g p i f) [hsq : sq.HasLift] : CategoryTheory.CategoryStruct.comp sq.lift i = f - CategoryTheory.CommSq.LiftStruct.fac_left 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} (self : sq.LiftStruct) : CategoryTheory.CategoryStruct.comp i self.l = f - CategoryTheory.CommSq.LiftStruct.fac_right 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} (self : sq.LiftStruct) : CategoryTheory.CategoryStruct.comp self.l p = g - CategoryTheory.CommSq.op 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (p : CategoryTheory.CommSq f g h i) : CategoryTheory.CommSq i.op h.op g.op f.op - CategoryTheory.CommSq.w_assoc 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (self : CategoryTheory.CommSq f g h i) {Z✝ : C} (h✝ : Z ⟶ Z✝) : CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp h h✝) = CategoryTheory.CategoryStruct.comp g (CategoryTheory.CategoryStruct.comp i h✝) - CategoryTheory.CommSq.LiftStruct.mk 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} (l : B ⟶ X) (fac_left : CategoryTheory.CategoryStruct.comp i l = f := by cat_disch) (fac_right : CategoryTheory.CategoryStruct.comp l p = g := by cat_disch) : sq.LiftStruct - CategoryTheory.CommSq.horiz_comp 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X X' Y Z Z' : C} {f : W ⟶ X} {f' : X ⟶ X'} {g : W ⟶ Y} {h : X ⟶ Z} {h' : X' ⟶ Z'} {i : Y ⟶ Z} {i' : Z ⟶ Z'} (hsq₁ : CategoryTheory.CommSq f g h i) (hsq₂ : CategoryTheory.CommSq f' h h' i') : CategoryTheory.CommSq (CategoryTheory.CategoryStruct.comp f f') g h' (CategoryTheory.CategoryStruct.comp i i') - CategoryTheory.CommSq.vert_comp 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Y' Z Z' : C} {f : W ⟶ X} {g : W ⟶ Y} {g' : Y ⟶ Y'} {h : X ⟶ Z} {h' : Z ⟶ Z'} {i : Y ⟶ Z} {i' : Y' ⟶ Z'} (hsq₁ : CategoryTheory.CommSq f g h i) (hsq₂ : CategoryTheory.CommSq i g' h' i') : CategoryTheory.CommSq f (CategoryTheory.CategoryStruct.comp g g') (CategoryTheory.CategoryStruct.comp h h') i' - CategoryTheory.CommSq.fac_left_assoc 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) [hsq : sq.HasLift] {Z : C} (h : X ⟶ Z) : CategoryTheory.CategoryStruct.comp i (CategoryTheory.CategoryStruct.comp sq.lift h) = CategoryTheory.CategoryStruct.comp f h - CategoryTheory.CommSq.fac_right_assoc 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : X ⟶ A} {i : B ⟶ A} {p : Y ⟶ X} {g : Y ⟶ B} (sq : CategoryTheory.CommSq g p i f) [hsq : sq.HasLift] {Z : C} (h : A ⟶ Z) : CategoryTheory.CategoryStruct.comp sq.lift (CategoryTheory.CategoryStruct.comp i h) = CategoryTheory.CategoryStruct.comp f h - CategoryTheory.CommSq.unop 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : Cᵒᵖ} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (p : CategoryTheory.CommSq f g h i) : CategoryTheory.CommSq i.unop h.unop g.unop f.unop - CategoryTheory.CommSq.map 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (s : CategoryTheory.CommSq f g h i) : CategoryTheory.CommSq (F.map f) (F.map g) (F.map h) (F.map i) - CategoryTheory.Functor.map_commSq 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] (F : CategoryTheory.Functor C D) {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (s : CategoryTheory.CommSq f g h i) : CategoryTheory.CommSq (F.map f) (F.map g) (F.map h) (F.map i) - CategoryTheory.CommSq.LiftStruct.ext 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} {x y : sq.LiftStruct} (l : x.l = y.l) : x = y - CategoryTheory.CommSq.LiftStruct.ext_iff 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} {x y : sq.LiftStruct} : x = y ↔ x.l = y.l - CategoryTheory.CommSq.LiftStruct.op 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} (l : sq.LiftStruct) : ⋯.LiftStruct - CategoryTheory.CommSq.HasLift.iff_op 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) : sq.HasLift ↔ ⋯.HasLift - CategoryTheory.CommSq.LiftStruct.opEquiv 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) : sq.LiftStruct ≃ ⋯.LiftStruct - CategoryTheory.CommSq.LiftStruct.unop 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : Cᵒᵖ} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} (l : sq.LiftStruct) : ⋯.LiftStruct - CategoryTheory.CommSq.HasLift.iff_unop 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : Cᵒᵖ} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) : sq.HasLift ↔ ⋯.HasLift - CategoryTheory.CommSq.LiftStruct.unopEquiv 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : Cᵒᵖ} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) : sq.LiftStruct ≃ ⋯.LiftStruct - CategoryTheory.CommSq.LiftStruct.op_l 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} (l : sq.LiftStruct) : l.op.l = l.l.op - CategoryTheory.CommSq.LiftStruct.unop_l 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : Cᵒᵖ} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} {sq : CategoryTheory.CommSq f i p g} (l : sq.LiftStruct) : l.unop.l = l.l.unop - CategoryTheory.CommSq.LiftStruct.opEquiv_apply 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) (l : sq.LiftStruct) : (CategoryTheory.CommSq.LiftStruct.opEquiv sq) l = l.op - CategoryTheory.CommSq.LiftStruct.unopEquiv_apply 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : Cᵒᵖ} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) (l : sq.LiftStruct) : (CategoryTheory.CommSq.LiftStruct.unopEquiv sq) l = l.unop - CategoryTheory.CommSq.LiftStruct.opEquiv_symm_apply 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) (l : ⋯.LiftStruct) : (CategoryTheory.CommSq.LiftStruct.opEquiv sq).symm l = l.unop - CategoryTheory.CommSq.LiftStruct.unopEquiv_symm_apply 📋 Mathlib.CategoryTheory.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : Cᵒᵖ} {f : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) (l : ⋯.LiftStruct) : (CategoryTheory.CommSq.LiftStruct.unopEquiv sq).symm l = l.op - CategoryTheory.CommSq.cube_lemma_of_epi 📋 Mathlib.CategoryTheory.EpiMono
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {M000 M001 M010 M011 M100 M101 M110 M111 : C} (f00x : M000 ⟶ M001) (f01x : M010 ⟶ M011) (f10x : M100 ⟶ M101) (f11x : M110 ⟶ M111) (f0x0 : M000 ⟶ M010) (f0x1 : M001 ⟶ M011) (f1x0 : M100 ⟶ M110) (f1x1 : M101 ⟶ M111) (fx00 : M000 ⟶ M100) (fx01 : M001 ⟶ M101) (fx10 : M010 ⟶ M110) (fx11 : M011 ⟶ M111) (h0xx : CategoryTheory.CommSq f0x0 f00x f01x f0x1) (h1xx : CategoryTheory.CommSq f1x0 f10x f11x f1x1) (hx0x : CategoryTheory.CommSq fx00 f00x f10x fx01) (hx1x : CategoryTheory.CommSq fx10 f01x f11x fx11) (hxx0 : CategoryTheory.CommSq f0x0 fx00 fx10 f1x0) [CategoryTheory.Epi f00x] : CategoryTheory.CommSq f0x1 fx01 fx11 f1x1 - CategoryTheory.CommSq.cube_lemma_of_mono 📋 Mathlib.CategoryTheory.EpiMono
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {M000 M001 M010 M011 M100 M101 M110 M111 : C} (f00x : M000 ⟶ M001) (f01x : M010 ⟶ M011) (f10x : M100 ⟶ M101) (f11x : M110 ⟶ M111) (f0x0 : M000 ⟶ M010) (f0x1 : M001 ⟶ M011) (f1x0 : M100 ⟶ M110) (f1x1 : M101 ⟶ M111) (fx00 : M000 ⟶ M100) (fx01 : M001 ⟶ M101) (fx10 : M010 ⟶ M110) (fx11 : M011 ⟶ M111) (h0xx : CategoryTheory.CommSq f0x0 f00x f01x f0x1) (h1xx : CategoryTheory.CommSq f1x0 f10x f11x f1x1) (hx0x : CategoryTheory.CommSq fx00 f00x f10x fx01) (hx1x : CategoryTheory.CommSq fx10 f01x f11x fx11) (hxx1 : CategoryTheory.CommSq f0x1 fx01 fx11 f1x1) [CategoryTheory.Mono f11x] : CategoryTheory.CommSq f0x0 fx00 fx10 f1x0 - CategoryTheory.sq_hasLift_of_hasLiftingProperty 📋 Mathlib.CategoryTheory.LiftingProperties.Basic
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} (i : A ⟶ B) (p : X ⟶ Y) {f : A ⟶ X} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) [hip : CategoryTheory.HasLiftingProperty i p] : sq.HasLift - CategoryTheory.HasLiftingProperty.mk 📋 Mathlib.CategoryTheory.LiftingProperties.Basic
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {A B X Y : C} {i : A ⟶ B} {p : X ⟶ Y} (sq_hasLift : ∀ {f : A ⟶ X} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g), sq.HasLift) : CategoryTheory.HasLiftingProperty i p - CategoryTheory.HasLiftingProperty.sq_hasLift 📋 Mathlib.CategoryTheory.LiftingProperties.Basic
{C : Type u_1} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {A B X Y : C} {i : A ⟶ B} {p : X ⟶ Y} [self : CategoryTheory.HasLiftingProperty i p] {f : A ⟶ X} {g : B ⟶ Y} (sq : CategoryTheory.CommSq f i p g) : sq.HasLift - CategoryTheory.StrongEpi.mk' 📋 Mathlib.CategoryTheory.Limits.Shapes.StrongEpi
{C : Type u} [CategoryTheory.Category.{v, u} C] {P Q : C} {f : P ⟶ Q} [CategoryTheory.Epi f] (hf : ∀ (X Y : C) (z : X ⟶ Y), CategoryTheory.Mono z → ∀ (u : P ⟶ X) (v : Q ⟶ Y) (sq : CategoryTheory.CommSq u f z v), sq.HasLift) : CategoryTheory.StrongEpi f - CategoryTheory.StrongMono.mk' 📋 Mathlib.CategoryTheory.Limits.Shapes.StrongEpi
{C : Type u} [CategoryTheory.Category.{v, u} C] {P Q : C} {f : Q ⟶ P} [CategoryTheory.Mono f] (hf : ∀ (Y X : C) (z : Y ⟶ X), CategoryTheory.Epi z → ∀ (v : Y ⟶ Q) (u : X ⟶ P) (sq : CategoryTheory.CommSq v z f u), sq.HasLift) : CategoryTheory.StrongMono f - CategoryTheory.CommSq.left_adjoint 📋 Mathlib.CategoryTheory.LiftingProperties.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {G : CategoryTheory.Functor C D} {F : CategoryTheory.Functor D C} {A B : C} {X Y : D} {i : B ⟶ A} {p : Y ⟶ X} {u : X ⟶ G.obj A} {v : Y ⟶ G.obj B} (sq : CategoryTheory.CommSq v p (G.map i) u) (adj : F ⊣ G) : CategoryTheory.CommSq ((adj.homEquiv' B Y) v) (F.map p) i ((adj.homEquiv' A X) u) - CategoryTheory.CommSq.right_adjoint 📋 Mathlib.CategoryTheory.LiftingProperties.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {G : CategoryTheory.Functor C D} {F : CategoryTheory.Functor D C} {A B : C} {X Y : D} {i : A ⟶ B} {p : X ⟶ Y} {u : G.obj A ⟶ X} {v : G.obj B ⟶ Y} (sq : CategoryTheory.CommSq u (G.map i) p v) (adj : G ⊣ F) : CategoryTheory.CommSq ((adj.homEquiv A X) u) i (F.map p) ((adj.homEquiv B Y) v) - CategoryTheory.CommSq.instHasLiftLeftAdjoin 📋 Mathlib.CategoryTheory.LiftingProperties.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {G : CategoryTheory.Functor C D} {F : CategoryTheory.Functor D C} {A B : C} {X Y : D} {i : B ⟶ A} {p : Y ⟶ X} {u : X ⟶ G.obj A} {v : Y ⟶ G.obj B} (sq : CategoryTheory.CommSq v p (G.map i) u) (adj : F ⊣ G) [sq.HasLift] : ⋯.HasLift - CategoryTheory.CommSq.instHasLiftRightAdjoin 📋 Mathlib.CategoryTheory.LiftingProperties.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {G : CategoryTheory.Functor C D} {F : CategoryTheory.Functor D C} {A B : C} {X Y : D} {i : A ⟶ B} {p : X ⟶ Y} {u : G.obj A ⟶ X} {v : G.obj B ⟶ Y} (sq : CategoryTheory.CommSq u (G.map i) p v) (adj : G ⊣ F) [sq.HasLift] : ⋯.HasLift - CategoryTheory.CommSq.leftAdjointLiftStructEquiv 📋 Mathlib.CategoryTheory.LiftingProperties.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {G : CategoryTheory.Functor C D} {F : CategoryTheory.Functor D C} {A B : C} {X Y : D} {i : B ⟶ A} {p : Y ⟶ X} {u : X ⟶ G.obj A} {v : Y ⟶ G.obj B} (sq : CategoryTheory.CommSq v p (G.map i) u) (adj : F ⊣ G) : sq.LiftStruct ≃ ⋯.LiftStruct - CategoryTheory.CommSq.left_adjoint_hasLift_iff 📋 Mathlib.CategoryTheory.LiftingProperties.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {G : CategoryTheory.Functor C D} {F : CategoryTheory.Functor D C} {A B : C} {X Y : D} {i : B ⟶ A} {p : Y ⟶ X} {u : X ⟶ G.obj A} {v : Y ⟶ G.obj B} (sq : CategoryTheory.CommSq v p (G.map i) u) (adj : F ⊣ G) : ⋯.HasLift ↔ sq.HasLift - CategoryTheory.CommSq.rightAdjointLiftStructEquiv 📋 Mathlib.CategoryTheory.LiftingProperties.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {G : CategoryTheory.Functor C D} {F : CategoryTheory.Functor D C} {A B : C} {X Y : D} {i : A ⟶ B} {p : X ⟶ Y} {u : G.obj A ⟶ X} {v : G.obj B ⟶ Y} (sq : CategoryTheory.CommSq u (G.map i) p v) (adj : G ⊣ F) : sq.LiftStruct ≃ ⋯.LiftStruct - CategoryTheory.CommSq.right_adjoint_hasLift_iff 📋 Mathlib.CategoryTheory.LiftingProperties.Adjunction
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {G : CategoryTheory.Functor C D} {F : CategoryTheory.Functor D C} {A B : C} {X Y : D} {i : A ⟶ B} {p : X ⟶ Y} {u : G.obj A ⟶ X} {v : G.obj B ⟶ Y} (sq : CategoryTheory.CommSq u (G.map i) p v) (adj : G ⊣ F) : ⋯.HasLift ↔ sq.HasLift - CategoryTheory.CommSq.cocone 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (s : CategoryTheory.CommSq f g h i) : CategoryTheory.Limits.PushoutCocone f g - CategoryTheory.CommSq.cone 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (s : CategoryTheory.CommSq f g h i) : CategoryTheory.Limits.PullbackCone h i - CategoryTheory.CommSq.cocone_inl 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (s : CategoryTheory.CommSq f g h i) : s.cocone.inl = h - CategoryTheory.CommSq.cocone_inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (s : CategoryTheory.CommSq f g h i) : s.cocone.inr = i - CategoryTheory.CommSq.cone_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (s : CategoryTheory.CommSq f g h i) : s.cone.fst = f - CategoryTheory.CommSq.cone_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (s : CategoryTheory.CommSq f g h i) : s.cone.snd = g - CategoryTheory.CommSq.coconeOp 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (p : CategoryTheory.CommSq f g h i) : p.cocone.op ≅ ⋯.cone - CategoryTheory.CommSq.coneOp 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (p : CategoryTheory.CommSq f g h i) : p.cone.op ≅ ⋯.cocone - CategoryTheory.CommSq.coconeUnop 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : Cᵒᵖ} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (p : CategoryTheory.CommSq f g h i) : p.cocone.unop ≅ ⋯.cone - CategoryTheory.CommSq.coneUnop 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : Cᵒᵖ} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (p : CategoryTheory.CommSq f g h i) : p.cone.unop ≅ ⋯.cocone - CategoryTheory.IsPullback.toCommSq 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (self : CategoryTheory.IsPullback fst snd f g) : CategoryTheory.CommSq fst snd f g - CategoryTheory.IsPushout.toCommSq 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (self : CategoryTheory.IsPushout f g inl inr) : CategoryTheory.CommSq f g inl inr - CategoryTheory.IsPullback.of_isLimit' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (w : CategoryTheory.CommSq fst snd f g) (h : CategoryTheory.Limits.IsLimit w.cone) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPushout.of_isColimit' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (w : CategoryTheory.CommSq f g inl inr) (h : CategoryTheory.Limits.IsColimit w.cocone) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPullback.mk 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (toCommSq : CategoryTheory.CommSq fst snd f g) (isLimit' : Nonempty (CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.PullbackCone.mk fst snd ⋯))) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPushout.mk 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (toCommSq : CategoryTheory.CommSq f g inl inr) (isColimit' : Nonempty (CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk inl inr ⋯))) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPullback.of_horiz_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} [CategoryTheory.IsIso fst] [CategoryTheory.IsIso g] (sq : CategoryTheory.CommSq fst snd f g) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPullback.of_horiz_isIso_mono 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} [CategoryTheory.IsIso fst] [CategoryTheory.Mono g] (sq : CategoryTheory.CommSq fst snd f g) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPullback.of_vert_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} [CategoryTheory.IsIso snd] [CategoryTheory.IsIso f] (sq : CategoryTheory.CommSq fst snd f g) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPullback.of_vert_isIso_mono 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} [CategoryTheory.IsIso snd] [CategoryTheory.Mono f] (sq : CategoryTheory.CommSq fst snd f g) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPushout.of_horiz_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} [CategoryTheory.IsIso f] [CategoryTheory.IsIso inr] (sq : CategoryTheory.CommSq f g inl inr) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPushout.of_horiz_isIso_epi 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} [CategoryTheory.Epi f] [CategoryTheory.IsIso inr] (sq : CategoryTheory.CommSq f g inl inr) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPushout.of_vert_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} [CategoryTheory.IsIso g] [CategoryTheory.IsIso inl] (sq : CategoryTheory.CommSq f g inl inr) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPushout.of_vert_isIso_epi 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} [CategoryTheory.Epi g] [CategoryTheory.IsIso inl] (sq : CategoryTheory.CommSq f g inl inr) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPullback.of_iso_pullback 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (h : CategoryTheory.CommSq fst snd f g) [CategoryTheory.Limits.HasPullback f g] (i : P ≅ CategoryTheory.Limits.pullback f g) (w₁ : CategoryTheory.CategoryStruct.comp i.hom (CategoryTheory.Limits.pullback.fst f g) = fst) (w₂ : CategoryTheory.CategoryStruct.comp i.hom (CategoryTheory.Limits.pullback.snd f g) = snd) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPushout.of_iso_pushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (h : CategoryTheory.CommSq f g inl inr) [CategoryTheory.Limits.HasPushout f g] (i : P ≅ CategoryTheory.Limits.pushout f g) (w₁ : CategoryTheory.CategoryStruct.comp inl i.hom = CategoryTheory.Limits.pushout.inl f g) (w₂ : CategoryTheory.CategoryStruct.comp inr i.hom = CategoryTheory.Limits.pushout.inr f g) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.MonoOver.commSqOfHasStrongEpiMonoFactorisation 📋 Mathlib.CategoryTheory.Subobject.MonoOver
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Y : C} [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Limits.HasStrongEpiMonoFactorisations C] {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (CategoryTheory.MonoOver Y)) (c : CategoryTheory.Limits.Cocone F) : CategoryTheory.CommSq (CategoryTheory.Limits.Sigma.desc fun i => CategoryTheory.Over.Hom.left (c.ι.app i).hom) (CategoryTheory.MonoOver.strongEpiMonoFactorisationSigmaDesc F).e c.pt.arrow (CategoryTheory.MonoOver.strongEpiMonoFactorisationSigmaDesc F).m - CategoryTheory.IsPushout.isVanKampen_iff' 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} {H : CategoryTheory.IsPushout f g h i} : H.IsVanKampen ↔ ∀ ⦃X' Y' Z' : C⦄ (h' : X' ⟶ Z') (i' : Y' ⟶ Z') (αX : X' ⟶ X) (αY : Y' ⟶ Y) (αZ : Z' ⟶ Z), CategoryTheory.CommSq h' αX αZ h → CategoryTheory.CommSq i' αY αZ i → ∀ [CategoryTheory.Limits.HasPullback αX f], CategoryTheory.IsPullback h' αX αZ h ∧ CategoryTheory.IsPullback i' αY αZ i ↔ ∃ W' f' g' αW, CategoryTheory.IsPullback f' αW αX f ∧ CategoryTheory.IsPullback g' αW αY g ∧ CategoryTheory.IsPushout f' g' h' i' - CategoryTheory.is_coprod_iff_isPushout 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {X E Y YE : C} (c : CategoryTheory.Limits.BinaryCofan X E) (hc : CategoryTheory.Limits.IsColimit c) {f : X ⟶ Y} {iY : Y ⟶ YE} {fE : c.pt ⟶ YE} (H : CategoryTheory.CommSq f c.inl iY fE) : Nonempty (CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk (CategoryTheory.CategoryStruct.comp c.inr fE) iY)) ↔ CategoryTheory.IsPushout f c.inl iY fE - CategoryTheory.CommSq.toLoc 📋 Mathlib.CategoryTheory.Bicategory.LocallyDiscrete
{C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] {X₁ X₂ X₃ X₄ : C} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (h : CategoryTheory.CommSq t l r b) : CategoryTheory.CommSq t.toLoc l.toLoc r.toLoc b.toLoc - CategoryTheory.IsCardinalPresentable.exists_commSq_of_isColimit 📋 Mathlib.CategoryTheory.Presentable.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (κ : Cardinal.{w}) [Fact κ.IsRegular] {J : Type u_2} [CategoryTheory.Category.{v_2, u_2} J] [CategoryTheory.EssentiallySmall.{w, v_2, u_2} J] [CategoryTheory.IsCardinalFiltered J κ] {X Y : CategoryTheory.Functor J C} (f : X ⟶ Y) {c₁ : CategoryTheory.Limits.Cocone X} {c₂ : CategoryTheory.Limits.Cocone Y} (hc₁ : CategoryTheory.Limits.IsColimit c₁) (hc₂ : CategoryTheory.Limits.IsColimit c₂) (f' : c₁.pt ⟶ c₂.pt) (hf' : ∀ (j : J), CategoryTheory.CategoryStruct.comp (c₁.ι.app j) f' = CategoryTheory.CategoryStruct.comp (f.app j) (c₂.ι.app j)) ⦃X' Y' : C⦄ ⦃t : X' ⟶ Y'⦄ ⦃l : X' ⟶ c₁.pt⦄ ⦃r : Y' ⟶ c₂.pt⦄ [CategoryTheory.IsCardinalPresentable X' κ] [CategoryTheory.IsCardinalPresentable Y' κ] (sq : CategoryTheory.CommSq t l r f') : ∃ j l' r', CategoryTheory.CategoryStruct.comp l' (c₁.ι.app j) = l ∧ CategoryTheory.CategoryStruct.comp r' (c₂.ι.app j) = r ∧ CategoryTheory.CommSq t l' r' (f.app j) - CategoryTheory.CommSq.shortComplex 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {f : X₁ ⟶ X₂} {g : X₁ ⟶ X₃} {inl : X₂ ⟶ X₄} {inr : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq f g inl inr) : CategoryTheory.ShortComplex C - CategoryTheory.CommSq.shortComplex' 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {fst : X₁ ⟶ X₂} {snd : X₁ ⟶ X₃} {f : X₂ ⟶ X₄} {g : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq fst snd f g) : CategoryTheory.ShortComplex C - CategoryTheory.CommSq.shortComplex'_X₁ 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {fst : X₁ ⟶ X₂} {snd : X₁ ⟶ X₃} {f : X₂ ⟶ X₄} {g : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq fst snd f g) : sq.shortComplex'.X₁ = X₁ - CategoryTheory.CommSq.shortComplex'_X₃ 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {fst : X₁ ⟶ X₂} {snd : X₁ ⟶ X₃} {f : X₂ ⟶ X₄} {g : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq fst snd f g) : sq.shortComplex'.X₃ = X₄ - CategoryTheory.CommSq.shortComplex_X₁ 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {f : X₁ ⟶ X₂} {g : X₁ ⟶ X₃} {inl : X₂ ⟶ X₄} {inr : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq f g inl inr) : sq.shortComplex.X₁ = X₁ - CategoryTheory.CommSq.shortComplex_X₃ 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {f : X₁ ⟶ X₂} {g : X₁ ⟶ X₃} {inl : X₂ ⟶ X₄} {inr : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq f g inl inr) : sq.shortComplex.X₃ = X₄ - CategoryTheory.CommSq.shortComplex'_X₂ 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {fst : X₁ ⟶ X₂} {snd : X₁ ⟶ X₃} {f : X₂ ⟶ X₄} {g : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq fst snd f g) : sq.shortComplex'.X₂ = (X₂ ⊞ X₃) - CategoryTheory.CommSq.shortComplex_X₂ 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {f : X₁ ⟶ X₂} {g : X₁ ⟶ X₃} {inl : X₂ ⟶ X₄} {inr : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq f g inl inr) : sq.shortComplex.X₂ = (X₂ ⊞ X₃) - CategoryTheory.CommSq.shortComplex'_f 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {fst : X₁ ⟶ X₂} {snd : X₁ ⟶ X₃} {f : X₂ ⟶ X₄} {g : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq fst snd f g) : sq.shortComplex'.f = CategoryTheory.Limits.biprod.lift fst snd - CategoryTheory.CommSq.shortComplex_g 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {f : X₁ ⟶ X₂} {g : X₁ ⟶ X₃} {inl : X₂ ⟶ X₄} {inr : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq f g inl inr) : sq.shortComplex.g = CategoryTheory.Limits.biprod.desc inl inr - CategoryTheory.CommSq.cokernelCofork 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {f : X₁ ⟶ X₂} {g : X₁ ⟶ X₃} {inl : X₂ ⟶ X₄} {inr : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq f g inl inr) : CategoryTheory.Limits.CokernelCofork (CategoryTheory.Limits.biprod.lift f (-g)) - CategoryTheory.CommSq.kernelFork 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {fst : X₁ ⟶ X₂} {snd : X₁ ⟶ X₃} {f : X₂ ⟶ X₄} {g : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq fst snd f g) : CategoryTheory.Limits.KernelFork (CategoryTheory.Limits.biprod.desc f (-g)) - CategoryTheory.CommSq.shortComplex'_g 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {fst : X₁ ⟶ X₂} {snd : X₁ ⟶ X₃} {f : X₂ ⟶ X₄} {g : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq fst snd f g) : sq.shortComplex'.g = CategoryTheory.Limits.biprod.desc f (-g) - CategoryTheory.CommSq.shortComplex_f 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {f : X₁ ⟶ X₂} {g : X₁ ⟶ X₃} {inl : X₂ ⟶ X₄} {inr : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq f g inl inr) : sq.shortComplex.f = CategoryTheory.Limits.biprod.lift f (-g) - CategoryTheory.CommSq.isColimitEquivIsColimitCokernelCofork 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {f : X₁ ⟶ X₂} {g : X₁ ⟶ X₃} {inl : X₂ ⟶ X₄} {inr : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq f g inl inr) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk inl inr ⋯) ≃ CategoryTheory.Limits.IsColimit sq.cokernelCofork - CategoryTheory.CommSq.isLimitEquivIsLimitKernelFork 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {fst : X₁ ⟶ X₂} {snd : X₁ ⟶ X₃} {f : X₂ ⟶ X₄} {g : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq fst snd f g) : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.PullbackCone.mk fst snd ⋯) ≃ CategoryTheory.Limits.IsLimit sq.kernelFork - CochainComplex.Lifting.cochain₀ 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) : CochainComplex.HomComplex.Cochain B X 0 - CochainComplex.Lifting.cocycle₁' 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) : CochainComplex.HomComplex.Cocycle B X 1 - CochainComplex.Lifting.coe_cocycle₁'_v_comp_eq_zero 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) (n m : ℤ) (hnm : n + 1 = m := by lia) : CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.Lifting.cocycle₁' sq hsq)).v n m hnm) (p.f m) = 0 - CochainComplex.Lifting.comp_coe_cocyle₁'_v_eq_zero 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) (n m : ℤ) (hnm : n + 1 = m := by lia) : CategoryTheory.CategoryStruct.comp (i.f n) ((↑(CochainComplex.Lifting.cocycle₁' sq hsq)).v n m hnm) = 0 - CochainComplex.Lifting.coe_cocycle₁'_v_comp_eq_zero_assoc 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) (n m : ℤ) (hnm : n + 1 = m := by lia) {Z : C} (h : Y.X m ⟶ Z) : CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.Lifting.cocycle₁' sq hsq)).v n m hnm) (CategoryTheory.CategoryStruct.comp (p.f m) h) = CategoryTheory.CategoryStruct.comp 0 h - CochainComplex.Lifting.comp_coe_cocyle₁'_v_eq_zero_assoc 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) (n m : ℤ) (hnm : n + 1 = m := by lia) {Z : C} (h : X.X m ⟶ Z) : CategoryTheory.CategoryStruct.comp (i.f n) (CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.Lifting.cocycle₁' sq hsq)).v n m hnm) h) = CategoryTheory.CategoryStruct.comp 0 h - CochainComplex.Lifting.cochain₁ 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) {Q : CochainComplex C ℤ} {π : B ⟶ Q} {hπ : CategoryTheory.CategoryStruct.comp i π = 0} (hQ : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.CokernelCofork.ofπ π hπ)) {K : CochainComplex C ℤ} {ι : K ⟶ X} {hι : CategoryTheory.CategoryStruct.comp ι p = 0} (hK : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι ι hι)) : CochainComplex.HomComplex.Cochain Q K 1 - CochainComplex.Lifting.cocycle₁ 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) {Q : CochainComplex C ℤ} {π : B ⟶ Q} {hπ : CategoryTheory.CategoryStruct.comp i π = 0} (hQ : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.CokernelCofork.ofπ π hπ)) {K : CochainComplex C ℤ} {ι : K ⟶ X} {hι : CategoryTheory.CategoryStruct.comp ι p = 0} (hK : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι ι hι)) : CochainComplex.HomComplex.Cocycle Q K 1 - CochainComplex.Lifting.hasLift 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) {Q : CochainComplex C ℤ} {π : B ⟶ Q} {hπ : CategoryTheory.CategoryStruct.comp i π = 0} (hQ : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.CokernelCofork.ofπ π hπ)) {K : CochainComplex C ℤ} {ι : K ⟶ X} {hι : CategoryTheory.CategoryStruct.comp ι p = 0} (hK : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι ι hι)) (α : CochainComplex.HomComplex.Cochain Q K 0) (hα : CochainComplex.HomComplex.δ 0 1 α = ↑(CochainComplex.Lifting.cocycle₁ sq hsq hQ hK)) : sq.HasLift - CochainComplex.Lifting.comp_coe_cocycle₁_comp 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) {Q : CochainComplex C ℤ} {π : B ⟶ Q} {hπ : CategoryTheory.CategoryStruct.comp i π = 0} (hQ : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.CokernelCofork.ofπ π hπ)) {K : CochainComplex C ℤ} {ι : K ⟶ X} {hι : CategoryTheory.CategoryStruct.comp ι p = 0} (hK : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι ι hι)) : (CochainComplex.HomComplex.Cochain.ofHom π).comp ((↑(CochainComplex.Lifting.cocycle₁ sq hsq hQ hK)).comp (CochainComplex.HomComplex.Cochain.ofHom ι) ⋯) ⋯ = ↑(CochainComplex.Lifting.cocycle₁' sq hsq) - CochainComplex.Lifting.π_f_cochain₁_v_ι_f 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) {Q : CochainComplex C ℤ} {π : B ⟶ Q} {hπ : CategoryTheory.CategoryStruct.comp i π = 0} (hQ : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.CokernelCofork.ofπ π hπ)) {K : CochainComplex C ℤ} {ι : K ⟶ X} {hι : CategoryTheory.CategoryStruct.comp ι p = 0} (hK : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι ι hι)) (n m : ℤ) (hnm : n + 1 = m) : CategoryTheory.CategoryStruct.comp (π.f n) (CategoryTheory.CategoryStruct.comp ((CochainComplex.Lifting.cochain₁ sq hsq hQ hK).v n m hnm) (ι.f m)) = (↑(CochainComplex.Lifting.cocycle₁' sq hsq)).v n m hnm - CochainComplex.Lifting.π_f_cochain₁_v_ι_f_assoc 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) {Q : CochainComplex C ℤ} {π : B ⟶ Q} {hπ : CategoryTheory.CategoryStruct.comp i π = 0} (hQ : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.CokernelCofork.ofπ π hπ)) {K : CochainComplex C ℤ} {ι : K ⟶ X} {hι : CategoryTheory.CategoryStruct.comp ι p = 0} (hK : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι ι hι)) (n m : ℤ) (hnm : n + 1 = m) {Z : C} (h : X.X m ⟶ Z) : CategoryTheory.CategoryStruct.comp (π.f n) (CategoryTheory.CategoryStruct.comp ((CochainComplex.Lifting.cochain₁ sq hsq hQ hK).v n m hnm) (CategoryTheory.CategoryStruct.comp (ι.f m) h)) = CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.Lifting.cocycle₁' sq hsq)).v n m hnm) h - CochainComplex.Lifting.exists_hom 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) {Q : CochainComplex C ℤ} {π : B ⟶ Q} {hπ : CategoryTheory.CategoryStruct.comp i π = 0} (hQ : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.CokernelCofork.ofπ π hπ)) {K : CochainComplex C ℤ} {ι : K ⟶ X} {hι : CategoryTheory.CategoryStruct.comp ι p = 0} (hK : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι ι hι)) (n m : ℤ) (hnm : n + 1 = m := by lia) : ∃ φ, CategoryTheory.CategoryStruct.comp (π.f n) (CategoryTheory.CategoryStruct.comp φ (ι.f m)) = (↑(CochainComplex.Lifting.cocycle₁' sq hsq)).v n m hnm - CategoryTheory.Square.commSq 📋 Mathlib.CategoryTheory.Square
{C : Type u} [CategoryTheory.Category.{v, u} C] (sq : CategoryTheory.Square C) : CategoryTheory.CommSq sq.f₁₂ sq.f₁₃ sq.f₂₄ sq.f₃₄ - AlgebraicGeometry.Scheme.isEmpty_of_commSq 📋 Mathlib.AlgebraicGeometry.Scheme
{W X Y S : AlgebraicGeometry.Scheme} {f : X ⟶ S} {g : Y ⟶ S} {i : W ⟶ X} {j : W ⟶ Y} (h : CategoryTheory.CommSq i j f g) (H : Disjoint (Set.range ⇑f) (Set.range ⇑g)) : IsEmpty ↥W - AlgebraicGeometry.isEmpty_of_commSq_sigmaι_of_ne 📋 Mathlib.AlgebraicGeometry.Limits
{σ : Type v} {g : σ → AlgebraicGeometry.Scheme} [Small.{u, v} σ] {i j : σ} {Z : AlgebraicGeometry.Scheme} {a : Z ⟶ g i} {b : Z ⟶ g j} (h : CategoryTheory.CommSq a b (CategoryTheory.Limits.Sigma.ι g i) (CategoryTheory.Limits.Sigma.ι g j)) (hij : i ≠ j) : IsEmpty ↥Z - AlgebraicGeometry.ValuativeCommSq.mk 📋 Mathlib.AlgebraicGeometry.ValuativeCriterion
{X Y : AlgebraicGeometry.Scheme} {f : X ⟶ Y} (R : Type u) [commRing : CommRing R] [domain : IsDomain R] [valuationRing : ValuationRing R] (K : Type u) [field : Field K] [algebra : Algebra R K] [isFractionRing : IsFractionRing R K] (i₁ : AlgebraicGeometry.Spec (CommRingCat.of K) ⟶ X) (i₂ : AlgebraicGeometry.Spec (CommRingCat.of R) ⟶ Y) (commSq : CategoryTheory.CommSq i₁ (AlgebraicGeometry.Spec.map (CommRingCat.ofHom (algebraMap R K))) f i₂) : AlgebraicGeometry.ValuativeCommSq f - AlgebraicGeometry.ValuativeCommSq.commSq 📋 Mathlib.AlgebraicGeometry.ValuativeCriterion
{X Y : AlgebraicGeometry.Scheme} {f : X ⟶ Y} (self : AlgebraicGeometry.ValuativeCommSq f) : CategoryTheory.CommSq self.i₁ (AlgebraicGeometry.Spec.map (CommRingCat.ofHom (algebraMap self.R self.K))) f self.i₂ - CategoryTheory.SmallObject.ιFunctorObj_extension 📋 Mathlib.CategoryTheory.SmallObject.Construction
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type w} {A B : I → C} (f : (i : I) → A i ⟶ B i) {S X : C} {πX : X ⟶ S} [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πX)) C] [CategoryTheory.Limits.HasPushout (CategoryTheory.SmallObject.functorObjTop f πX) (CategoryTheory.SmallObject.functorObjLeft f πX)] {i : I} (t : A i ⟶ X) (b : B i ⟶ S) (sq : CategoryTheory.CommSq t (f i) πX b) : ∃ l, CategoryTheory.CategoryStruct.comp (f i) l = CategoryTheory.CategoryStruct.comp t (CategoryTheory.SmallObject.ιFunctorObj f πX) ∧ CategoryTheory.CategoryStruct.comp l (CategoryTheory.SmallObject.πFunctorObj f πX) = b - CategoryTheory.HasLiftingProperty.transfiniteComposition.SqStruct.sq 📋 Mathlib.CategoryTheory.SmallObject.TransfiniteCompositionLifting
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type w} [LinearOrder J] [OrderBot J] {F : CategoryTheory.Functor J C} {c : CategoryTheory.Limits.Cocone F} {X Y : C} {p : X ⟶ Y} {f : F.obj ⊥ ⟶ X} {g : c.pt ⟶ Y} {j : J} (sq' : CategoryTheory.HasLiftingProperty.transfiniteComposition.SqStruct c p f g j) [SuccOrder J] : CategoryTheory.CommSq sq'.f' (F.map (CategoryTheory.homOfLE ⋯)) p (CategoryTheory.CategoryStruct.comp (c.ι.app (Order.succ j)) g) - CategoryTheory.HasLiftingProperty.transfiniteComposition.hasLift 📋 Mathlib.CategoryTheory.SmallObject.TransfiniteCompositionLifting
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : Type w} [LinearOrder J] [OrderBot J] {F : CategoryTheory.Functor J C} {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.Limits.IsColimit c) {X Y : C} {p : X ⟶ Y} {f : F.obj ⊥ ⟶ X} {g : c.pt ⟶ Y} [F.IsWellOrderContinuous] [SuccOrder J] [WellFoundedLT J] (hF : ∀ (j : J), ¬IsMax j → CategoryTheory.HasLiftingPropertyFixedBot (F.map (CategoryTheory.homOfLE ⋯)) p (CategoryTheory.CategoryStruct.comp (c.ι.app (Order.succ j)) g)) (sq : CategoryTheory.CommSq f (c.ι.app ⊥) p g) : sq.HasLift - CategoryTheory.CommSq.HasLift.over 📋 Mathlib.CategoryTheory.LiftingProperties.Over
{C : Type u} [CategoryTheory.Category.{v, u} C] {S : C} {X₁ X₂ X₃ X₄ : CategoryTheory.Over S} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} {sq : CategoryTheory.CommSq t l r b} [⋯.HasLift] : sq.HasLift - Lattice.BicartSq.commSq 📋 Mathlib.Order.CompleteLattice.MulticoequalizerDiagram
{T : Type u} {x₁ x₂ x₃ x₄ : T} [Lattice T] (sq : Lattice.BicartSq x₁ x₂ x₃ x₄) : CategoryTheory.CommSq (CategoryTheory.homOfLE ⋯) (CategoryTheory.homOfLE ⋯) (CategoryTheory.homOfLE ⋯) (CategoryTheory.homOfLE ⋯) - CategoryTheory.Pseudofunctor.isoMapOfCommSq 📋 Mathlib.CategoryTheory.Bicategory.Strict.Pseudofunctor
{B : Type u₁} {C : Type u₂} [CategoryTheory.Bicategory B] [CategoryTheory.Bicategory.Strict B] [CategoryTheory.Bicategory C] (F : CategoryTheory.Pseudofunctor B C) {X₁ X₂ Y₁ Y₂ : B} {t : X₁ ⟶ Y₁} {l : X₁ ⟶ X₂} {r : Y₁ ⟶ Y₂} {b : X₂ ⟶ Y₂} (sq : CategoryTheory.CommSq t l r b) : CategoryTheory.CategoryStruct.comp (F.map t) (F.map r) ≅ CategoryTheory.CategoryStruct.comp (F.map l) (F.map b) - CategoryTheory.Pseudofunctor.isoMapOfCommSq_eq 📋 Mathlib.CategoryTheory.Bicategory.Strict.Pseudofunctor
{B : Type u₁} {C : Type u₂} [CategoryTheory.Bicategory B] [CategoryTheory.Bicategory.Strict B] [CategoryTheory.Bicategory C] (F : CategoryTheory.Pseudofunctor B C) {X₁ X₂ Y₁ Y₂ : B} {t : X₁ ⟶ Y₁} {l : X₁ ⟶ X₂} {r : Y₁ ⟶ Y₂} {b : X₂ ⟶ Y₂} (sq : CategoryTheory.CommSq t l r b) (φ : X₁ ⟶ Y₂) (hφ : CategoryTheory.CategoryStruct.comp t r = φ) : F.isoMapOfCommSq sq = (F.mapComp' t r φ ⋯).symm ≪≫ F.mapComp' l b φ ⋯ - CategoryTheory.IsHomLift.of_commSq 📋 Mathlib.CategoryTheory.FiberedCategory.HomLift
{𝒮 : Type u₁} {𝒳 : Type u₂} [CategoryTheory.Category.{v₁, u₂} 𝒳] [CategoryTheory.Category.{v₂, u₁} 𝒮] (p : CategoryTheory.Functor 𝒳 𝒮) {R S : 𝒮} {a b : 𝒳} (f : R ⟶ S) (φ : a ⟶ b) (ha : p.obj a = R) (hb : p.obj b = S) (h : CategoryTheory.CommSq (p.map φ) (CategoryTheory.eqToHom ha) (CategoryTheory.eqToHom hb) f) : p.IsHomLift f φ - CategoryTheory.IsHomLift.commSq 📋 Mathlib.CategoryTheory.FiberedCategory.HomLift
{𝒮 : Type u₁} {𝒳 : Type u₂} [CategoryTheory.Category.{v₁, u₂} 𝒳] [CategoryTheory.Category.{v₂, u₁} 𝒮] (p : CategoryTheory.Functor 𝒳 𝒮) {R S : 𝒮} {a b : 𝒳} (f : R ⟶ S) (φ : a ⟶ b) [p.IsHomLift f φ] : CategoryTheory.CommSq (p.map φ) (CategoryTheory.eqToHom ⋯) (CategoryTheory.eqToHom ⋯) f - CategoryTheory.IsCardinalPure.exists_of_commSq 📋 Mathlib.CategoryTheory.Presentable.CardinalPure
{C : Type u_1} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} (κ : Cardinal.{w}) {inst✝¹ : Fact κ.IsRegular} {X Y : C} {f : X ⟶ Y} [self : CategoryTheory.IsCardinalPure κ f] {X' Y' : C} {t : X' ⟶ Y'} {l : X' ⟶ X} {r : Y' ⟶ Y} [CategoryTheory.IsCardinalPresentable X' κ] [CategoryTheory.IsCardinalPresentable Y' κ] (sq : CategoryTheory.CommSq t l r f) : ∃ ρ, CategoryTheory.CategoryStruct.comp t ρ = l - CategoryTheory.IsCardinalPure.mk 📋 Mathlib.CategoryTheory.Presentable.CardinalPure
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {κ : Cardinal.{w}} [Fact κ.IsRegular] {X Y : C} {f : X ⟶ Y} (exists_of_commSq : ∀ {X' Y' : C} {t : X' ⟶ Y'} {l : X' ⟶ X} {r : Y' ⟶ Y} [CategoryTheory.IsCardinalPresentable X' κ] [CategoryTheory.IsCardinalPresentable Y' κ], CategoryTheory.CommSq t l r f → ∃ ρ, CategoryTheory.CategoryStruct.comp t ρ = l) : CategoryTheory.IsCardinalPure κ 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 69fae59