Skip to content

Commit 8b6adcc

Browse files
committed
add Pushout Colimit proofs
1 parent 8b71fe2 commit 8b6adcc

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{-# OPTIONS --without-K --safe #-}
2+
3+
open import Categories.Category.Core using (Category)
4+
5+
module Categories.Diagram.Pushout.Colimit {o ℓ e} (C : Category o ℓ e) where
6+
7+
open import Categories.Category.Instance.Span
8+
open import Categories.Functor.Core
9+
open import Categories.Diagram.Pushout C
10+
11+
import Categories.Diagram.Colimit as Colim
12+
import Categories.Diagram.Duality as Dual
13+
import Categories.Diagram.Pullback.Limit as PBLim
14+
15+
private
16+
module C = Category C
17+
open Category C
18+
19+
module _ {F : Functor Span C} where
20+
open Functor F
21+
open Colim F
22+
open Dual C using (coPullback⇒Pushout ; Colimit⇒coLimit)
23+
open PBLim C.op using (limit⇒pullback)
24+
25+
private
26+
W = F₀ center
27+
A = F₀ left
28+
B = F₀ right
29+
30+
W⇒A : W ⇒ A
31+
W⇒A = F₁ span-arrˡ
32+
33+
W⇒B : W ⇒ B
34+
W⇒B = F₁ span-arrʳ
35+
36+
colimit⇒pushout : Colimit Pushout W⇒A W⇒B
37+
colimit⇒pushout colim = coPullback⇒Pushout (limit⇒pullback (Colimit⇒coLimit colim))
38+
39+
module _ {fA fB gA : Obj} {f : fB ⇒ fA} {g : fB ⇒ gA} (p : Pushout f g) where
40+
open PBLim C.op using (pullback⇒limit-F ; pullback⇒limit)
41+
open Dual C using (coLimit⇒Colimit ; Pushout⇒coPullback)
42+
43+
pushout⇒colimit-F : Functor Span C
44+
pushout⇒colimit-F = Functor.op (pullback⇒limit-F (Pushout⇒coPullback p))
45+
46+
open Colim pushout⇒colimit-F
47+
48+
pushout⇒colimit : Colimit
49+
pushout⇒colimit = coLimit⇒Colimit (pullback⇒limit (Pushout⇒coPullback p))

0 commit comments

Comments
 (0)