bsc-leon-vatthauer/public/Categories.Diagram.Coequalizer.html

100 lines
46 KiB
HTML
Raw Normal View History

2023-08-19 16:11:22 +02:00
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Categories.Diagram.Coequalizer</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.Core.html" class="Module">Categories.Category.Core</a> <a id="74" class="Keyword">using</a> <a id="80" class="Symbol">(</a><a id="81" href="Categories.Category.Core.html#442" class="Record">Category</a><a id="89" class="Symbol">)</a>
<a id="92" class="Keyword">module</a> <a id="99" href="Categories.Diagram.Coequalizer.html" class="Module">Categories.Diagram.Coequalizer</a> <a id="130" class="Symbol">{</a><a id="131" href="Categories.Diagram.Coequalizer.html#131" class="Bound">o</a> <a id="133" href="Categories.Diagram.Coequalizer.html#133" class="Bound"></a> <a id="135" href="Categories.Diagram.Coequalizer.html#135" class="Bound">e</a><a id="136" class="Symbol">}</a> <a id="138" class="Symbol">(</a><a id="139" href="Categories.Diagram.Coequalizer.html#139" class="Bound">𝒞</a> <a id="141" class="Symbol">:</a> <a id="143" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="152" href="Categories.Diagram.Coequalizer.html#131" class="Bound">o</a> <a id="154" href="Categories.Diagram.Coequalizer.html#133" class="Bound"></a> <a id="156" href="Categories.Diagram.Coequalizer.html#135" class="Bound">e</a><a id="157" class="Symbol">)</a> <a id="159" class="Keyword">where</a>
<a id="166" class="Keyword">open</a> <a id="171" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="180" href="Categories.Diagram.Coequalizer.html#139" class="Bound">𝒞</a>
<a id="182" class="Keyword">open</a> <a id="187" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="200" class="Keyword">open</a> <a id="205" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
<a id="212" class="Keyword">open</a> <a id="217" class="Keyword">import</a> <a id="224" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="244" href="Categories.Diagram.Coequalizer.html#139" class="Bound">𝒞</a>
<a id="246" class="Keyword">open</a> <a id="251" class="Keyword">import</a> <a id="258" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="288" href="Categories.Diagram.Coequalizer.html#139" class="Bound">𝒞</a>
<a id="291" class="Keyword">open</a> <a id="296" class="Keyword">import</a> <a id="303" href="Level.html" class="Module">Level</a>
<a id="309" class="Keyword">open</a> <a id="314" class="Keyword">import</a> <a id="321" href="Function.html" class="Module">Function</a> <a id="330" class="Keyword">using</a> <a id="336" class="Symbol">(</a><a id="337" href="Function.Base.html#1928" class="Function Operator">_$_</a><a id="340" class="Symbol">)</a>
<a id="343" class="Keyword">private</a>
<a id="353" class="Keyword">variable</a>
<a id="366" href="Categories.Diagram.Coequalizer.html#366" class="Generalizable">A</a> <a id="368" href="Categories.Diagram.Coequalizer.html#368" class="Generalizable">B</a> <a id="370" href="Categories.Diagram.Coequalizer.html#370" class="Generalizable">C</a> <a id="372" class="Symbol">:</a> <a id="374" href="Categories.Category.Core.html#559" class="Field">Obj</a>
<a id="382" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="384" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a> <a id="386" href="Categories.Diagram.Coequalizer.html#386" class="Generalizable">j</a> <a id="388" href="Categories.Diagram.Coequalizer.html#388" class="Generalizable">k</a> <a id="390" class="Symbol">:</a> <a id="392" href="Categories.Diagram.Coequalizer.html#366" class="Generalizable">A</a> <a id="394" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="396" href="Categories.Diagram.Coequalizer.html#368" class="Generalizable">B</a>
<a id="399" class="Keyword">record</a> <a id="IsCoequalizer"></a><a id="406" href="Categories.Diagram.Coequalizer.html#406" class="Record">IsCoequalizer</a> <a id="420" class="Symbol">{</a><a id="421" href="Categories.Diagram.Coequalizer.html#421" class="Bound">E</a><a id="422" class="Symbol">}</a> <a id="424" class="Symbol">(</a><a id="425" href="Categories.Diagram.Coequalizer.html#425" class="Bound">f</a> <a id="427" href="Categories.Diagram.Coequalizer.html#427" class="Bound">g</a> <a id="429" class="Symbol">:</a> <a id="431" href="Categories.Diagram.Coequalizer.html#366" class="Generalizable">A</a> <a id="433" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="435" href="Categories.Diagram.Coequalizer.html#368" class="Generalizable">B</a><a id="436" class="Symbol">)</a> <a id="438" class="Symbol">(</a><a id="439" href="Categories.Diagram.Coequalizer.html#439" class="Bound">arr</a> <a id="443" class="Symbol">:</a> <a id="445" href="Categories.Diagram.Coequalizer.html#368" class="Generalizable">B</a> <a id="447" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="449" href="Categories.Diagram.Coequalizer.html#421" class="Bound">E</a><a id="450" class="Symbol">)</a> <a id="452" class="Symbol">:</a> <a id="454" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="458" class="Symbol">(</a><a id="459" href="Categories.Diagram.Coequalizer.html#131" class="Bound">o</a> <a id="461" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="463" href="Categories.Diagram.Coequalizer.html#133" class="Bound"></a> <a id="465" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="467" href="Categories.Diagram.Coequalizer.html#135" class="Bound">e</a><a id="468" class="Symbol">)</a> <a id="470" class="Keyword">where</a>
<a id="478" class="Keyword">field</a>
<a id="IsCoequalizer.equality"></a><a id="488" href="Categories.Diagram.Coequalizer.html#488" class="Field">equality</a> <a id="499" class="Symbol">:</a> <a id="501" href="Categories.Diagram.Coequalizer.html#439" class="Bound">arr</a> <a id="505" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="507" href="Categories.Diagram.Coequalizer.html#425" class="Bound">f</a> <a id="509" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="511" href="Categories.Diagram.Coequalizer.html#439" class="Bound">arr</a> <a id="515" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="517" href="Categories.Diagram.Coequalizer.html#427" class="Bound">g</a>
<a id="IsCoequalizer.coequalize"></a><a id="523" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="534" class="Symbol">:</a> <a id="536" class="Symbol">{</a><a id="537" href="Categories.Diagram.Coequalizer.html#537" class="Bound">h</a> <a id="539" class="Symbol">:</a> <a id="541" href="Categories.Diagram.Coequalizer.html#435" class="Bound">B</a> <a id="543" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="545" href="Categories.Diagram.Coequalizer.html#370" class="Generalizable">C</a><a id="546" class="Symbol">}</a> <a id="548" class="Symbol"></a> <a id="550" href="Categories.Diagram.Coequalizer.html#537" class="Bound">h</a> <a id="552" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="554" href="Categories.Diagram.Coequalizer.html#425" class="Bound">f</a> <a id="556" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="558" href="Categories.Diagram.Coequalizer.html#537" class="Bound">h</a> <a id="560" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="562" href="Categories.Diagram.Coequalizer.html#427" class="Bound">g</a> <a id="564" class="Symbol"></a> <a id="566" href="Categories.Diagram.Coequalizer.html#421" class="Bound">E</a> <a id="568" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="570" href="Categories.Diagram.Coequalizer.html#370" class="Generalizable">C</a>
<a id="IsCoequalizer.universal"></a><a id="576" href="Categories.Diagram.Coequalizer.html#576" class="Field">universal</a> <a id="587" class="Symbol">:</a> <a id="589" class="Symbol">{</a><a id="590" href="Categories.Diagram.Coequalizer.html#590" class="Bound">h</a> <a id="592" class="Symbol">:</a> <a id="594" href="Categories.Diagram.Coequalizer.html#435" class="Bound">B</a> <a id="596" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="598" href="Categories.Diagram.Coequalizer.html#370" class="Generalizable">C</a><a id="599" class="Symbol">}</a> <a id="601" class="Symbol">{</a><a id="602" href="Categories.Diagram.Coequalizer.html#602" class="Bound">eq</a> <a id="605" class="Symbol">:</a> <a id="607" href="Categories.Diagram.Coequalizer.html#590" class="Bound">h</a> <a id="609" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="611" href="Categories.Diagram.Coequalizer.html#425" class="Bound">f</a> <a id="613" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="615" href="Categories.Diagram.Coequalizer.html#590" class="Bound">h</a> <a id="617" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="619" href="Categories.Diagram.Coequalizer.html#427" class="Bound">g</a><a id="620" class="Symbol">}</a> <a id="622" class="Symbol"></a> <a id="624" href="Categories.Diagram.Coequalizer.html#590" class="Bound">h</a> <a id="626" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="628" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="639" href="Categories.Diagram.Coequalizer.html#602" class="Bound">eq</a> <a id="642" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="644" href="Categories.Diagram.Coequalizer.html#439" class="Bound">arr</a>
<a id="IsCoequalizer.unique"></a><a id="652" href="Categories.Diagram.Coequalizer.html#652" class="Field">unique</a> <a id="663" class="Symbol">:</a> <a id="665" class="Symbol">{</a><a id="666" href="Categories.Diagram.Coequalizer.html#666" class="Bound">h</a> <a id="668" class="Symbol">:</a> <a id="670" href="Categories.Diagram.Coequalizer.html#435" class="Bound">B</a> <a id="672" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="674" href="Categories.Diagram.Coequalizer.html#370" class="Generalizable">C</a><a id="675" class="Symbol">}</a> <a id="677" class="Symbol">{</a><a id="678" href="Categories.Diagram.Coequalizer.html#678" class="Bound">i</a> <a id="680" class="Symbol">:</a> <a id="682" href="Categories.Diagram.Coequalizer.html#421" class="Bound">E</a> <a id="684" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="686" href="Categories.Diagram.Coequalizer.html#370" class="Generalizable">C</a><a id="687" class="Symbol">}</a> <a id="689" class="Symbol">{</a><a id="690" href="Categories.Diagram.Coequalizer.html#690" class="Bound">eq</a> <a id="693" class="Symbol">:</a> <a id="695" href="Categories.Diagram.Coequalizer.html#666" class="Bound">h</a> <a id="697" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="699" href="Categories.Diagram.Coequalizer.html#425" class="Bound">f</a> <a id="701" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="703" href="Categories.Diagram.Coequalizer.html#666" class="Bound">h</a> <a id="705" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="707" href="Categories.Diagram.Coequalizer.html#427" class="Bound">g</a><a id="708" class="Symbol">}</a> <a id="710" class="Symbol"></a> <a id="712" href="Categories.Diagram.Coequalizer.html#666" class="Bound">h</a> <a id="714" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="716" href="Categories.Diagram.Coequalizer.html#678" class="Bound">i</a> <a id="718" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="720" href="Categories.Diagram.Coequalizer.html#439" class="Bound">arr</a> <a id="724" class="Symbol"></a> <a id="726" href="Categories.Diagram.Coequalizer.html#678" class="Bound">i</a> <a id="728" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="730" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="741" href="Categories.Diagram.Coequalizer.html#690" class="Bound">eq</a>
<a id="IsCoequalizer.unique"></a><a id="747" href="Categories.Diagram.Coequalizer.html#747" class="Function">unique</a> <a id="755" class="Symbol">:</a> <a id="757" class="Symbol">(</a><a id="758" href="Categories.Diagram.Coequalizer.html#758" class="Bound">eq</a> <a id="761" href="Categories.Diagram.Coequalizer.html#761" class="Bound">eq</a> <a id="765" class="Symbol">:</a> <a id="767" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="769" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="771" href="Categories.Diagram.Coequalizer.html#425" class="Bound">f</a> <a id="773" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="775" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="777" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="779" href="Categories.Diagram.Coequalizer.html#427" class="Bound">g</a><a id="780" class="Symbol">)</a> <a id="782" class="Symbol"></a> <a id="784" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="795" href="Categories.Diagram.Coequalizer.html#758" class="Bound">eq</a> <a id="798" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="800" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="811" href="Categories.Diagram.Coequalizer.html#761" class="Bound">eq</a>
<a id="817" href="Categories.Diagram.Coequalizer.html#747" class="Function">unique</a> <a id="825" href="Categories.Diagram.Coequalizer.html#825" class="Bound">eq</a> <a id="828" href="Categories.Diagram.Coequalizer.html#828" class="Bound">eq</a> <a id="832" class="Symbol">=</a> <a id="834" href="Categories.Diagram.Coequalizer.html#652" class="Field">unique</a> <a id="841" href="Categories.Diagram.Coequalizer.html#576" class="Field">universal</a>
<a id="IsCoequalizer.id-coequalize"></a><a id="854" href="Categories.Diagram.Coequalizer.html#854" class="Function">id-coequalize</a> <a id="868" class="Symbol">:</a> <a id="870" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="873" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="875" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="886" href="Categories.Diagram.Coequalizer.html#488" class="Field">equality</a>
<a id="897" href="Categories.Diagram.Coequalizer.html#854" class="Function">id-coequalize</a> <a id="911" class="Symbol">=</a> <a id="913" href="Categories.Diagram.Coequalizer.html#652" class="Field">unique</a> <a id="920" class="Symbol">(</a><a id="921" href="Categories.Category.Core.html#3005" class="Function"></a> <a id="923" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a><a id="932" class="Symbol">)</a>
<a id="IsCoequalizer.coequalize-resp-≈"></a><a id="937" href="Categories.Diagram.Coequalizer.html#937" class="Function">coequalize-resp-≈</a> <a id="955" class="Symbol">:</a> <a id="957" class="Symbol"></a> <a id="959" class="Symbol">{</a><a id="960" href="Categories.Diagram.Coequalizer.html#960" class="Bound">eq</a> <a id="963" class="Symbol">:</a> <a id="966" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="968" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="970" href="Categories.Diagram.Coequalizer.html#425" class="Bound">f</a> <a id="972" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="974" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="976" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="978" href="Categories.Diagram.Coequalizer.html#427" class="Bound">g</a><a id="979" class="Symbol">}</a> <a id="981" class="Symbol">{</a><a id="982" href="Categories.Diagram.Coequalizer.html#982" class="Bound">eq</a> <a id="986" class="Symbol">:</a> <a id="988" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a> <a id="990" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="992" href="Categories.Diagram.Coequalizer.html#425" class="Bound">f</a> <a id="994" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="996" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a> <a id="998" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1000" href="Categories.Diagram.Coequalizer.html#427" class="Bound">g</a><a id="1001" class="Symbol">}</a> <a id="1003" class="Symbol"></a>
<a id="1009" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="1011" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1013" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a> <a id="1015" class="Symbol"></a> <a id="1017" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="1028" href="Categories.Diagram.Coequalizer.html#960" class="Bound">eq</a> <a id="1031" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1033" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="1044" href="Categories.Diagram.Coequalizer.html#982" class="Bound">eq</a>
<a id="1050" href="Categories.Diagram.Coequalizer.html#937" class="Function">coequalize-resp-≈</a> <a id="1068" class="Symbol">{</a><a id="1069" class="Argument">h</a> <a id="1071" class="Symbol">=</a> <a id="1073" href="Categories.Diagram.Coequalizer.html#1073" class="Bound">h</a><a id="1074" class="Symbol">}</a> <a id="1076" class="Symbol">{</a><a id="1077" class="Argument">i</a> <a id="1079" class="Symbol">=</a> <a id="1081" href="Categories.Diagram.Coequalizer.html#1081" class="Bound">i</a><a id="1082" class="Symbol">}</a> <a id="1084" class="Symbol">{</a><a id="1085" class="Argument">eq</a> <a id="1088" class="Symbol">=</a> <a id="1090" href="Categories.Diagram.Coequalizer.html#1090" class="Bound">eq</a><a id="1092" class="Symbol">}</a> <a id="1094" class="Symbol">{</a><a id="1095" class="Argument">eq</a> <a id="1099" class="Symbol">=</a> <a id="1101" href="Categories.Diagram.Coequalizer.html#1101" class="Bound">eq</a><a id="1104" class="Symbol">}</a> <a id="1106" href="Categories.Diagram.Coequalizer.html#1106" class="Bound">h≈i</a> <a id="1110" class="Symbol">=</a> <a id="1112" href="Categories.Diagram.Coequalizer.html#652" class="Field">unique</a> <a id="1119" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="1121" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="1131" href="Categories.Diagram.Coequalizer.html#1081" class="Bound">i</a> <a id="1151" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="1155" href="Categories.Diagram.Coequalizer.html#1106" class="Bound">h≈i</a> <a id="1159" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function"></a>
<a id="1165" href="Categories.Diagram.Coequalizer.html#1073" class="Bound">h</a> <a id="1185" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1188" href="Categories.Diagram.Coequalizer.html#576" class="Field">universal</a> <a id="1198" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1204" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="1215" href="Categories.Diagram.Coequalizer.html#1090" class="Bound">eq</a> <a id="1218" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1220" href="Categories.Diagram.Coequalizer.html#439" class="Bound">arr</a> <a id="1224" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="IsCoequalizer.coequalize-resp-≈′"></a><a id="1229" href="Categories.Diagram.Coequalizer.html#1229" class="Function">coequalize-resp-≈′</a> <a id="1248" class="Symbol">:</a> <a id="1250" class="Symbol">(</a><a id="1251" href="Categories.Diagram.Coequalizer.html#1251" class="Bound">eq</a> <a id="1254" class="Symbol">:</a> <a id="1257" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="1259" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1261" href="Categories.Diagram.Coequalizer.html#425" class="Bound">f</a> <a id="1263" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1265" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="1267" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1269" href="Categories.Diagram.Coequalizer.html#427" class="Bound">g</a><a id="1270" class="Symbol">)</a> <a id="1272" class="Symbol"></a> <a id="1274" class="Symbol">(</a><a id="1275" href="Categories.Diagram.Coequalizer.html#1275" class="Bound">eq</a> <a id="1279" class="Symbol">:</a> <a id="1281" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a> <a id="1283" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1285" href="Categories.Diagram.Coequalizer.html#425" class="Bound">f</a> <a id="1287" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1289" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a> <a id="1291" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1293" href="Categories.Diagram.Coequalizer.html#427" class="Bound">g</a><a id="1294" class="Symbol">)</a> <a id="1296" class="Symbol"></a>
<a id="1302" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="1304" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1306" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a> <a id="1308" class="Symbol"></a> <a id="1310" href="Categories.Diagram.Coequalizer.html#386" class="Generalizable">j</a> <a id="1312" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1314" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="1325" href="Categories.Diagram.Coequalizer.html#1251" class="Bound">eq</a> <a id="1328" class="Symbol"></a> <a id="1330" href="Categories.Diagram.Coequalizer.html#388" class="Generalizable">k</a> <a id="1332" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1334" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="1345" href="Categories.Diagram.Coequalizer.html#1275" class="Bound">eq</a> <a id="1349" class="Symbol"></a> <a id="1351" href="Categories.Diagram.Coequalizer.html#386" class="Generalizable">j</a> <a id="1353" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1355" href="Categories.Diagram.Coequalizer.html#388" class="Generalizable">k</a>
<a id="1359" href="Categories.Diagram.Coequalizer.html#1229" class="Function">coequalize-resp-≈′</a> <a id="1378" class="Symbol">{</a><a id="1379" class="Argument">j</a> <a id="1381" class="Symbol">=</a> <a id="1383" href="Categories.Diagram.Coequalizer.html#1383" class="Bound">j</a><a id="1384" class="Symbol">}</a> <a id="1386" class="Symbol">{</a><a id="1387" class="Argument">k</a> <a id="1389" class="Symbol">=</a> <a id="1391" href="Categories.Diagram.Coequalizer.html#1391" class="Bound">k</a><a id="1392" class="Symbol">}</a> <a id="1394" href="Categories.Diagram.Coequalizer.html#1394" class="Bound">eq</a> <a id="1397" href="Categories.Diagram.Coequalizer.html#1397" class="Bound">eq</a> <a id="1401" href="Categories.Diagram.Coequalizer.html#1401" class="Bound">h≈i</a> <a id="1405" href="Categories.Diagram.Coequalizer.html#1405" class="Bound">eqj</a> <a id="1409" href="Categories.Diagram.Coequalizer.html#1409" class="Bound">eqk</a> <a id="1413" class="Symbol">=</a> <a id="1415" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="1425" href="Categories.Diagram.Coequalizer.html#1383" class="Bound">j</a> <a id="1440" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1443" href="Categories.Diagram.Coequalizer.html#1405" class="Bound">eqj</a> <a id="1447" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1453" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="1464" href="Categories.Diagram.Coequalizer.html#1394" class="Bound">eq</a> <a id="1468" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1471" href="Categories.Diagram.Coequalizer.html#937" class="Function">coequalize-resp-≈</a> <a id="1489" href="Categories.Diagram.Coequalizer.html#1401" class="Bound">h≈i</a> <a id="1493" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1499" href="Categories.Diagram.Coequalizer.html#523" class="Field">coequalize</a> <a id="1510" href="Categories.Diagram.Coequalizer.html#1397" class="Bound">eq</a> <a id="1514" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="1518" href="Categories.Diagram.Coequalizer.html#1409" class="Bound">eqk</a> <a id="1522" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function"></a>
<a id="1528" href="Categories.Diagram.Coequalizer.html#1391" class="Bound">k</a> <a id="1543" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="1546" class="Comment">-- This could be proved via duality, but is easier to just write by hand,</a>
<a id="1620" class="Comment">-- as it makes the dependency graph a lot cleaner.</a>
<a id="IsCoequalizer⇒Epi"></a><a id="1671" href="Categories.Diagram.Coequalizer.html#1671" class="Function">IsCoequalizer⇒Epi</a> <a id="1689" class="Symbol">:</a> <a id="1691" href="Categories.Diagram.Coequalizer.html#406" class="Record">IsCoequalizer</a> <a id="1705" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="1707" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a> <a id="1709" href="Categories.Diagram.Coequalizer.html#386" class="Generalizable">j</a> <a id="1711" class="Symbol"></a> <a id="1713" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="1717" href="Categories.Diagram.Coequalizer.html#386" class="Generalizable">j</a>
<a id="1719" href="Categories.Diagram.Coequalizer.html#1671" class="Function">IsCoequalizer⇒Epi</a> <a id="1737" href="Categories.Diagram.Coequalizer.html#1737" class="Bound">coeq</a> <a id="1742" class="Symbol">_</a> <a id="1744" class="Symbol">_</a> <a id="1746" href="Categories.Diagram.Coequalizer.html#1746" class="Bound">eq</a> <a id="1749" class="Symbol">=</a>
<a id="1753" href="Categories.Diagram.Coequalizer.html#1229" class="Function">coequalize-resp-≈′</a> <a id="1772" class="Symbol">(</a><a id="1773" href="Categories.Morphism.Reasoning.Core.html#3392" class="Function">extendˡ</a> <a id="1781" href="Categories.Diagram.Coequalizer.html#488" class="Function">equality</a><a id="1789" class="Symbol">)</a> <a id="1791" class="Symbol">(</a><a id="1792" href="Categories.Morphism.Reasoning.Core.html#3392" class="Function">extendˡ</a> <a id="1800" href="Categories.Diagram.Coequalizer.html#488" class="Function">equality</a><a id="1808" class="Symbol">)</a> <a id="1810" href="Categories.Diagram.Coequalizer.html#1746" class="Bound">eq</a> <a id="1813" class="Symbol">(</a><a id="1814" href="Categories.Diagram.Coequalizer.html#652" class="Function">unique</a> <a id="1821" href="Relation.Binary.Structures.html#1577" class="Function">refl</a><a id="1825" class="Symbol">)</a> <a id="1827" class="Symbol">(</a><a id="1828" href="Categories.Diagram.Coequalizer.html#652" class="Function">unique</a> <a id="1835" href="Relation.Binary.Structures.html#1577" class="Function">refl</a><a id="1839" class="Symbol">)</a>
<a id="1843" class="Keyword">where</a>
<a id="1853" class="Keyword">open</a> <a id="1858" href="Categories.Diagram.Coequalizer.html#406" class="Module">IsCoequalizer</a> <a id="1872" href="Categories.Diagram.Coequalizer.html#1737" class="Bound">coeq</a>
<a id="1878" class="Keyword">record</a> <a id="Coequalizer"></a><a id="1885" href="Categories.Diagram.Coequalizer.html#1885" class="Record">Coequalizer</a> <a id="1897" class="Symbol">(</a><a id="1898" href="Categories.Diagram.Coequalizer.html#1898" class="Bound">f</a> <a id="1900" href="Categories.Diagram.Coequalizer.html#1900" class="Bound">g</a> <a id="1902" class="Symbol">:</a> <a id="1904" href="Categories.Diagram.Coequalizer.html#366" class="Generalizable">A</a> <a id="1906" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1908" href="Categories.Diagram.Coequalizer.html#368" class="Generalizable">B</a><a id="1909" class="Symbol">)</a> <a id="1911" class="Symbol">:</a> <a id="1913" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1917" class="Symbol">(</a><a id="1918" href="Categories.Diagram.Coequalizer.html#131" class="Bound">o</a> <a id="1920" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1922" href="Categories.Diagram.Coequalizer.html#133" class="Bound"></a> <a id="1924" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1926" href="Categories.Diagram.Coequalizer.html#135" class="Bound">e</a><a id="1927" class="Symbol">)</a> <a id="1929" class="Keyword">where</a>
<a id="1937" class="Keyword">field</a>
<a id="1947" class="Symbol">{</a><a id="Coequalizer.obj"></a><a id="1948" href="Categories.Diagram.Coequalizer.html#1948" class="Field">obj</a><a id="1951" class="Symbol">}</a> <a id="1953" class="Symbol">:</a> <a id="1955" href="Categories.Category.Core.html#559" class="Field">Obj</a>
<a id="Coequalizer.arr"></a><a id="1963" href="Categories.Diagram.Coequalizer.html#1963" class="Field">arr</a> <a id="1969" class="Symbol">:</a> <a id="1971" href="Categories.Diagram.Coequalizer.html#1908" class="Bound">B</a> <a id="1973" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1975" href="Categories.Diagram.Coequalizer.html#1948" class="Field">obj</a>
<a id="Coequalizer.isCoequalizer"></a><a id="1983" href="Categories.Diagram.Coequalizer.html#1983" class="Field">isCoequalizer</a> <a id="1997" class="Symbol">:</a> <a id="1999" href="Categories.Diagram.Coequalizer.html#406" class="Record">IsCoequalizer</a> <a id="2013" href="Categories.Diagram.Coequalizer.html#1898" class="Bound">f</a> <a id="2015" href="Categories.Diagram.Coequalizer.html#1900" class="Bound">g</a> <a id="2017" href="Categories.Diagram.Coequalizer.html#1963" class="Field">arr</a>
<a id="2024" class="Keyword">open</a> <a id="2029" href="Categories.Diagram.Coequalizer.html#406" class="Module">IsCoequalizer</a> <a id="2043" href="Categories.Diagram.Coequalizer.html#1983" class="Field">isCoequalizer</a> <a id="2057" class="Keyword">public</a>
<a id="Coequalizer⇒Epi"></a><a id="2065" href="Categories.Diagram.Coequalizer.html#2065" class="Function">Coequalizer⇒Epi</a> <a id="2081" class="Symbol">:</a> <a id="2083" class="Symbol">(</a><a id="2084" href="Categories.Diagram.Coequalizer.html#2084" class="Bound">e</a> <a id="2086" class="Symbol">:</a> <a id="2088" href="Categories.Diagram.Coequalizer.html#1885" class="Record">Coequalizer</a> <a id="2100" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="2102" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a><a id="2103" class="Symbol">)</a> <a id="2105" class="Symbol"></a> <a id="2107" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="2111" class="Symbol">(</a><a id="2112" href="Categories.Diagram.Coequalizer.html#1963" class="Field">Coequalizer.arr</a> <a id="2128" href="Categories.Diagram.Coequalizer.html#2084" class="Bound">e</a><a id="2129" class="Symbol">)</a>
<a id="2131" href="Categories.Diagram.Coequalizer.html#2065" class="Function">Coequalizer⇒Epi</a> <a id="2147" href="Categories.Diagram.Coequalizer.html#2147" class="Bound">coeq</a> <a id="2152" class="Symbol">=</a> <a id="2154" href="Categories.Diagram.Coequalizer.html#1671" class="Function">IsCoequalizer⇒Epi</a> <a id="2172" href="Categories.Diagram.Coequalizer.html#1983" class="Function">isCoequalizer</a>
<a id="2188" class="Keyword">where</a>
<a id="2198" class="Keyword">open</a> <a id="2203" href="Categories.Diagram.Coequalizer.html#1885" class="Module">Coequalizer</a> <a id="2215" href="Categories.Diagram.Coequalizer.html#2147" class="Bound">coeq</a>
<a id="2221" class="Comment">-- Proving this via duality arguments is kind of annoying, as ≅ does not behave nicely in</a>
<a id="2311" class="Comment">-- concert with op.</a>
<a id="up-to-iso"></a><a id="2331" href="Categories.Diagram.Coequalizer.html#2331" class="Function">up-to-iso</a> <a id="2341" class="Symbol">:</a> <a id="2343" class="Symbol">(</a><a id="2344" href="Categories.Diagram.Coequalizer.html#2344" class="Bound">coe₁</a> <a id="2349" href="Categories.Diagram.Coequalizer.html#2349" class="Bound">coe₂</a> <a id="2354" class="Symbol">:</a> <a id="2356" href="Categories.Diagram.Coequalizer.html#1885" class="Record">Coequalizer</a> <a id="2368" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="2370" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a><a id="2371" class="Symbol">)</a> <a id="2373" class="Symbol"></a> <a id="2375" href="Categories.Diagram.Coequalizer.html#1948" class="Field">Coequalizer.obj</a> <a id="2391" href="Categories.Diagram.Coequalizer.html#2344" class="Bound">coe₁</a> <a id="2396" href="Categories.Morphism.html#1958" class="Record Operator"></a> <a id="2398" href="Categories.Diagram.Coequalizer.html#1948" class="Field">Coequalizer.obj</a> <a id="2414" href="Categories.Diagram.Coequalizer.html#2349" class="Bound">coe₂</a>
<a id="2419" href="Categories.Diagram.Coequalizer.html#2331" class="Function">up-to-iso</a> <a id="2429" href="Categories.Diagram.Coequalizer.html#2429" class="Bound">coe₁</a> <a id="2434" href="Categories.Diagram.Coequalizer.html#2434" class="Bound">coe₂</a> <a id="2439" class="Symbol">=</a> <a id="2441" class="Keyword">record</a>
<a id="2450" class="Symbol">{</a> <a id="2452" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2457" class="Symbol">=</a> <a id="2459" href="Categories.Diagram.Coequalizer.html#2637" class="Function">repack</a> <a id="2466" href="Categories.Diagram.Coequalizer.html#2429" class="Bound">coe₁</a> <a id="2471" href="Categories.Diagram.Coequalizer.html#2434" class="Bound">coe₂</a>
<a id="2478" class="Symbol">;</a> <a id="2480" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2483" class="Symbol">=</a> <a id="2485" href="Categories.Diagram.Coequalizer.html#2637" class="Function">repack</a> <a id="2492" href="Categories.Diagram.Coequalizer.html#2434" class="Bound">coe₂</a> <a id="2497" href="Categories.Diagram.Coequalizer.html#2429" class="Bound">coe₁</a>
<a id="2504" class="Symbol">;</a> <a id="2506" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="2510" class="Symbol">=</a> <a id="2512" class="Keyword">record</a>
<a id="2523" class="Symbol">{</a> <a id="2525" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="2530" class="Symbol">=</a> <a id="2532" href="Categories.Diagram.Coequalizer.html#3041" class="Function">repack-cancel</a> <a id="2546" href="Categories.Diagram.Coequalizer.html#2434" class="Bound">coe₂</a> <a id="2551" href="Categories.Diagram.Coequalizer.html#2429" class="Bound">coe₁</a>
<a id="2560" class="Symbol">;</a> <a id="2562" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="2567" class="Symbol">=</a> <a id="2569" href="Categories.Diagram.Coequalizer.html#3041" class="Function">repack-cancel</a> <a id="2583" href="Categories.Diagram.Coequalizer.html#2429" class="Bound">coe₁</a> <a id="2588" href="Categories.Diagram.Coequalizer.html#2434" class="Bound">coe₂</a>
<a id="2597" class="Symbol">}</a>
<a id="2601" class="Symbol">}</a>
<a id="2605" class="Keyword">where</a>
<a id="2615" class="Keyword">open</a> <a id="2620" href="Categories.Diagram.Coequalizer.html#1885" class="Module">Coequalizer</a>
<a id="2637" href="Categories.Diagram.Coequalizer.html#2637" class="Function">repack</a> <a id="2644" class="Symbol">:</a> <a id="2646" class="Symbol">(</a><a id="2647" href="Categories.Diagram.Coequalizer.html#2647" class="Bound">coe₁</a> <a id="2652" href="Categories.Diagram.Coequalizer.html#2652" class="Bound">coe₂</a> <a id="2657" class="Symbol">:</a> <a id="2659" href="Categories.Diagram.Coequalizer.html#1885" class="Record">Coequalizer</a> <a id="2671" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="2673" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a><a id="2674" class="Symbol">)</a> <a id="2676" class="Symbol"></a> <a id="2678" href="Categories.Diagram.Coequalizer.html#1948" class="Field">obj</a> <a id="2682" href="Categories.Diagram.Coequalizer.html#2647" class="Bound">coe₁</a> <a id="2687" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="2689" href="Categories.Diagram.Coequalizer.html#1948" class="Field">obj</a> <a id="2693" href="Categories.Diagram.Coequalizer.html#2652" class="Bound">coe₂</a>
<a id="2702" href="Categories.Diagram.Coequalizer.html#2637" class="Function">repack</a> <a id="2709" href="Categories.Diagram.Coequalizer.html#2709" class="Bound">coe₁</a> <a id="2714" href="Categories.Diagram.Coequalizer.html#2714" class="Bound">coe₂</a> <a id="2719" class="Symbol">=</a> <a id="2721" href="Categories.Diagram.Coequalizer.html#523" class="Function">coequalize</a> <a id="2732" href="Categories.Diagram.Coequalizer.html#2709" class="Bound">coe₁</a> <a id="2737" class="Symbol">(</a><a id="2738" href="Categories.Diagram.Coequalizer.html#488" class="Function">equality</a> <a id="2747" href="Categories.Diagram.Coequalizer.html#2714" class="Bound">coe₂</a><a id="2751" class="Symbol">)</a>
<a id="2758" href="Categories.Diagram.Coequalizer.html#2758" class="Function">repack∘</a> <a id="2766" class="Symbol">:</a> <a id="2768" class="Symbol">(</a><a id="2769" href="Categories.Diagram.Coequalizer.html#2769" class="Bound">coe₁</a> <a id="2774" href="Categories.Diagram.Coequalizer.html#2774" class="Bound">coe₂</a> <a id="2779" href="Categories.Diagram.Coequalizer.html#2779" class="Bound">coe₃</a> <a id="2784" class="Symbol">:</a> <a id="2786" href="Categories.Diagram.Coequalizer.html#1885" class="Record">Coequalizer</a> <a id="2798" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="2800" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a><a id="2801" class="Symbol">)</a> <a id="2803" class="Symbol"></a> <a id="2805" href="Categories.Diagram.Coequalizer.html#2637" class="Function">repack</a> <a id="2812" href="Categories.Diagram.Coequalizer.html#2774" class="Bound">coe₂</a> <a id="2817" href="Categories.Diagram.Coequalizer.html#2779" class="Bound">coe₃</a> <a id="2822" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2824" href="Categories.Diagram.Coequalizer.html#2637" class="Function">repack</a> <a id="2831" href="Categories.Diagram.Coequalizer.html#2769" class="Bound">coe₁</a> <a id="2836" href="Categories.Diagram.Coequalizer.html#2774" class="Bound">coe₂</a> <a id="2841" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="2843" href="Categories.Diagram.Coequalizer.html#2637" class="Function">repack</a> <a id="2850" href="Categories.Diagram.Coequalizer.html#2769" class="Bound">coe₁</a> <a id="2855" href="Categories.Diagram.Coequalizer.html#2779" class="Bound">coe₃</a>
<a id="2864" href="Categories.Diagram.Coequalizer.html#2758" class="Function">repack∘</a> <a id="2872" href="Categories.Diagram.Coequalizer.html#2872" class="Bound">coe₁</a> <a id="2877" href="Categories.Diagram.Coequalizer.html#2877" class="Bound">coe₂</a> <a id="2882" href="Categories.Diagram.Coequalizer.html#2882" class="Bound">coe₃</a> <a id="2887" class="Symbol">=</a> <a id="2889" href="Categories.Diagram.Coequalizer.html#652" class="Function">unique</a> <a id="2896" href="Categories.Diagram.Coequalizer.html#2872" class="Bound">coe₁</a> <a id="2901" class="Symbol">(</a><a id="2902" href="Categories.Category.Core.html#3005" class="Function"></a> <a id="2904" class="Symbol">(</a><a id="2905" href="Categories.Morphism.Reasoning.Core.html#6339" class="Function">glueTrianglesˡ</a> <a id="2920" class="Symbol">(</a><a id="2921" href="Categories.Category.Core.html#3005" class="Function"></a> <a id="2923" class="Symbol">(</a><a id="2924" href="Categories.Diagram.Coequalizer.html#576" class="Function">universal</a> <a id="2934" href="Categories.Diagram.Coequalizer.html#2877" class="Bound">coe₂</a><a id="2938" class="Symbol">))</a> <a id="2941" class="Symbol">(</a><a id="2942" href="Categories.Category.Core.html#3005" class="Function"></a> <a id="2944" class="Symbol">(</a><a id="2945" href="Categories.Diagram.Coequalizer.html#576" class="Function">universal</a> <a id="2955" href="Categories.Diagram.Coequalizer.html#2872" class="Bound">coe₁</a><a id="2959" class="Symbol">))))</a> <a id="2964" class="Comment">-- unique e₃ (⟺ (glueTrianglesʳ (⟺ (universal e₃)) (⟺ (universal e₂))))</a>
<a id="3041" href="Categories.Diagram.Coequalizer.html#3041" class="Function">repack-cancel</a> <a id="3055" class="Symbol">:</a> <a id="3057" class="Symbol">(</a><a id="3058" href="Categories.Diagram.Coequalizer.html#3058" class="Bound">e₁</a> <a id="3061" href="Categories.Diagram.Coequalizer.html#3061" class="Bound">e₂</a> <a id="3064" class="Symbol">:</a> <a id="3066" href="Categories.Diagram.Coequalizer.html#1885" class="Record">Coequalizer</a> <a id="3078" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="3080" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a><a id="3081" class="Symbol">)</a> <a id="3083" class="Symbol"></a> <a id="3085" href="Categories.Diagram.Coequalizer.html#2637" class="Function">repack</a> <a id="3092" href="Categories.Diagram.Coequalizer.html#3058" class="Bound">e₁</a> <a id="3095" href="Categories.Diagram.Coequalizer.html#3061" class="Bound">e₂</a> <a id="3098" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="3100" href="Categories.Diagram.Coequalizer.html#2637" class="Function">repack</a> <a id="3107" href="Categories.Diagram.Coequalizer.html#3061" class="Bound">e₂</a> <a id="3110" href="Categories.Diagram.Coequalizer.html#3058" class="Bound">e₁</a> <a id="3113" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="3115" href="Categories.Category.Core.html#630" class="Field">id</a>
<a id="3122" href="Categories.Diagram.Coequalizer.html#3041" class="Function">repack-cancel</a> <a id="3136" href="Categories.Diagram.Coequalizer.html#3136" class="Bound">coe₁</a> <a id="3141" href="Categories.Diagram.Coequalizer.html#3141" class="Bound">coe₂</a> <a id="3146" class="Symbol">=</a> <a id="3148" href="Categories.Diagram.Coequalizer.html#2758" class="Function">repack∘</a> <a id="3156" href="Categories.Diagram.Coequalizer.html#3141" class="Bound">coe₂</a> <a id="3161" href="Categories.Diagram.Coequalizer.html#3136" class="Bound">coe₁</a> <a id="3166" href="Categories.Diagram.Coequalizer.html#3141" class="Bound">coe₂</a> <a id="3171" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="3173" href="Categories.Category.Core.html#3005" class="Function"></a> <a id="3175" class="Symbol">(</a><a id="3176" href="Categories.Diagram.Coequalizer.html#854" class="Function">id-coequalize</a> <a id="3190" href="Categories.Diagram.Coequalizer.html#3141" class="Bound">coe₂</a><a id="3194" class="Symbol">)</a>
<a id="IsCoequalizer⇒Coequalizer"></a><a id="3197" href="Categories.Diagram.Coequalizer.html#3197" class="Function">IsCoequalizer⇒Coequalizer</a> <a id="3223" class="Symbol">:</a> <a id="3225" href="Categories.Diagram.Coequalizer.html#406" class="Record">IsCoequalizer</a> <a id="3239" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="3241" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a> <a id="3243" href="Categories.Diagram.Coequalizer.html#388" class="Generalizable">k</a> <a id="3245" class="Symbol"></a> <a id="3247" href="Categories.Diagram.Coequalizer.html#1885" class="Record">Coequalizer</a> <a id="3259" href="Categories.Diagram.Coequalizer.html#382" class="Generalizable">h</a> <a id="3261" href="Categories.Diagram.Coequalizer.html#384" class="Generalizable">i</a>
<a id="3263" href="Categories.Diagram.Coequalizer.html#3197" class="Function">IsCoequalizer⇒Coequalizer</a> <a id="3289" class="Symbol">{</a><a id="3290" class="Argument">k</a> <a id="3292" class="Symbol">=</a> <a id="3294" href="Categories.Diagram.Coequalizer.html#3294" class="Bound">k</a><a id="3295" class="Symbol">}</a> <a id="3297" href="Categories.Diagram.Coequalizer.html#3297" class="Bound">is-coe</a> <a id="3304" class="Symbol">=</a> <a id="3306" class="Keyword">record</a>
<a id="3315" class="Symbol">{</a> <a id="3317" href="Categories.Diagram.Coequalizer.html#1963" class="Field">arr</a> <a id="3321" class="Symbol">=</a> <a id="3323" href="Categories.Diagram.Coequalizer.html#3294" class="Bound">k</a>
<a id="3327" class="Symbol">;</a> <a id="3329" href="Categories.Diagram.Coequalizer.html#1983" class="Field">isCoequalizer</a> <a id="3343" class="Symbol">=</a> <a id="3345" href="Categories.Diagram.Coequalizer.html#3297" class="Bound">is-coe</a>
<a id="3354" class="Symbol">}</a>
</pre></body></html>