The category of arrows
The category of arrows, with morphisms commutative squares.
We set this up as a specialization of the comma category comma L R
,
where L
and R
are both the identity functor.
We also define the typeclass has_lift
, representing a choice of a lift
of a commutative square (that is, a diagonal morphism making the two triangles commute).
Tags
comma, arrow
The arrow category of T
has as objects all morphisms in T
and as morphisms commutative
squares in T
.
Equations
- category_theory.arrow T = category_theory.comma (𝟭 T) (𝟭 T)
Equations
- category_theory.arrow.inhabited T = {default := (λ (this : category_theory.comma (𝟭 T) (𝟭 T)), this) (default (category_theory.comma (𝟭 T) (𝟭 T)))}
An object in the arrow category is simply a morphism in T
.
A morphism in the arrow category is a commutative square connecting two objects of the arrow category.
We can also build a morphism in the arrow category out of any commutative square in T
.
A lift of a commutative square is a diagonal morphism making the two triangles commute.
- exists_lift : nonempty (category_theory.arrow.lift_struct sq)
has_lift sq
says that there is some lift_struct sq
, i.e., that it is possible to find a
diagonal morphism making the two triangles commute.
Instances
Given has_lift sq
, obtain a lift.
If there is a lift of a commutative square sq
, we can access it by saying lift sq
.
A functor C ⥤ D
induces a functor between the corresponding arrow categories.