The category of commutative squares #
In this file, we define a bundled version of CommSq
which allows to consider commutative squares as
objects in a category Square C
.
The four objects in a commutative square are numbered as follows:
X₁ --> X₂
| |
v v
X₃ --> X₄
We define the flip functor, and two equivalences with
the category Arrow (Arrow C)
, depending on whether
we consider a commutative square as a horizontal
morphism between two vertical maps (arrowArrowEquivalence
)
or a vertical morphism betwen two horizontal
maps (arrowArrowEquivalence'
).
TODO #
- define
Functor.mapSquare
- construct the equivalence
(Square C)ᵒᵖ ≌ Square C
The category of commutative squares in a category.
- X₁ : C
the top-left object
- X₂ : C
the top-right object
- X₃ : C
the bottom-left object
- X₄ : C
the bottom-right object
- f₁₂ : self.X₁ ⟶ self.X₂
the top morphism
- f₁₃ : self.X₁ ⟶ self.X₃
the left morphism
- f₂₄ : self.X₂ ⟶ self.X₄
the right morphism
- f₃₄ : self.X₃ ⟶ self.X₄
the bottom morphism
- fac : CategoryTheory.CategoryStruct.comp self.f₁₂ self.f₂₄ = CategoryTheory.CategoryStruct.comp self.f₁₃ self.f₃₄
Instances For
A morphism between two commutative squares consists of 4 morphisms which extend these two squares into a commuting cube.
- τ₁ : sq₁.X₁ ⟶ sq₂.X₁
the top-left morphism
- τ₂ : sq₁.X₂ ⟶ sq₂.X₂
the top-right morphism
- τ₃ : sq₁.X₃ ⟶ sq₂.X₃
the bottom-left morphism
- τ₄ : sq₁.X₄ ⟶ sq₂.X₄
the bottom-right morphism
- comm₁₂ : CategoryTheory.CategoryStruct.comp sq₁.f₁₂ self.τ₂ = CategoryTheory.CategoryStruct.comp self.τ₁ sq₂.f₁₂
- comm₁₃ : CategoryTheory.CategoryStruct.comp sq₁.f₁₃ self.τ₃ = CategoryTheory.CategoryStruct.comp self.τ₁ sq₂.f₁₃
- comm₂₄ : CategoryTheory.CategoryStruct.comp sq₁.f₂₄ self.τ₄ = CategoryTheory.CategoryStruct.comp self.τ₂ sq₂.f₂₄
- comm₃₄ : CategoryTheory.CategoryStruct.comp sq₁.f₃₄ self.τ₄ = CategoryTheory.CategoryStruct.comp self.τ₃ sq₂.f₃₄
Instances For
The identity of a commutative square.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The composition of morphisms of squares.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.Square.category = CategoryTheory.Category.mk ⋯ ⋯ ⋯
Constructor for isomorphisms in Square c
Equations
- One or more equations did not get rendered due to their size.
Instances For
Flipping a square by switching the top-right and the bottom-left objects.
Equations
- sq.flip = CategoryTheory.Square.mk sq.f₁₃ sq.f₁₂ sq.f₃₄ sq.f₂₄ ⋯
Instances For
The functor which flips commutative squares.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Flipping commutative squares is an auto-equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The functor Square C ⥤ Arrow (Arrow C)
which sends a
commutative square sq
to the obvious arrow from the left morphism of sq
to the right morphism of sq
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The functor Arrow (Arrow C) ⥤ Square C
which sends
a morphism Arrow.mk f ⟶ Arrow.mk g
to the commutative square
with f
on the left side and g
on the right side.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The equivalence Square C ≌ Arrow (Arrow C)
which sends a
commutative square sq
to the obvious arrow from the left morphism of sq
to the right morphism of sq
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The functor Square C ⥤ Arrow (Arrow C)
which sends a
commutative square sq
to the obvious arrow from the top morphism of sq
to the bottom morphism of sq
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The functor Arrow (Arrow C) ⥤ Square C
which sends
a morphism Arrow.mk f ⟶ Arrow.mk g
to the commutative square
with f
on the top side and g
on the bottom side.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The equivalence Square C ≌ Arrow (Arrow C)
which sends a
commutative square sq
to the obvious arrow from the top morphism of sq
to the bottom morphism of sq
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The top-left evaluation Square C ⥤ C
.
Equations
- CategoryTheory.Square.evaluation₁ = { obj := fun (sq : CategoryTheory.Square C) => sq.X₁, map := fun {X Y : CategoryTheory.Square C} (φ : X ⟶ Y) => φ.τ₁, map_id := ⋯, map_comp := ⋯ }
Instances For
The top-right evaluation Square C ⥤ C
.
Equations
- CategoryTheory.Square.evaluation₂ = { obj := fun (sq : CategoryTheory.Square C) => sq.X₂, map := fun {X Y : CategoryTheory.Square C} (φ : X ⟶ Y) => φ.τ₂, map_id := ⋯, map_comp := ⋯ }
Instances For
The bottom-left evaluation Square C ⥤ C
.
Equations
- CategoryTheory.Square.evaluation₃ = { obj := fun (sq : CategoryTheory.Square C) => sq.X₃, map := fun {X Y : CategoryTheory.Square C} (φ : X ⟶ Y) => φ.τ₃, map_id := ⋯, map_comp := ⋯ }
Instances For
The bottom-right evaluation Square C ⥤ C
.
Equations
- CategoryTheory.Square.evaluation₄ = { obj := fun (sq : CategoryTheory.Square C) => sq.X₄, map := fun {X Y : CategoryTheory.Square C} (φ : X ⟶ Y) => φ.τ₄, map_id := ⋯, map_comp := ⋯ }
Instances For
The image of a commutative square by a functor.
Equations
- sq.map F = CategoryTheory.Square.mk (F.map sq.f₁₂) (F.map sq.f₁₃) (F.map sq.f₂₄) (F.map sq.f₃₄) ⋯
Instances For
The functor Square C ⥤ Square D
induced by a functor C ⥤ D
.
Equations
- One or more equations did not get rendered due to their size.