File: Mathlib/CategoryTheory/LiftingProperties/Basic.lean

full_name: CategoryTheory.HasLiftingProperty.sq_hasLift
code: /-- `HasLiftingProperty i p` means that `i` has the left lifting
property with respect to `p`, or equivalently that `p` has
the right lifting property with respect to `i`. -/
class HasLiftingProperty : Prop where
  /-- Unique field expressing that any commutative square built from `f` and `g` has a lift -/
  sq_hasLift : ∀ {f : A ⟶ X} {g : B ⟶ Y} (sq : CommSq f i p g), sq.HasLift
goal: sq.HasLift

full_name: CategoryTheory.HasLiftingProperty
code: /-- `HasLiftingProperty i p` means that `i` has the left lifting
property with respect to `p`, or equivalently that `p` has
the right lifting property with respect to `i`. -/
class HasLiftingProperty : Prop where
  /-- Unique field expressing that any commutative square built from `f` and `g` has a lift -/
  sq_hasLift : ∀ {f : A ⟶ X} {g : B ⟶ Y} (sq : CommSq f i p g), sq.HasLift
goal: Prop

full_name: CategoryTheory.sq_hasLift_of_hasLiftingProperty
code: instance (priority := 100) sq_hasLift_of_hasLiftingProperty {f : A ⟶ X} {g : B ⟶ Y}
    (sq : CommSq f i p g) [hip : HasLiftingProperty i p] : sq.HasLift 
goal: sq.HasLift

full_name: CategoryTheory.HasLiftingProperty.op
code: theorem op (h : HasLiftingProperty i p) : HasLiftingProperty p.op i.op 
goal: CategoryTheory.HasLiftingProperty p.op i.op

full_name: CategoryTheory.HasLiftingProperty.unop
code: theorem unop {A B X Y : Cᵒᵖ} {i : A ⟶ B} {p : X ⟶ Y} (h : HasLiftingProperty i p) :
    HasLiftingProperty p.unop i.unop 
goal: CategoryTheory.HasLiftingProperty p.unop i.unop

full_name: CategoryTheory.HasLiftingProperty.iff_op
code: theorem iff_op : HasLiftingProperty i p ↔ HasLiftingProperty p.op i.op 
goal: CategoryTheory.HasLiftingProperty i p ↔ CategoryTheory.HasLiftingProperty p.op i.op

full_name: CategoryTheory.HasLiftingProperty.iff_unop
code: theorem iff_unop {A B X Y : Cᵒᵖ} (i : A ⟶ B) (p : X ⟶ Y) :
    HasLiftingProperty i p ↔ HasLiftingProperty p.unop i.unop 
goal: CategoryTheory.HasLiftingProperty i p ↔ CategoryTheory.HasLiftingProperty p.unop i.unop

full_name: CategoryTheory.HasLiftingProperty.of_left_iso
code: instance (priority := 100) of_left_iso [IsIso i] : HasLiftingProperty i p 
goal: CategoryTheory.HasLiftingProperty i p

full_name: CategoryTheory.HasLiftingProperty.of_right_iso
code: instance (priority := 100) of_right_iso [IsIso p] : HasLiftingProperty i p 
goal: CategoryTheory.HasLiftingProperty i p

full_name: CategoryTheory.HasLiftingProperty.of_comp_left
code: instance of_comp_left [HasLiftingProperty i p] [HasLiftingProperty i' p] :
    HasLiftingProperty (i ≫ i') p 
goal: CategoryTheory.HasLiftingProperty (CategoryTheory.CategoryStruct.comp i i') p

full_name: CategoryTheory.HasLiftingProperty.of_comp_right
code: instance of_comp_right [HasLiftingProperty i p] [HasLiftingProperty i p'] :
    HasLiftingProperty i (p ≫ p') 
goal: CategoryTheory.HasLiftingProperty i (CategoryTheory.CategoryStruct.comp p p')

full_name: CategoryTheory.HasLiftingProperty.of_arrow_iso_left
code: theorem of_arrow_iso_left {A B A' B' X Y : C} {i : A ⟶ B} {i' : A' ⟶ B'}
    (e : Arrow.mk i ≅ Arrow.mk i') (p : X ⟶ Y) [hip : HasLiftingProperty i p] :
    HasLiftingProperty i' p 
goal: CategoryTheory.HasLiftingProperty i' p

full_name: CategoryTheory.HasLiftingProperty.of_arrow_iso_right
code: theorem of_arrow_iso_right {A B X Y X' Y' : C} (i : A ⟶ B) {p : X ⟶ Y} {p' : X' ⟶ Y'}
    (e : Arrow.mk p ≅ Arrow.mk p') [hip : HasLiftingProperty i p] : HasLiftingProperty i p' 
goal: CategoryTheory.HasLiftingProperty i p'

full_name: CategoryTheory.HasLiftingProperty.iff_of_arrow_iso_left
code: theorem iff_of_arrow_iso_left {A B A' B' X Y : C} {i : A ⟶ B} {i' : A' ⟶ B'}
    (e : Arrow.mk i ≅ Arrow.mk i') (p : X ⟶ Y) :
    HasLiftingProperty i p ↔ HasLiftingProperty i' p 
goal: CategoryTheory.HasLiftingProperty i p ↔ CategoryTheory.HasLiftingProperty i' p

full_name: CategoryTheory.HasLiftingProperty.iff_of_arrow_iso_right
code: theorem iff_of_arrow_iso_right {A B X Y X' Y' : C} (i : A ⟶ B) {p : X ⟶ Y} {p' : X' ⟶ Y'}
    (e : Arrow.mk p ≅ Arrow.mk p') : HasLiftingProperty i p ↔ HasLiftingProperty i p' 
goal: CategoryTheory.HasLiftingProperty i p ↔ CategoryTheory.HasLiftingProperty i p'