Skip to content

Commit b01a536

Browse files
committed
defn: absoluteness of split coequalisers
1 parent 72ca5a3 commit b01a536

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
```agda
2+
open import Cat.Prelude
3+
4+
import Cat.Diagram.Coequaliser.Split as SplitCoeq
5+
import Cat.Reasoning
6+
import Cat.Functor.Reasoning
7+
8+
module Cat.Diagram.Coequaliser.Split.Properties where
9+
```
10+
11+
# Properties of split coequalizers
12+
13+
This module proves some general properties of [split coequalisers].
14+
15+
[split coequalisers]: Cat.Diagram.Coequaliser.Split.html
16+
17+
## Absoluteness
18+
19+
The property of being a split coequaliser is a purely diagrammatic one, which has
20+
the lovely property of being preserved by _all_ functors. We call such colimits
21+
absolute.
22+
23+
```agda
24+
module _ {o o′ ℓ ℓ′}
25+
{C : Precategory o ℓ} {D : Precategory o′ ℓ′}
26+
(F : Functor C D) where
27+
```
28+
<!--
29+
```agda
30+
private
31+
module C = Cat.Reasoning C
32+
module D = Cat.Reasoning D
33+
open Cat.Functor.Reasoning F
34+
open SplitCoeq
35+
variable
36+
A B E : C.Ob
37+
f g e s t : C.Hom A B
38+
```
39+
-->
40+
41+
The proof follows the fact that functors preserve diagrams, and reduces to a bit
42+
of symbol shuffling.
43+
44+
```agda
45+
is-split-coequaliser-absolute
46+
: is-split-coequaliser C f g e s t
47+
→ is-split-coequaliser D (F₁ f) (F₁ g) (F₁ e) (F₁ s) (F₁ t)
48+
is-split-coequaliser-absolute
49+
{f = f} {g = g} {e = e} {s = s} {t = t} split-coeq = F-split-coeq
50+
where
51+
open is-split-coequaliser split-coeq
52+
53+
F-split-coeq : is-split-coequaliser D _ _ _ _ _
54+
F-split-coeq .coequal = weave coequal
55+
F-split-coeq .rep-section = annihilate rep-section
56+
F-split-coeq .witness-section = annihilate witness-section
57+
F-split-coeq .commute = weave commute
58+
```

0 commit comments

Comments
 (0)