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] :
    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) :
    @[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] :
    @[reducible, inline]
    abbrev CategoryTheory.Arrow.LiftStruct {C : Type u_1} [Category.{u_2, u_1} C] {f g : Arrow C} (φ : f ⟶ g) :
    Type u_2

    Given a morphism φ : f ⟶ g in the category Arrow C, this is an abbreviation for the CommSq.LiftStruct structure for the square corresponding to φ.

    Equations
    Instances For
      theorem CategoryTheory.Arrow.hasLiftingProperty_iff {C : Type u_1} [Category.{u_2, u_1} C] {A B X Y : C} (i : A ⟶ B) (p : X ⟶ Y) :
      HasLiftingProperty i p ↔ ∀ (φ : mk i ⟶ mk p), Nonempty (LiftStruct φ)