Properties of objects in a category #
Given a category C
, we introduce an abbreviation ObjectProperty C
for predicates C → Prop
.
TODO #
- refactor the file
Limits.FullSubcategory
in order to renameClosedUnderLimitsOfShape
asObjectProperty.IsClosedUnderLimitsOfShape
(and make it a type class) - refactor the file
Triangulated.Subcategory
in order to make it a type class regarding terms inObjectProperty C
whenC
is pretriangulated
@[reducible, inline]
A property of objects in a category C
is a predicate C → Prop
.
Equations
- CategoryTheory.ObjectProperty C = (C → Prop)
Instances For
theorem
CategoryTheory.ObjectProperty.le_def
{C : Type u}
[Category.{v, u} C]
{P Q : ObjectProperty C}
:
def
CategoryTheory.ObjectProperty.inverseImage
{C : Type u}
{D : Type u'}
[Category.{v, u} C]
[Category.{v', u'} D]
(P : ObjectProperty D)
(F : Functor C D)
:
The inverse image of a property of objects by a functor.
Equations
- P.inverseImage F X = P (F.obj X)
Instances For
@[simp]
theorem
CategoryTheory.ObjectProperty.prop_inverseImage_iff
{C : Type u}
{D : Type u'}
[Category.{v, u} C]
[Category.{v', u'} D]
(P : ObjectProperty D)
(F : Functor C D)
(X : C)
:
def
CategoryTheory.ObjectProperty.map
{C : Type u}
{D : Type u'}
[Category.{v, u} C]
[Category.{v', u'} D]
(P : ObjectProperty C)
(F : Functor C D)
:
The essential image of a property of objects by a functor.
Instances For
theorem
CategoryTheory.ObjectProperty.prop_map_iff
{C : Type u}
{D : Type u'}
[Category.{v, u} C]
[Category.{v', u'} D]
(P : ObjectProperty C)
(F : Functor C D)
(Y : D)
:
theorem
CategoryTheory.ObjectProperty.prop_map_obj
{C : Type u}
{D : Type u'}
[Category.{v, u} C]
[Category.{v', u'} D]
(P : ObjectProperty C)
(F : Functor C D)
{X : C}
(hX : P X)
:
inductive
CategoryTheory.ObjectProperty.strictMap
{C : Type u}
{D : Type u'}
[Category.{v, u} C]
[Category.{v', u'} D]
(P : ObjectProperty C)
(F : Functor C D)
:
The strict image of a property of objects by a functor.
- mk {C : Type u} {D : Type u'} [Category.{v, u} C] [Category.{v', u'} D] {P : ObjectProperty C} {F : Functor C D} (X : C) (hX : P X) : P.strictMap F (F.obj X)
Instances For
theorem
CategoryTheory.ObjectProperty.strictMap_iff
{C : Type u}
{D : Type u'}
[Category.{v, u} C]
[Category.{v', u'} D]
(P : ObjectProperty C)
(F : Functor C D)
(Y : D)
:
theorem
CategoryTheory.ObjectProperty.strictMap_obj
{C : Type u}
{D : Type u'}
[Category.{v, u} C]
[Category.{v', u'} D]
(P : ObjectProperty C)
(F : Functor C D)
{X : C}
(hX : P X)
:
class
CategoryTheory.ObjectProperty.Is
{C : Type u}
[Category.{v, u} C]
(P : ObjectProperty C)
(X : C)
:
The typeclass associated to P : ObjectProperty C
.
- prop : P X
Instances
theorem
CategoryTheory.ObjectProperty.is_iff
{C : Type u}
[Category.{v, u} C]
(P : ObjectProperty C)
(X : C)
:
theorem
CategoryTheory.ObjectProperty.prop_of_is
{C : Type u}
[Category.{v, u} C]
(P : ObjectProperty C)
(X : C)
[P.Is X]
:
P X
theorem
CategoryTheory.ObjectProperty.is_of_prop
{C : Type u}
[Category.{v, u} C]
(P : ObjectProperty C)
{X : C}
(hX : P X)
:
P.Is X
inductive
CategoryTheory.ObjectProperty.ofObj
{C : Type u}
[Category.{v, u} C]
{ι : Type u'}
(X : ι → C)
:
The property of objects that is satisfied by the X i
for a family
of objects X : ι : C
.
- mk {C : Type u} [Category.{v, u} C] {ι : Type u'} {X : ι → C} (i : ι) : ofObj X (X i)
Instances For
@[simp]
theorem
CategoryTheory.ObjectProperty.ofObj_apply
{C : Type u}
[Category.{v, u} C]
{ι : Type u'}
(X : ι → C)
(i : ι)
:
ofObj X (X i)
theorem
CategoryTheory.ObjectProperty.ofObj_le_iff
{C : Type u}
[Category.{v, u} C]
{ι : Type u'}
(X : ι → C)
(P : ObjectProperty C)
:
@[simp]
theorem
CategoryTheory.ObjectProperty.strictMap_ofObj
{C : Type u}
{D : Type u'}
[Category.{v, u} C]
[Category.{v', u'} D]
{ι : Type u'}
(X : ι → C)
(F : Functor C D)
:
@[reducible, inline]
The property of objects in a category that is satisfied by a single object X : C
.
Equations
- CategoryTheory.ObjectProperty.singleton X = CategoryTheory.ObjectProperty.ofObj fun (x : Unit) => X
Instances For
@[simp]
@[simp]
theorem
CategoryTheory.ObjectProperty.singleton_le_iff
{C : Type u}
[Category.{v, u} C]
{X : C}
{P : ObjectProperty C}
:
@[simp]
theorem
CategoryTheory.ObjectProperty.strictMap_singleton
{C : Type u}
{D : Type u'}
[Category.{v, u} C]
[Category.{v', u'} D]
(X : C)
(F : Functor C D)
:
The property of objects in a category that is satisfied by X : C
and Y : C
.
Equations
- CategoryTheory.ObjectProperty.pair X Y = CategoryTheory.ObjectProperty.ofObj (Sum.elim (fun (x : Unit) => X) fun (x : Unit) => Y)
Instances For
@[simp]