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.{u_2, 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.{u_2, 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.{u_2, 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.{u_2, 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.{u_2, 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.{u_2, 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.{u_2, 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.{u_2, 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.{u_2, 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.{u_2, u_1} C]
(P : ObjectProperty C)
(Q : MorphismProperty C)
[P.InheritedFromTarget Q]
[Q.RespectsIso]
[Q.ContainsIdentities]
: