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.
Tags #
comma, arrow
The arrow category of T
has as objects all morphisms in T
and as morphisms commutative
squares in T
.
Equations
Instances For
Equations
- CategoryTheory.Arrow.inhabited T = { default := let_fun this := default; this }
An object in the arrow category is simply a morphism in T
.
Equations
- CategoryTheory.Arrow.mk f = { left := X, right := Y, hom := f }
Instances For
Equations
A morphism in the arrow category is a commutative square connecting two objects of the arrow category.
Equations
- CategoryTheory.Arrow.homMk u v w = { left := u, right := v, w := w }
Instances For
We can also build a morphism in the arrow category out of any commutative square in T
.
Equations
- CategoryTheory.Arrow.homMk' u v w = { left := u, right := v, w := w }
Instances For
Create an isomorphism between arrows, by providing isomorphisms between the domains and codomains, and a proof that the square commutes.
Equations
- CategoryTheory.Arrow.isoMk l r h = CategoryTheory.Comma.isoMk l r h
Instances For
A variant of Arrow.isoMk
that creates an iso between two Arrow.mk
s with a better type
signature.
Equations
- CategoryTheory.Arrow.isoMk' f g e₁ e₂ h = CategoryTheory.Arrow.isoMk e₁ e₂ h
Instances For
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
Equations
- CategoryTheory.Arrow.squareToSnd sq = { left := CategoryTheory.CategoryStruct.comp sq.left f, right := sq.right, w := ⋯ }
Instances For
The functor sending an arrow to its source.
Equations
Instances For
The functor sending an arrow to its target.
Equations
Instances For
The natural transformation from leftFunc
to rightFunc
, given by the arrow itself.
Equations
- CategoryTheory.Arrow.leftToRight = { app := fun (f : CategoryTheory.Arrow C) => f.hom, naturality := ⋯ }
Instances For
A functor C ⥤ D
induces a functor between the corresponding arrow categories.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The functor (C ⥤ D) ⥤ (Arrow C ⥤ Arrow D)
which sends
a functor F : C ⥤ D
to F.mapArrow
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The equivalence of categories Arrow C ≌ Arrow D
induced by an equivalence C ≌ D
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The images of f : Arrow C
by two isomorphic functors F : C ⥤ D
are
isomorphic arrows in D
.
Equations
- CategoryTheory.Arrow.isoOfNatIso e f = CategoryTheory.Arrow.isoMk (e.app f.left) (e.app f.right) ⋯