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.instCategoryArrow T = CategoryTheory.commaCategory
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
- CategoryTheory.Arrow.instCoeOutHomToQuiverToCategoryStructArrow = { coe := CategoryTheory.Arrow.mk }
A morphism in the arrow category is a commutative square connecting two objects of the arrow category.
Equations
- CategoryTheory.Arrow.homMk 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' 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.mks with a better type
signature.
Equations
- CategoryTheory.Arrow.isoMk' f g e₁ e₂ h = CategoryTheory.Arrow.isoMk e₁ e₂ h
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
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
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
- CategoryTheory.Arrow.leftFunc = CategoryTheory.Comma.fst (CategoryTheory.Functor.id C) (CategoryTheory.Functor.id C)
Instances For
The functor sending an arrow to its target.
Equations
- CategoryTheory.Arrow.rightFunc = CategoryTheory.Comma.snd (CategoryTheory.Functor.id C) (CategoryTheory.Functor.id C)
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) ⋯