Documentation

Mathlib.CategoryTheory.LiftingProperties.Basic

Lifting properties #

This file defines the lifting property of two morphisms in a category and shows basic properties of this notion.

Main results #

Tags #

lifting property

@TODO :

  1. direct/inverse images, adjunctions
class CategoryTheory.HasLiftingProperty {C : Type u_1} [Category.{u_2, u_1} C] {A B X Y : C} (i : A B) (p : X Y) :

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.

  • sq_hasLift {f : A X} {g : B Y} (sq : CommSq f i p g) : sq.HasLift

    Unique field expressing that any commutative square built from f and g has a lift

Instances
    @[instance 100]
    instance CategoryTheory.sq_hasLift_of_hasLiftingProperty {C : Type u_1} [Category.{u_2, u_1} C] {A B X Y : C} (i : A B) (p : X Y) {f : A X} {g : B Y} (sq : CommSq f i p g) [hip : HasLiftingProperty i p] :
    sq.HasLift
    theorem CategoryTheory.HasLiftingProperty.op {C : Type u_1} [Category.{u_2, u_1} C] {A B X Y : C} {i : A B} {p : X Y} (h : HasLiftingProperty i p) :
    theorem CategoryTheory.HasLiftingProperty.unop {C : Type u_1} [Category.{u_2, u_1} C] {A B X Y : Cᵒᵖ} {i : A B} {p : X Y} (h : HasLiftingProperty i p) :
    HasLiftingProperty p.unop i.unop
    theorem CategoryTheory.HasLiftingProperty.iff_op {C : Type u_1} [Category.{u_2, u_1} C] {A B X Y : C} {i : A B} {p : X Y} :
    theorem CategoryTheory.HasLiftingProperty.iff_unop {C : Type u_1} [Category.{u_2, u_1} C] {A B X Y : Cᵒᵖ} (i : A B) (p : X Y) :
    @[instance 100]
    instance CategoryTheory.HasLiftingProperty.of_left_iso {C : Type u_1} [Category.{u_2, u_1} C] {A B X Y : C} (i : A B) (p : X Y) [IsIso i] :
    @[instance 100]
    instance CategoryTheory.HasLiftingProperty.of_right_iso {C : Type u_1} [Category.{u_2, u_1} C] {A B X Y : C} (i : A B) (p : X Y) [IsIso p] :
    theorem CategoryTheory.HasLiftingProperty.of_arrow_iso_left {C : Type u_1} [Category.{u_2, u_1} C] {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] :
    theorem CategoryTheory.HasLiftingProperty.of_arrow_iso_right {C : Type u_1} [Category.{u_2, u_1} C] {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] :
    theorem CategoryTheory.HasLiftingProperty.iff_of_arrow_iso_left {C : Type u_1} [Category.{u_2, u_1} C] {A B A' B' X Y : C} {i : A B} {i' : A' B'} (e : Arrow.mk i Arrow.mk i') (p : X Y) :
    theorem CategoryTheory.HasLiftingProperty.iff_of_arrow_iso_right {C : Type u_1} [Category.{u_2, u_1} C] {A B X Y X' Y' : C} (i : A B) {p : X Y} {p' : X' Y'} (e : Arrow.mk p Arrow.mk p') :
    theorem CategoryTheory.RetractArrow.leftLiftingProperty {C : Type u_1} [Category.{u_2, u_1} C] {X Y Z W Z' W' : C} {g : Z W} {g' : Z' W'} (h : RetractArrow g' g) (f : X Y) [HasLiftingProperty g f] :
    theorem CategoryTheory.RetractArrow.rightLiftingProperty {C : Type u_1} [Category.{u_2, u_1} C] {X Y Z W X' Y' : C} {f : X Y} {f' : X' Y'} (h : RetractArrow f' f) (g : Z W) [HasLiftingProperty g f] :