Object properties transported along morphisms #
In this file we define the predicates InheritedFromSource and InheritedFromTarget
for an object property P along a morphism property Q.
P is inherited from the source (resp. target) along Q if for every morphism
f : X ⟶ Y with Q f, P X implies P Y (resp. P Y implies P X).
class CategoryTheory.ObjectProperty.InheritedFromSource {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) (Q : MorphismProperty C) :
A property of objects P is inherited from the source of morphisms satisfying Q if
whenever P holds for X and f : X ⟶ Y is a Q-morphism, then P holds for Y.
Instances
class CategoryTheory.ObjectProperty.InheritedFromTarget {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) (Q : MorphismProperty C) :
A property of objects P is inherited from the target of morphisms satisfying Q if
whenever P holds for Y and f : X ⟶ Y is a Q-morphism, then P holds for X.
Instances
instance CategoryTheory.ObjectProperty.InheritedFromSource.op {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) (Q : MorphismProperty C) [P.InheritedFromSource Q] :
P.op.InheritedFromTarget Q.op
instance CategoryTheory.ObjectProperty.InheritedFromSource.instMin {C : Type u_1} [Category.{v_1, u_1} C] (P P' : ObjectProperty C) (Q : MorphismProperty C) [P.InheritedFromSource Q] [P'.InheritedFromSource Q] :
(P ⊓ P').InheritedFromSource Q
theorem CategoryTheory.ObjectProperty.InheritedFromSource.of_le {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) (Q Q' : MorphismProperty C) (hQ : Q ≤ Q') [P.InheritedFromSource Q'] :
instance CategoryTheory.ObjectProperty.InheritedFromTarget.op {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) (Q : MorphismProperty C) [P.InheritedFromTarget Q] :
P.op.InheritedFromSource Q.op
instance CategoryTheory.ObjectProperty.InheritedFromTarget.instMin {C : Type u_1} [Category.{v_1, u_1} C] (P P' : ObjectProperty C) (Q : MorphismProperty C) [P.InheritedFromTarget Q] [P'.InheritedFromTarget Q] :
(P ⊓ P').InheritedFromTarget Q
theorem CategoryTheory.ObjectProperty.InheritedFromTarget.of_le {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) (Q Q' : MorphismProperty C) (hQ : Q ≤ Q') [P.InheritedFromTarget Q'] :
theorem CategoryTheory.ObjectProperty.IsClosedUnderIsomorphisms.of_inheritedFromSource {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) (Q : MorphismProperty C) [P.InheritedFromSource Q] [Q.RespectsIso] [Q.ContainsIdentities] :
theorem CategoryTheory.ObjectProperty.IsClosedUnderIsomorphisms.of_inheritedFromTarget {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) (Q : MorphismProperty C) [P.InheritedFromTarget Q] [Q.RespectsIso] [Q.ContainsIdentities] :