The category of arrows #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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)
Instances for category_theory.arrow
Equations
- category_theory.arrow.inhabited T = {default := (λ (this : category_theory.comma (𝟭 T) (𝟭 T)), this) inhabited.default}
An object in the arrow category is simply a morphism in T.
Equations
We can also build a morphism in the arrow category out of any commutative square in T.
Create an isomorphism between arrows, by providing isomorphisms between the domains and codomains, and a proof that the square commutes.
Equations
Given a square from an arrow i to an isomorphism p, express the source part of sq
in terms of the inverse of p.
Given a square from an isomorphism i to an arrow p, express the target part of sq
in terms of the inverse of i.
A helper construction: given a square between i and f ≫ g, produce a square between
i and g, whose top leg uses f:
A → X
↓f
↓i Y --> A → Y
↓g ↓i ↓g
B → Z B → Z
The functor sending an arrow to its source.
Equations
The functor sending an arrow to its target.
Equations
The natural transformation from left_func to right_func, given by the arrow itself.
Equations
- category_theory.arrow.left_to_right = {app := λ (f : category_theory.arrow C), f.hom, naturality' := _}
A functor C ⥤ D induces a functor between the corresponding arrow categories.
The images of f : arrow C by two isomorphic functors F : C ⥤ D are
isomorphic arrows in D.
Equations
- category_theory.arrow.iso_of_nat_iso e f = category_theory.arrow.iso_mk (e.app f.left) (e.app f.right) _