mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
110 lines
No EOL
38 KiB
HTML
110 lines
No EOL
38 KiB
HTML
<!DOCTYPE HTML>
|
||
<html><head><meta charset="utf-8"><title>Categories.Diagram.Colimit</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--without-K</a> <a id="25" class="Pragma">--safe</a> <a id="32" class="Symbol">#-}</a>
|
||
|
||
<a id="37" class="Keyword">open</a> <a id="42" class="Keyword">import</a> <a id="49" href="Categories.Category.html" class="Module">Categories.Category</a>
|
||
<a id="69" class="Keyword">open</a> <a id="74" class="Keyword">import</a> <a id="81" href="Categories.Functor.html" class="Module">Categories.Functor</a> <a id="100" class="Keyword">hiding</a> <a id="107" class="Symbol">(</a><a id="108" href="Categories.Functor.html#349" class="Function">id</a><a id="110" class="Symbol">)</a>
|
||
|
||
<a id="113" class="Comment">-- Coimit of a Cocone over a Functor F : J → C</a>
|
||
<a id="160" class="Keyword">module</a> <a id="167" href="Categories.Diagram.Colimit.html" class="Module">Categories.Diagram.Colimit</a>
|
||
<a id="196" class="Symbol">{</a><a id="197" href="Categories.Diagram.Colimit.html#197" class="Bound">o</a> <a id="199" href="Categories.Diagram.Colimit.html#199" class="Bound">ℓ</a> <a id="201" href="Categories.Diagram.Colimit.html#201" class="Bound">e</a><a id="202" class="Symbol">}</a> <a id="204" class="Symbol">{</a><a id="205" href="Categories.Diagram.Colimit.html#205" class="Bound">o′</a> <a id="208" href="Categories.Diagram.Colimit.html#208" class="Bound">ℓ′</a> <a id="211" href="Categories.Diagram.Colimit.html#211" class="Bound">e′</a><a id="213" class="Symbol">}</a> <a id="215" class="Symbol">{</a><a id="216" href="Categories.Diagram.Colimit.html#216" class="Bound">C</a> <a id="218" class="Symbol">:</a> <a id="220" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="229" href="Categories.Diagram.Colimit.html#197" class="Bound">o</a> <a id="231" href="Categories.Diagram.Colimit.html#199" class="Bound">ℓ</a> <a id="233" href="Categories.Diagram.Colimit.html#201" class="Bound">e</a><a id="234" class="Symbol">}</a> <a id="236" class="Symbol">{</a><a id="237" href="Categories.Diagram.Colimit.html#237" class="Bound">J</a> <a id="239" class="Symbol">:</a> <a id="241" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="250" href="Categories.Diagram.Colimit.html#205" class="Bound">o′</a> <a id="253" href="Categories.Diagram.Colimit.html#208" class="Bound">ℓ′</a> <a id="256" href="Categories.Diagram.Colimit.html#211" class="Bound">e′</a><a id="258" class="Symbol">}</a> <a id="260" class="Symbol">(</a><a id="261" href="Categories.Diagram.Colimit.html#261" class="Bound">F</a> <a id="263" class="Symbol">:</a> <a id="265" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="273" href="Categories.Diagram.Colimit.html#237" class="Bound">J</a> <a id="275" href="Categories.Diagram.Colimit.html#216" class="Bound">C</a><a id="276" class="Symbol">)</a> <a id="278" class="Keyword">where</a>
|
||
|
||
<a id="285" class="Keyword">private</a>
|
||
<a id="295" class="Keyword">module</a> <a id="C"></a><a id="302" href="Categories.Diagram.Colimit.html#302" class="Module">C</a> <a id="304" class="Symbol">=</a> <a id="306" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="315" href="Categories.Diagram.Colimit.html#216" class="Bound">C</a>
|
||
<a id="319" class="Keyword">module</a> <a id="J"></a><a id="326" href="Categories.Diagram.Colimit.html#326" class="Module">J</a> <a id="328" class="Symbol">=</a> <a id="330" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="339" href="Categories.Diagram.Colimit.html#237" class="Bound">J</a>
|
||
<a id="341" class="Keyword">open</a> <a id="346" href="Categories.Diagram.Colimit.html#302" class="Module">C</a>
|
||
<a id="348" class="Keyword">open</a> <a id="353" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
||
<a id="366" class="Keyword">open</a> <a id="371" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
|
||
<a id="377" class="Keyword">open</a> <a id="382" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="390" href="Categories.Diagram.Colimit.html#261" class="Bound">F</a>
|
||
|
||
<a id="393" class="Keyword">open</a> <a id="398" class="Keyword">import</a> <a id="405" href="Level.html" class="Module">Level</a>
|
||
<a id="411" class="Keyword">open</a> <a id="416" class="Keyword">import</a> <a id="423" href="Data.Product.html" class="Module">Data.Product</a> <a id="436" class="Keyword">using</a> <a id="442" class="Symbol">(</a><a id="443" href="Agda.Builtin.Sigma.html#246" class="Field">proj₂</a><a id="448" class="Symbol">)</a>
|
||
|
||
<a id="451" class="Keyword">open</a> <a id="456" class="Keyword">import</a> <a id="463" href="Categories.Category.Construction.Cocones.html" class="Module">Categories.Category.Construction.Cocones</a> <a id="504" href="Categories.Diagram.Colimit.html#261" class="Bound">F</a> <a id="506" class="Keyword">renaming</a> <a id="515" class="Symbol">(</a><a id="516" href="Categories.Diagram.Cocone.html#684" class="Record">Cocone⇒</a> <a id="524" class="Symbol">to</a> <a id="527" class="Record">_⇨_</a><a id="530" class="Symbol">)</a>
|
||
<a id="532" class="Keyword">open</a> <a id="537" class="Keyword">import</a> <a id="544" href="Categories.Object.Initial.html" class="Module">Categories.Object.Initial</a> <a id="570" class="Symbol">as</a> <a id="573" class="Module">I</a> <a id="575" class="Keyword">hiding</a> <a id="582" class="Symbol">(</a><a id="583" href="Categories.Object.Initial.html#1011" class="Function">up-to-iso</a><a id="592" class="Symbol">;</a> <a id="594" href="Categories.Object.Initial.html#1174" class="Function">transport-by-iso</a><a id="610" class="Symbol">)</a>
|
||
<a id="612" class="Keyword">open</a> <a id="617" class="Keyword">import</a> <a id="624" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="654" href="Categories.Diagram.Colimit.html#216" class="Bound">C</a>
|
||
<a id="656" class="Keyword">open</a> <a id="661" class="Keyword">import</a> <a id="668" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="688" href="Categories.Diagram.Colimit.html#216" class="Bound">C</a>
|
||
<a id="690" class="Keyword">open</a> <a id="695" class="Keyword">import</a> <a id="702" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="722" href="Categories.Category.Construction.Cocones.html#731" class="Function">Cocones</a> as <a id="MC"></a><a id="733" href="Categories.Diagram.Colimit.html#733" class="Module">MC</a> <a id="736" class="Keyword">using</a> <a id="742" class="Symbol">()</a> <a id="745" class="Keyword">renaming</a> <a id="754" class="Symbol">(</a><a id="755" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="759" class="Symbol">to</a> <a id="762" class="Record Operator">_⇔_</a><a id="765" class="Symbol">)</a>
|
||
|
||
<a id="768" class="Keyword">private</a>
|
||
<a id="778" class="Keyword">variable</a>
|
||
<a id="791" href="Categories.Diagram.Colimit.html#791" class="Generalizable">K</a> <a id="793" href="Categories.Diagram.Colimit.html#793" class="Generalizable">K′</a> <a id="797" class="Symbol">:</a> <a id="799" href="Categories.Diagram.Cocone.html#534" class="Record">Cocone</a>
|
||
<a id="810" href="Categories.Diagram.Colimit.html#810" class="Generalizable">A</a> <a id="812" href="Categories.Diagram.Colimit.html#812" class="Generalizable">B</a> <a id="816" class="Symbol">:</a> <a id="818" href="Categories.Category.Core.html#559" class="Function">J.Obj</a>
|
||
<a id="828" href="Categories.Diagram.Colimit.html#828" class="Generalizable">X</a> <a id="830" href="Categories.Diagram.Colimit.html#830" class="Generalizable">Y</a> <a id="832" href="Categories.Diagram.Colimit.html#832" class="Generalizable">Z</a> <a id="834" class="Symbol">:</a> <a id="836" href="Categories.Category.Core.html#559" class="Function">Obj</a>
|
||
<a id="844" href="Categories.Diagram.Colimit.html#844" class="Generalizable">q</a> <a id="850" class="Symbol">:</a> <a id="852" href="Categories.Diagram.Colimit.html#791" class="Generalizable">K</a> <a id="854" href="Categories.Diagram.Colimit.html#527" class="Record Operator">⇨</a> <a id="856" href="Categories.Diagram.Colimit.html#793" class="Generalizable">K′</a>
|
||
|
||
<a id="860" class="Comment">-- A Colimit is an Initial object in the category of Cocones</a>
|
||
<a id="921" class="Comment">-- (This could be unpacked...)</a>
|
||
<a id="954" class="Keyword">record</a> <a id="Colimit"></a><a id="961" href="Categories.Diagram.Colimit.html#961" class="Record">Colimit</a> <a id="969" class="Symbol">:</a> <a id="971" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="975" class="Symbol">(</a><a id="976" href="Categories.Diagram.Colimit.html#197" class="Bound">o</a> <a id="978" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="980" href="Categories.Diagram.Colimit.html#199" class="Bound">ℓ</a> <a id="982" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="984" href="Categories.Diagram.Colimit.html#201" class="Bound">e</a> <a id="986" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="988" href="Categories.Diagram.Colimit.html#205" class="Bound">o′</a> <a id="991" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="993" href="Categories.Diagram.Colimit.html#208" class="Bound">ℓ′</a> <a id="996" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="998" href="Categories.Diagram.Colimit.html#211" class="Bound">e′</a><a id="1000" class="Symbol">)</a> <a id="1002" class="Keyword">where</a>
|
||
<a id="1010" class="Keyword">field</a>
|
||
<a id="Colimit.initial"></a><a id="1020" href="Categories.Diagram.Colimit.html#1020" class="Field">initial</a> <a id="1028" class="Symbol">:</a> <a id="1030" href="Categories.Object.Initial.html#760" class="Record">Initial</a> <a id="1038" href="Categories.Category.Construction.Cocones.html#731" class="Function">Cocones</a>
|
||
|
||
<a id="1049" class="Keyword">module</a> <a id="Colimit.initial"></a><a id="1056" href="Categories.Diagram.Colimit.html#1056" class="Module">initial</a> <a id="1064" class="Symbol">=</a> <a id="1066" href="Categories.Object.Initial.html#760" class="Module">Initial</a> <a id="1074" href="Categories.Diagram.Colimit.html#1020" class="Field">initial</a>
|
||
|
||
<a id="1085" class="Keyword">open</a> <a id="1090" href="Categories.Diagram.Colimit.html#1056" class="Module">initial</a> <a id="1098" class="Keyword">using</a> <a id="1104" class="Symbol">()</a> <a id="1107" class="Keyword">renaming</a> <a id="1116" class="Symbol">(</a><a id="1117" href="Categories.Object.Initial.html#804" class="Function">⊥</a> <a id="1119" class="Symbol">to</a> <a id="1122" class="Function">colimit</a><a id="1129" class="Symbol">)</a> <a id="1131" class="Keyword">public</a>
|
||
<a id="1140" class="Keyword">open</a> <a id="1145" href="Categories.Diagram.Cocone.html#534" class="Module">Cocone</a> <a id="1152" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="1160" class="Keyword">hiding</a> <a id="1167" class="Symbol">(</a><a id="1168" href="Categories.Diagram.Cocone.html#604" class="Field">coapex</a><a id="1174" class="Symbol">)</a> <a id="1176" class="Keyword">renaming</a> <a id="1185" class="Symbol">(</a><a id="1186" href="Categories.Diagram.Cocone.html#588" class="Field">N</a> <a id="1188" class="Symbol">to</a> <a id="1191" class="Field">coapex</a><a id="1197" class="Symbol">;</a> <a id="1199" href="Categories.Diagram.Cocone.html#425" class="Function">ψ</a> <a id="1201" class="Symbol">to</a> <a id="1204" class="Function">proj</a><a id="1208" class="Symbol">;</a> <a id="1210" href="Categories.Diagram.Cocone.html#471" class="Function">commute</a> <a id="1218" class="Symbol">to</a> <a id="1221" class="Function">colimit-commute</a><a id="1236" class="Symbol">)</a> <a id="1238" class="Keyword">public</a>
|
||
|
||
<a id="Colimit.rep-cocone"></a><a id="1248" href="Categories.Diagram.Colimit.html#1248" class="Function">rep-cocone</a> <a id="1259" class="Symbol">:</a> <a id="1261" class="Symbol">∀</a> <a id="1263" href="Categories.Diagram.Colimit.html#1263" class="Bound">K</a> <a id="1265" class="Symbol">→</a> <a id="1267" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="1275" href="Categories.Diagram.Colimit.html#527" class="Record Operator">⇨</a> <a id="1277" href="Categories.Diagram.Colimit.html#1263" class="Bound">K</a>
|
||
<a id="1281" href="Categories.Diagram.Colimit.html#1248" class="Function">rep-cocone</a> <a id="1292" href="Categories.Diagram.Colimit.html#1292" class="Bound">K</a> <a id="1294" class="Symbol">=</a> <a id="1296" href="Categories.Object.Initial.html#478" class="Function">initial.!</a> <a id="1306" class="Symbol">{</a><a id="1307" href="Categories.Diagram.Colimit.html#1292" class="Bound">K</a><a id="1308" class="Symbol">}</a>
|
||
|
||
<a id="Colimit.rep"></a><a id="1313" href="Categories.Diagram.Colimit.html#1313" class="Function">rep</a> <a id="1317" class="Symbol">:</a> <a id="1319" class="Symbol">∀</a> <a id="1321" href="Categories.Diagram.Colimit.html#1321" class="Bound">K</a> <a id="1323" class="Symbol">→</a> <a id="1325" href="Categories.Diagram.Colimit.html#1191" class="Function">coapex</a> <a id="1332" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="1334" href="Categories.Diagram.Cocone.html#588" class="Field">Cocone.N</a> <a id="1343" href="Categories.Diagram.Colimit.html#1321" class="Bound">K</a>
|
||
<a id="1347" href="Categories.Diagram.Colimit.html#1313" class="Function">rep</a> <a id="1351" href="Categories.Diagram.Colimit.html#1351" class="Bound">K</a> <a id="1353" class="Symbol">=</a> <a id="1355" href="Categories.Diagram.Cocone.html#745" class="Function">arr</a>
|
||
<a id="1363" class="Keyword">where</a> <a id="1369" class="Keyword">open</a> <a id="1374" href="Categories.Diagram.Colimit.html#527" class="Module">_⇨_</a> <a id="1378" class="Symbol">(</a><a id="1379" href="Categories.Diagram.Colimit.html#1248" class="Function">rep-cocone</a> <a id="1390" href="Categories.Diagram.Colimit.html#1351" class="Bound">K</a><a id="1391" class="Symbol">)</a>
|
||
|
||
<a id="Colimit.unrep"></a><a id="1396" href="Categories.Diagram.Colimit.html#1396" class="Function">unrep</a> <a id="1402" class="Symbol">:</a> <a id="1404" href="Categories.Diagram.Colimit.html#1191" class="Function">coapex</a> <a id="1411" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="1413" href="Categories.Diagram.Colimit.html#828" class="Generalizable">X</a> <a id="1415" class="Symbol">→</a> <a id="1417" href="Categories.Diagram.Cocone.html#534" class="Record">Cocone</a>
|
||
<a id="1426" href="Categories.Diagram.Colimit.html#1396" class="Function">unrep</a> <a id="1432" href="Categories.Diagram.Colimit.html#1432" class="Bound">f</a> <a id="1434" class="Symbol">=</a> <a id="1436" class="Keyword">record</a> <a id="1443" class="Symbol">{</a>
|
||
<a id="1449" href="Categories.Diagram.Cocone.html#604" class="Field">coapex</a> <a id="1463" class="Symbol">=</a> <a id="1465" class="Keyword">record</a>
|
||
<a id="1478" class="Symbol">{</a> <a id="1480" href="Categories.Diagram.Cocone.html#425" class="Field">ψ</a> <a id="1488" class="Symbol">=</a> <a id="1490" class="Symbol">λ</a> <a id="1492" href="Categories.Diagram.Colimit.html#1492" class="Bound">A</a> <a id="1494" class="Symbol">→</a> <a id="1496" href="Categories.Diagram.Colimit.html#1432" class="Bound">f</a> <a id="1498" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1500" href="Categories.Diagram.Colimit.html#1204" class="Function">proj</a> <a id="1505" href="Categories.Diagram.Colimit.html#1492" class="Bound">A</a>
|
||
<a id="1513" class="Symbol">;</a> <a id="1515" href="Categories.Diagram.Cocone.html#471" class="Field">commute</a> <a id="1523" class="Symbol">=</a> <a id="1525" class="Symbol">λ</a> <a id="1527" href="Categories.Diagram.Colimit.html#1527" class="Bound">g</a> <a id="1529" class="Symbol">→</a> <a id="1531" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="1537" class="Symbol">(</a><a id="1538" href="Categories.Diagram.Colimit.html#1221" class="Function">colimit-commute</a> <a id="1554" href="Categories.Diagram.Colimit.html#1527" class="Bound">g</a><a id="1555" class="Symbol">)</a>
|
||
<a id="1563" class="Symbol">}</a>
|
||
<a id="1569" class="Symbol">}</a>
|
||
|
||
<a id="Colimit.coconify"></a><a id="1574" href="Categories.Diagram.Colimit.html#1574" class="Function">coconify</a> <a id="1583" class="Symbol">:</a> <a id="1585" class="Symbol">(</a><a id="1586" href="Categories.Diagram.Colimit.html#1586" class="Bound">f</a> <a id="1588" class="Symbol">:</a> <a id="1590" href="Categories.Diagram.Colimit.html#1191" class="Function">coapex</a> <a id="1597" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="1599" href="Categories.Diagram.Colimit.html#828" class="Generalizable">X</a><a id="1600" class="Symbol">)</a> <a id="1602" class="Symbol">→</a> <a id="1604" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="1612" href="Categories.Diagram.Colimit.html#527" class="Record Operator">⇨</a> <a id="1614" href="Categories.Diagram.Colimit.html#1396" class="Function">unrep</a> <a id="1620" href="Categories.Diagram.Colimit.html#1586" class="Bound">f</a>
|
||
<a id="1624" href="Categories.Diagram.Colimit.html#1574" class="Function">coconify</a> <a id="1633" href="Categories.Diagram.Colimit.html#1633" class="Bound">f</a> <a id="1635" class="Symbol">=</a> <a id="1637" class="Keyword">record</a>
|
||
<a id="1648" class="Symbol">{</a> <a id="1650" href="Categories.Diagram.Cocone.html#745" class="Field">arr</a> <a id="1658" class="Symbol">=</a> <a id="1660" href="Categories.Diagram.Colimit.html#1633" class="Bound">f</a>
|
||
<a id="1666" class="Symbol">;</a> <a id="1668" href="Categories.Diagram.Cocone.html#770" class="Field">commute</a> <a id="1676" class="Symbol">=</a> <a id="1678" href="Relation.Binary.Structures.html#1577" class="Function">refl</a>
|
||
<a id="1687" class="Symbol">}</a>
|
||
|
||
<a id="Colimit.commute"></a><a id="1692" href="Categories.Diagram.Colimit.html#1692" class="Function">commute</a> <a id="1700" class="Symbol">:</a> <a id="1702" href="Categories.Diagram.Colimit.html#1313" class="Function">rep</a> <a id="1706" href="Categories.Diagram.Colimit.html#791" class="Generalizable">K</a> <a id="1708" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1710" href="Categories.Diagram.Colimit.html#1204" class="Function">proj</a> <a id="1715" href="Categories.Diagram.Colimit.html#810" class="Generalizable">A</a> <a id="1717" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1719" href="Categories.Diagram.Cocone.html#425" class="Function">Cocone.ψ</a> <a id="1728" href="Categories.Diagram.Colimit.html#791" class="Generalizable">K</a> <a id="1730" href="Categories.Diagram.Colimit.html#810" class="Generalizable">A</a>
|
||
<a id="1734" href="Categories.Diagram.Colimit.html#1692" class="Function">commute</a> <a id="1742" class="Symbol">{</a><a id="1743" class="Argument">K</a> <a id="1745" class="Symbol">=</a> <a id="1747" href="Categories.Diagram.Colimit.html#1747" class="Bound">K</a><a id="1748" class="Symbol">}</a> <a id="1750" class="Symbol">=</a> <a id="1752" href="Categories.Diagram.Cocone.html#770" class="Field">_⇨_.commute</a> <a id="1764" class="Symbol">(</a><a id="1765" href="Categories.Diagram.Colimit.html#1248" class="Function">rep-cocone</a> <a id="1776" href="Categories.Diagram.Colimit.html#1747" class="Bound">K</a><a id="1777" class="Symbol">)</a>
|
||
|
||
<a id="Colimit.unrep-cone"></a><a id="1782" href="Categories.Diagram.Colimit.html#1782" class="Function">unrep-cone</a> <a id="1793" class="Symbol">:</a> <a id="1795" class="Symbol">(</a><a id="1796" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="1804" href="Categories.Diagram.Colimit.html#527" class="Record Operator">⇨</a> <a id="1806" href="Categories.Diagram.Colimit.html#791" class="Generalizable">K</a><a id="1807" class="Symbol">)</a> <a id="1809" class="Symbol">→</a> <a id="1811" href="Categories.Diagram.Cocone.html#534" class="Record">Cocone</a>
|
||
<a id="1820" href="Categories.Diagram.Colimit.html#1782" class="Function">unrep-cone</a> <a id="1831" href="Categories.Diagram.Colimit.html#1831" class="Bound">f</a> <a id="1833" class="Symbol">=</a> <a id="1835" href="Categories.Diagram.Colimit.html#1396" class="Function">unrep</a> <a id="1841" class="Symbol">(</a><a id="1842" href="Categories.Diagram.Cocone.html#745" class="Field">_⇨_.arr</a> <a id="1850" href="Categories.Diagram.Colimit.html#1831" class="Bound">f</a><a id="1851" class="Symbol">)</a>
|
||
|
||
<a id="Colimit.g-η"></a><a id="1856" href="Categories.Diagram.Colimit.html#1856" class="Function">g-η</a> <a id="1860" class="Symbol">:</a> <a id="1862" class="Symbol">∀</a> <a id="1864" class="Symbol">{</a><a id="1865" href="Categories.Diagram.Colimit.html#1865" class="Bound">f</a> <a id="1867" class="Symbol">:</a> <a id="1869" href="Categories.Diagram.Colimit.html#1191" class="Function">coapex</a> <a id="1876" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="1878" href="Categories.Diagram.Colimit.html#828" class="Generalizable">X</a><a id="1879" class="Symbol">}</a> <a id="1881" class="Symbol">→</a> <a id="1883" href="Categories.Diagram.Colimit.html#1313" class="Function">rep</a> <a id="1887" class="Symbol">(</a><a id="1888" href="Categories.Diagram.Colimit.html#1396" class="Function">unrep</a> <a id="1894" href="Categories.Diagram.Colimit.html#1865" class="Bound">f</a><a id="1895" class="Symbol">)</a> <a id="1897" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1899" href="Categories.Diagram.Colimit.html#1865" class="Bound">f</a>
|
||
<a id="1903" href="Categories.Diagram.Colimit.html#1856" class="Function">g-η</a> <a id="1907" class="Symbol">{</a><a id="1908" class="Argument">f</a> <a id="1910" class="Symbol">=</a> <a id="1912" href="Categories.Diagram.Colimit.html#1912" class="Bound">f</a><a id="1913" class="Symbol">}</a> <a id="1915" class="Symbol">=</a> <a id="1917" href="Categories.Object.Initial.html#506" class="Function">initial.!-unique</a> <a id="1934" class="Symbol">(</a><a id="1935" href="Categories.Diagram.Colimit.html#1574" class="Function">coconify</a> <a id="1944" href="Categories.Diagram.Colimit.html#1912" class="Bound">f</a><a id="1945" class="Symbol">)</a>
|
||
|
||
<a id="Colimit.η-cocone"></a><a id="1950" href="Categories.Diagram.Colimit.html#1950" class="Function">η-cocone</a> <a id="1959" class="Symbol">:</a> <a id="1961" href="Categories.Category.Construction.Cocones.html#731" class="Function">Cocones</a> <a id="1969" href="Categories.Category.html#609" class="Function Operator">[</a> <a id="1971" href="Categories.Diagram.Colimit.html#1248" class="Function">rep-cocone</a> <a id="1982" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="1990" href="Categories.Category.html#609" class="Function Operator">≈</a> <a id="1992" href="Categories.Category.Core.html#630" class="Field">Category.id</a> <a id="2004" href="Categories.Category.Construction.Cocones.html#731" class="Function">Cocones</a> <a id="2012" href="Categories.Category.html#609" class="Function Operator">]</a>
|
||
<a id="2016" href="Categories.Diagram.Colimit.html#1950" class="Function">η-cocone</a> <a id="2025" class="Symbol">=</a> <a id="2027" href="Categories.Object.Initial.html#698" class="Function">initial.⊥-id</a> <a id="2040" class="Symbol">(</a><a id="2041" href="Categories.Diagram.Colimit.html#1248" class="Function">rep-cocone</a> <a id="2052" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a><a id="2059" class="Symbol">)</a>
|
||
|
||
<a id="Colimit.η"></a><a id="2064" href="Categories.Diagram.Colimit.html#2064" class="Function">η</a> <a id="2066" class="Symbol">:</a> <a id="2068" href="Categories.Diagram.Colimit.html#1313" class="Function">rep</a> <a id="2072" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="2080" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="2082" href="Categories.Category.Core.html#630" class="Function">id</a>
|
||
<a id="2087" href="Categories.Diagram.Colimit.html#2064" class="Function">η</a> <a id="2089" class="Symbol">=</a> <a id="2091" href="Categories.Diagram.Colimit.html#1950" class="Function">η-cocone</a>
|
||
|
||
<a id="Colimit.rep-cocone∘"></a><a id="2103" href="Categories.Diagram.Colimit.html#2103" class="Function">rep-cocone∘</a> <a id="2115" class="Symbol">:</a> <a id="2117" href="Categories.Category.Construction.Cocones.html#731" class="Function">Cocones</a> <a id="2125" href="Categories.Category.html#609" class="Function Operator">[</a> <a id="2127" href="Categories.Category.Construction.Cocones.html#731" class="Function">Cocones</a> <a id="2135" href="Categories.Category.html#700" class="Function Operator">[</a> <a id="2137" href="Categories.Diagram.Colimit.html#844" class="Generalizable">q</a> <a id="2139" href="Categories.Category.html#700" class="Function Operator">∘</a> <a id="2141" href="Categories.Diagram.Colimit.html#1248" class="Function">rep-cocone</a> <a id="2152" href="Categories.Diagram.Colimit.html#791" class="Generalizable">K</a> <a id="2154" href="Categories.Category.html#700" class="Function Operator">]</a> <a id="2156" href="Categories.Category.html#609" class="Function Operator">≈</a> <a id="2158" href="Categories.Diagram.Colimit.html#1248" class="Function">rep-cocone</a> <a id="2169" href="Categories.Diagram.Colimit.html#793" class="Generalizable">K′</a> <a id="2172" href="Categories.Category.html#609" class="Function Operator">]</a>
|
||
<a id="2176" href="Categories.Diagram.Colimit.html#2103" class="Function">rep-cocone∘</a> <a id="2188" class="Symbol">{</a><a id="2189" class="Argument">K</a> <a id="2191" class="Symbol">=</a> <a id="2193" href="Categories.Diagram.Colimit.html#2193" class="Bound">K</a><a id="2194" class="Symbol">}</a> <a id="2196" class="Symbol">{</a><a id="2197" class="Argument">q</a> <a id="2199" class="Symbol">=</a> <a id="2201" href="Categories.Diagram.Colimit.html#2201" class="Bound">q</a><a id="2202" class="Symbol">}</a> <a id="2204" class="Symbol">=</a> <a id="2206" href="Relation.Binary.Structures.html#1603" class="Function">Equiv.sym</a> <a id="2216" class="Symbol">(</a><a id="2217" href="Categories.Object.Initial.html#506" class="Function">initial.!-unique</a> <a id="2234" class="Symbol">(</a><a id="2235" href="Categories.Category.Construction.Cocones.html#731" class="Function">Cocones</a> <a id="2243" href="Categories.Category.html#700" class="Function Operator">[</a> <a id="2245" href="Categories.Diagram.Colimit.html#2201" class="Bound">q</a> <a id="2247" href="Categories.Category.html#700" class="Function Operator">∘</a> <a id="2249" href="Categories.Diagram.Colimit.html#1248" class="Function">rep-cocone</a> <a id="2260" href="Categories.Diagram.Colimit.html#2193" class="Bound">K</a> <a id="2262" href="Categories.Category.html#700" class="Function Operator">]</a><a id="2263" class="Symbol">))</a>
|
||
|
||
<a id="Colimit.rep∘"></a><a id="2269" href="Categories.Diagram.Colimit.html#2269" class="Function">rep∘</a> <a id="2274" class="Symbol">:</a> <a id="2276" class="Symbol">∀</a> <a id="2278" class="Symbol">{</a><a id="2279" href="Categories.Diagram.Colimit.html#2279" class="Bound">q</a> <a id="2281" class="Symbol">:</a> <a id="2283" href="Categories.Diagram.Colimit.html#791" class="Generalizable">K</a> <a id="2285" href="Categories.Diagram.Colimit.html#527" class="Record Operator">⇨</a> <a id="2287" href="Categories.Diagram.Colimit.html#793" class="Generalizable">K′</a><a id="2289" class="Symbol">}</a> <a id="2291" class="Symbol">→</a> <a id="2293" href="Categories.Diagram.Cocone.html#745" class="Field">_⇨_.arr</a> <a id="2301" href="Categories.Diagram.Colimit.html#2279" class="Bound">q</a> <a id="2303" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2305" href="Categories.Diagram.Colimit.html#1313" class="Function">rep</a> <a id="2309" href="Categories.Diagram.Colimit.html#791" class="Generalizable">K</a> <a id="2311" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="2313" href="Categories.Diagram.Colimit.html#1313" class="Function">rep</a> <a id="2317" href="Categories.Diagram.Colimit.html#793" class="Generalizable">K′</a>
|
||
<a id="2322" href="Categories.Diagram.Colimit.html#2269" class="Function">rep∘</a> <a id="2327" class="Symbol">{</a><a id="2328" class="Argument">q</a> <a id="2330" class="Symbol">=</a> <a id="2332" href="Categories.Diagram.Colimit.html#2332" class="Bound">q</a><a id="2333" class="Symbol">}</a> <a id="2335" class="Symbol">=</a> <a id="2337" href="Categories.Diagram.Colimit.html#2103" class="Function">rep-cocone∘</a> <a id="2349" class="Symbol">{</a><a id="2350" class="Argument">q</a> <a id="2352" class="Symbol">=</a> <a id="2354" href="Categories.Diagram.Colimit.html#2332" class="Bound">q</a><a id="2355" class="Symbol">}</a>
|
||
|
||
<a id="Colimit.rep-cone-self-id"></a><a id="2360" href="Categories.Diagram.Colimit.html#2360" class="Function">rep-cone-self-id</a> <a id="2377" class="Symbol">:</a> <a id="2379" href="Categories.Category.Construction.Cocones.html#731" class="Function">Cocones</a> <a id="2387" href="Categories.Category.html#609" class="Function Operator">[</a> <a id="2389" href="Categories.Diagram.Colimit.html#1248" class="Function">rep-cocone</a> <a id="2400" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="2408" href="Categories.Category.html#609" class="Function Operator">≈</a> <a id="2411" href="Categories.Category.Core.html#630" class="Function">Cocones.id</a> <a id="2423" href="Categories.Category.html#609" class="Function Operator">]</a>
|
||
<a id="2427" href="Categories.Diagram.Colimit.html#2360" class="Function">rep-cone-self-id</a> <a id="2444" class="Symbol">=</a> <a id="2446" href="Categories.Object.Initial.html#506" class="Function">initial.!-unique</a> <a id="2463" class="Symbol">(</a> <a id="2465" href="Categories.Category.Core.html#630" class="Function">Cocones.id</a> <a id="2476" class="Symbol">)</a>
|
||
|
||
<a id="Colimit.rep-self-id"></a><a id="2481" href="Categories.Diagram.Colimit.html#2481" class="Function">rep-self-id</a> <a id="2493" class="Symbol">:</a> <a id="2495" href="Categories.Diagram.Colimit.html#1313" class="Function">rep</a> <a id="2499" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="2507" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="2509" href="Categories.Category.Core.html#630" class="Function">id</a>
|
||
<a id="2514" href="Categories.Diagram.Colimit.html#2481" class="Function">rep-self-id</a> <a id="2526" class="Symbol">=</a> <a id="2528" href="Categories.Diagram.Colimit.html#2360" class="Function">rep-cone-self-id</a>
|
||
|
||
<a id="2546" class="Keyword">open</a> <a id="2551" href="Categories.Diagram.Colimit.html#961" class="Module">Colimit</a>
|
||
|
||
<a id="up-to-iso-cone"></a><a id="2560" href="Categories.Diagram.Colimit.html#2560" class="Function">up-to-iso-cone</a> <a id="2575" class="Symbol">:</a> <a id="2577" class="Symbol">(</a><a id="2578" href="Categories.Diagram.Colimit.html#2578" class="Bound">L₁</a> <a id="2581" href="Categories.Diagram.Colimit.html#2581" class="Bound">L₂</a> <a id="2584" class="Symbol">:</a> <a id="2586" href="Categories.Diagram.Colimit.html#961" class="Record">Colimit</a><a id="2593" class="Symbol">)</a> <a id="2595" class="Symbol">→</a> <a id="2597" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="2605" href="Categories.Diagram.Colimit.html#2578" class="Bound">L₁</a> <a id="2608" href="Categories.Diagram.Colimit.html#762" class="Record Operator">⇔</a> <a id="2610" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="2618" href="Categories.Diagram.Colimit.html#2581" class="Bound">L₂</a>
|
||
<a id="2621" href="Categories.Diagram.Colimit.html#2560" class="Function">up-to-iso-cone</a> <a id="2636" href="Categories.Diagram.Colimit.html#2636" class="Bound">L₁</a> <a id="2639" href="Categories.Diagram.Colimit.html#2639" class="Bound">L₂</a> <a id="2642" class="Symbol">=</a> <a id="2645" href="Categories.Object.Initial.html#1011" class="Function">I.up-to-iso</a> <a id="2657" href="Categories.Category.Construction.Cocones.html#731" class="Function">Cocones</a> <a id="2665" class="Symbol">(</a><a id="2666" href="Categories.Diagram.Colimit.html#1020" class="Field">initial</a> <a id="2674" href="Categories.Diagram.Colimit.html#2636" class="Bound">L₁</a><a id="2676" class="Symbol">)</a> <a id="2678" class="Symbol">(</a><a id="2679" href="Categories.Diagram.Colimit.html#1020" class="Field">initial</a> <a id="2687" href="Categories.Diagram.Colimit.html#2639" class="Bound">L₂</a><a id="2689" class="Symbol">)</a>
|
||
|
||
<a id="up-to-iso"></a><a id="2692" href="Categories.Diagram.Colimit.html#2692" class="Function">up-to-iso</a> <a id="2702" class="Symbol">:</a> <a id="2704" class="Symbol">(</a><a id="2705" href="Categories.Diagram.Colimit.html#2705" class="Bound">L₁</a> <a id="2708" href="Categories.Diagram.Colimit.html#2708" class="Bound">L₂</a> <a id="2711" class="Symbol">:</a> <a id="2713" href="Categories.Diagram.Colimit.html#961" class="Record">Colimit</a><a id="2720" class="Symbol">)</a> <a id="2722" class="Symbol">→</a> <a id="2724" href="Categories.Diagram.Colimit.html#1191" class="Function">coapex</a> <a id="2731" href="Categories.Diagram.Colimit.html#2705" class="Bound">L₁</a> <a id="2734" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="2736" href="Categories.Diagram.Colimit.html#1191" class="Function">coapex</a> <a id="2743" href="Categories.Diagram.Colimit.html#2708" class="Bound">L₂</a>
|
||
<a id="2746" href="Categories.Diagram.Colimit.html#2692" class="Function">up-to-iso</a> <a id="2756" href="Categories.Diagram.Colimit.html#2756" class="Bound">L₁</a> <a id="2759" href="Categories.Diagram.Colimit.html#2759" class="Bound">L₂</a> <a id="2762" class="Symbol">=</a> <a id="2765" href="Categories.Category.Construction.Cocones.html#2117" class="Function">iso-cocone⇒iso-coapex</a> <a id="2787" class="Symbol">(</a><a id="2788" href="Categories.Diagram.Colimit.html#2560" class="Function">up-to-iso-cone</a> <a id="2803" href="Categories.Diagram.Colimit.html#2756" class="Bound">L₁</a> <a id="2806" href="Categories.Diagram.Colimit.html#2759" class="Bound">L₂</a><a id="2808" class="Symbol">)</a>
|
||
|
||
<a id="transport-by-iso-cocone"></a><a id="2811" href="Categories.Diagram.Colimit.html#2811" class="Function">transport-by-iso-cocone</a> <a id="2835" class="Symbol">:</a> <a id="2837" class="Symbol">(</a><a id="2838" href="Categories.Diagram.Colimit.html#2838" class="Bound">C</a> <a id="2840" class="Symbol">:</a> <a id="2842" href="Categories.Diagram.Colimit.html#961" class="Record">Colimit</a><a id="2849" class="Symbol">)</a> <a id="2851" class="Symbol">→</a> <a id="2853" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="2861" href="Categories.Diagram.Colimit.html#2838" class="Bound">C</a> <a id="2863" href="Categories.Diagram.Colimit.html#762" class="Record Operator">⇔</a> <a id="2865" href="Categories.Diagram.Colimit.html#791" class="Generalizable">K</a> <a id="2867" class="Symbol">→</a> <a id="2869" href="Categories.Diagram.Colimit.html#961" class="Record">Colimit</a>
|
||
<a id="2877" href="Categories.Diagram.Colimit.html#2811" class="Function">transport-by-iso-cocone</a> <a id="2901" href="Categories.Diagram.Colimit.html#2901" class="Bound">C</a> <a id="2903" href="Categories.Diagram.Colimit.html#2903" class="Bound">C⇿K</a> <a id="2907" class="Symbol">=</a> <a id="2909" class="Keyword">record</a>
|
||
<a id="2918" class="Symbol">{</a> <a id="2920" href="Categories.Diagram.Colimit.html#1020" class="Field">initial</a> <a id="2928" class="Symbol">=</a> <a id="2931" href="Categories.Object.Initial.html#1174" class="Function">I.transport-by-iso</a> <a id="2950" href="Categories.Category.Construction.Cocones.html#731" class="Function">Cocones</a> <a id="2958" class="Symbol">(</a><a id="2959" href="Categories.Diagram.Colimit.html#1020" class="Field">initial</a> <a id="2967" href="Categories.Diagram.Colimit.html#2901" class="Bound">C</a><a id="2968" class="Symbol">)</a> <a id="2970" href="Categories.Diagram.Colimit.html#2903" class="Bound">C⇿K</a>
|
||
<a id="2976" class="Symbol">}</a>
|
||
|
||
<a id="transport-by-iso"></a><a id="2979" href="Categories.Diagram.Colimit.html#2979" class="Function">transport-by-iso</a> <a id="2996" class="Symbol">:</a> <a id="2998" class="Symbol">(</a><a id="2999" href="Categories.Diagram.Colimit.html#2999" class="Bound">C</a> <a id="3001" class="Symbol">:</a> <a id="3003" href="Categories.Diagram.Colimit.html#961" class="Record">Colimit</a><a id="3010" class="Symbol">)</a> <a id="3012" class="Symbol">→</a> <a id="3014" href="Categories.Diagram.Colimit.html#1191" class="Function">coapex</a> <a id="3021" href="Categories.Diagram.Colimit.html#2999" class="Bound">C</a> <a id="3023" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="3025" href="Categories.Diagram.Colimit.html#828" class="Generalizable">X</a> <a id="3027" class="Symbol">→</a> <a id="3029" href="Categories.Diagram.Colimit.html#961" class="Record">Colimit</a>
|
||
<a id="3037" href="Categories.Diagram.Colimit.html#2979" class="Function">transport-by-iso</a> <a id="3054" href="Categories.Diagram.Colimit.html#3054" class="Bound">C</a> <a id="3056" href="Categories.Diagram.Colimit.html#3056" class="Bound">C≅X</a> <a id="3060" class="Symbol">=</a> <a id="3062" href="Categories.Diagram.Colimit.html#2811" class="Function">transport-by-iso-cocone</a> <a id="3086" href="Categories.Diagram.Colimit.html#3054" class="Bound">C</a> <a id="3088" class="Symbol">(</a><a id="3089" href="Agda.Builtin.Sigma.html#246" class="Field">proj₂</a> <a id="3095" href="Categories.Diagram.Colimit.html#3106" class="Function">p</a><a id="3096" class="Symbol">)</a>
|
||
<a id="3100" class="Keyword">where</a> <a id="3106" href="Categories.Diagram.Colimit.html#3106" class="Function">p</a> <a id="3108" class="Symbol">=</a> <a id="3110" href="Categories.Category.Construction.Cocones.html#1602" class="Function">cocone-resp-iso</a> <a id="3126" class="Symbol">(</a><a id="3127" href="Categories.Diagram.Colimit.html#1122" class="Function">colimit</a> <a id="3135" href="Categories.Diagram.Colimit.html#3054" class="Bound">C</a><a id="3136" class="Symbol">)</a> <a id="3138" href="Categories.Diagram.Colimit.html#3056" class="Bound">C≅X</a>
|
||
</pre></body></html> |