mathlib documentation

category_theory.subobject.factor_thru

Factoring through subobjects #

The predicate h : P.factors f, for P : subobject Y and f : X ⟶ Y asserts the existence of some P.factor_thru f : X ⟶ (P : C) making the obvious diagram commute.

def category_theory.mono_over.factors {C : Type u₁} [category_theory.category C] {X Y : C} (P : category_theory.mono_over Y) (f : X Y) :
Prop

When f : X ⟶ Y and P : mono_over Y, P.factors f expresses that there exists a factorisation of f through P. Given h : P.factors f, you can recover the morphism as P.factor_thru f h.

Equations
theorem category_theory.mono_over.factors_congr {C : Type u₁} [category_theory.category C] {X : C} {f g : category_theory.mono_over X} {Y : C} (h : Y X) (e : f g) :
noncomputable def category_theory.mono_over.factor_thru {C : Type u₁} [category_theory.category C] {X Y : C} (P : category_theory.mono_over Y) (f : X Y) (h : P.factors f) :
X P

P.factor_thru f h provides a factorisation of f : X ⟶ Y through some P : mono_over Y, given the evidence h : P.factors f that such a factorisation exists.

Equations
def category_theory.subobject.factors {C : Type u₁} [category_theory.category C] {X Y : C} (P : category_theory.subobject Y) (f : X Y) :
Prop

When f : X ⟶ Y and P : subobject Y, P.factors f expresses that there exists a factorisation of f through P. Given h : P.factors f, you can recover the morphism as P.factor_thru f h.

Equations
theorem category_theory.subobject.factors_of_factors_right {C : Type u₁} [category_theory.category C] {X Y Z : C} {P : category_theory.subobject Z} (f : X Y) {g : Y Z} (h : P.factors g) :
P.factors (f g)
theorem category_theory.subobject.factors_of_le {C : Type u₁} [category_theory.category C] {Y Z : C} {P Q : category_theory.subobject Y} (f : Z Y) (h : P Q) :
P.factors fQ.factors f
noncomputable def category_theory.subobject.factor_thru {C : Type u₁} [category_theory.category C] {X Y : C} (P : category_theory.subobject Y) (f : X Y) (h : P.factors f) :
X P

P.factor_thru f h provides a factorisation of f : X ⟶ Y through some P : subobject Y, given the evidence h : P.factors f that such a factorisation exists.

Equations
@[simp]
theorem category_theory.subobject.factor_thru_arrow {C : Type u₁} [category_theory.category C] {X Y : C} (P : category_theory.subobject Y) (f : X Y) (h : P.factors f) :
@[simp]
theorem category_theory.subobject.factor_thru_arrow_assoc {C : Type u₁} [category_theory.category C] {X Y : C} (P : category_theory.subobject Y) (f : X Y) (h : P.factors f) {X' : C} (f' : Y X') :
P.factor_thru f h P.arrow f' = f f'
@[simp]
theorem category_theory.subobject.factor_thru_comp_arrow {C : Type u₁} [category_theory.category C] {X Y : C} {P : category_theory.subobject Y} (f : X P) (h : P.factors (f P.arrow)) :
P.factor_thru (f P.arrow) h = f
theorem category_theory.subobject.factor_thru_right {C : Type u₁} [category_theory.category C] {X Y Z : C} {P : category_theory.subobject Z} (f : X Y) (g : Y Z) (h : P.factors g) :
f P.factor_thru g h = P.factor_thru (f g) _
theorem category_theory.subobject.factor_thru_of_le {C : Type u₁} [category_theory.category C] {Y Z : C} {P Q : category_theory.subobject Y} {f : Z Y} (h : P Q) (w : P.factors f) :
Q.factor_thru f _ = P.factor_thru f w P.of_le Q h
theorem category_theory.subobject.factors_add {C : Type u₁} [category_theory.category C] [category_theory.preadditive C] {X Y : C} {P : category_theory.subobject Y} (f g : X Y) (wf : P.factors f) (wg : P.factors g) :
P.factors (f + g)
theorem category_theory.subobject.factor_thru_add {C : Type u₁} [category_theory.category C] [category_theory.preadditive C] {X Y : C} {P : category_theory.subobject Y} (f g : X Y) (w : P.factors (f + g)) (wf : P.factors f) (wg : P.factors g) :
P.factor_thru (f + g) w = P.factor_thru f wf + P.factor_thru g wg
@[simp]
@[simp]
theorem category_theory.subobject.factor_thru_add_sub_factor_thru_left {C : Type u₁} [category_theory.category C] [category_theory.preadditive C] {X Y : C} {P : category_theory.subobject Y} (f g : X Y) (w : P.factors (f + g)) (wf : P.factors f) :
P.factor_thru (f + g) w - P.factor_thru f wf = P.factor_thru g _