File tree Expand file tree Collapse file tree 1 file changed +49
-0
lines changed
src/Categories/Diagram/Pushout Expand file tree Collapse file tree 1 file changed +49
-0
lines changed Original file line number Diff line number Diff line change 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))
You can’t perform that action at this time.
0 commit comments