mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
115 lines
No EOL
68 KiB
Markdown
115 lines
No EOL
68 KiB
Markdown
<!--
|
||
<pre class="Agda"><a id="14" class="Keyword">open</a> <a id="19" class="Keyword">import</a> <a id="26" href="Level.html" class="Module">Level</a>
|
||
<a id="32" class="Keyword">open</a> <a id="37" class="Keyword">import</a> <a id="44" href="Category.Ambient.html" class="Module">Category.Ambient</a> <a id="61" class="Keyword">using</a> <a id="67" class="Symbol">(</a><a id="68" href="Category.Ambient.html#1681" class="Record">Ambient</a><a id="75" class="Symbol">)</a>
|
||
<a id="77" class="Keyword">open</a> <a id="82" class="Keyword">import</a> <a id="89" href="Categories.NaturalTransformation.html" class="Module">Categories.NaturalTransformation</a>
|
||
<a id="122" class="Keyword">open</a> <a id="127" class="Keyword">import</a> <a id="134" href="Categories.NaturalTransformation.Equivalence.html" class="Module">Categories.NaturalTransformation.Equivalence</a>
|
||
<a id="179" class="Keyword">open</a> <a id="184" class="Keyword">import</a> <a id="191" href="Categories.Monad.html" class="Module">Categories.Monad</a>
|
||
<a id="208" class="Keyword">open</a> <a id="213" class="Keyword">import</a> <a id="220" href="Categories.Monad.Relative.html" class="Module">Categories.Monad.Relative</a> <a id="246" class="Keyword">renaming</a> <a id="255" class="Symbol">(</a><a id="256" href="Categories.Monad.Relative.html#602" class="Record">Monad</a> <a id="262" class="Symbol">to</a> <a id="265" class="Record">RMonad</a><a id="271" class="Symbol">)</a>
|
||
<a id="273" class="Keyword">open</a> <a id="278" class="Keyword">import</a> <a id="285" href="Categories.Functor.html" class="Module">Categories.Functor</a>
|
||
<a id="304" class="Keyword">open</a> <a id="309" class="Keyword">import</a> <a id="316" href="Categories.Monad.Construction.Kleisli.html" class="Module">Categories.Monad.Construction.Kleisli</a>
|
||
<a id="354" class="Keyword">open</a> <a id="359" class="Keyword">import</a> <a id="366" href="Categories.Category.Core.html" class="Module">Categories.Category.Core</a>
|
||
</pre>-->
|
||
|
||
# The (functor) category of pre-Elgot monads.
|
||
|
||
<pre class="Agda"><a id="455" class="Keyword">module</a> <a id="462" href="Category.Construction.PreElgotMonads.html" class="Module">Category.Construction.PreElgotMonads</a> <a id="499" class="Symbol">{</a><a id="500" href="Category.Construction.PreElgotMonads.html#500" class="Bound">o</a> <a id="502" href="Category.Construction.PreElgotMonads.html#502" class="Bound">ℓ</a> <a id="504" href="Category.Construction.PreElgotMonads.html#504" class="Bound">e</a><a id="505" class="Symbol">}</a> <a id="507" class="Symbol">(</a><a id="508" href="Category.Construction.PreElgotMonads.html#508" class="Bound">ambient</a> <a id="516" class="Symbol">:</a> <a id="518" href="Category.Ambient.html#1681" class="Record">Ambient</a> <a id="526" href="Category.Construction.PreElgotMonads.html#500" class="Bound">o</a> <a id="528" href="Category.Construction.PreElgotMonads.html#502" class="Bound">ℓ</a> <a id="530" href="Category.Construction.PreElgotMonads.html#504" class="Bound">e</a><a id="531" class="Symbol">)</a> <a id="533" class="Keyword">where</a>
|
||
<a id="539" class="Keyword">open</a> <a id="544" href="Category.Ambient.html#1681" class="Module">Ambient</a> <a id="552" href="Category.Construction.PreElgotMonads.html#508" class="Bound">ambient</a>
|
||
<a id="560" class="Keyword">open</a> <a id="565" class="Keyword">import</a> <a id="572" href="Monad.PreElgot.html" class="Module">Monad.PreElgot</a> <a id="587" href="Category.Construction.PreElgotMonads.html#508" class="Bound">ambient</a>
|
||
<a id="595" class="Keyword">open</a> <a id="600" class="Keyword">import</a> <a id="607" href="Algebra.Elgot.html" class="Module">Algebra.Elgot</a> <a id="621" href="Categories.Category.Extensive.html#734" class="Function">cocartesian</a>
|
||
<a id="633" class="Keyword">open</a> <a id="638" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
||
<a id="651" class="Keyword">open</a> <a id="656" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
|
||
<a id="662" class="Keyword">open</a> <a id="667" href="Category.Ambient.html#9069" class="Module">M</a> <a id="669" href="Category.Ambient.html#1757" class="Field">C</a>
|
||
<a id="671" class="Keyword">open</a> <a id="676" href="Category.Ambient.html#9087" class="Module">MR</a> <a id="679" href="Category.Ambient.html#1757" class="Field">C</a>
|
||
|
||
<a id="682" class="Keyword">module</a> <a id="689" href="Category.Construction.PreElgotMonads.html#689" class="Module">_</a> <a id="691" class="Symbol">(</a><a id="692" href="Category.Construction.PreElgotMonads.html#692" class="Bound">P</a> <a id="694" href="Category.Construction.PreElgotMonads.html#694" class="Bound">S</a> <a id="696" class="Symbol">:</a> <a id="698" href="Monad.PreElgot.html#1160" class="Record">PreElgotMonad</a><a id="711" class="Symbol">)</a> <a id="713" class="Keyword">where</a>
|
||
<a id="721" class="Keyword">private</a>
|
||
<a id="733" class="Keyword">open</a> <a id="738" href="Monad.PreElgot.html#1160" class="Module">PreElgotMonad</a> <a id="752" href="Category.Construction.PreElgotMonads.html#692" class="Bound">P</a> <a id="754" class="Keyword">using</a> <a id="760" class="Symbol">()</a> <a id="763" class="Keyword">renaming</a> <a id="772" class="Symbol">(</a><a id="773" href="Monad.PreElgot.html#1214" class="Field">T</a> <a id="775" class="Symbol">to</a> <a id="778" class="Field">TP</a><a id="780" class="Symbol">;</a> <a id="782" href="Monad.PreElgot.html#815" class="Function">elgotalgebras</a> <a id="796" class="Symbol">to</a> <a id="799" class="Function">P-elgots</a><a id="807" class="Symbol">)</a>
|
||
<a id="813" class="Keyword">open</a> <a id="818" href="Monad.PreElgot.html#1160" class="Module">PreElgotMonad</a> <a id="832" href="Category.Construction.PreElgotMonads.html#694" class="Bound">S</a> <a id="834" class="Keyword">using</a> <a id="840" class="Symbol">()</a> <a id="843" class="Keyword">renaming</a> <a id="852" class="Symbol">(</a><a id="853" href="Monad.PreElgot.html#1214" class="Field">T</a> <a id="855" class="Symbol">to</a> <a id="858" class="Field">TS</a><a id="860" class="Symbol">;</a> <a id="862" href="Monad.PreElgot.html#815" class="Function">elgotalgebras</a> <a id="876" class="Symbol">to</a> <a id="879" class="Function">S-elgots</a><a id="887" class="Symbol">)</a>
|
||
<a id="893" class="Keyword">module</a> <a id="900" href="Category.Construction.PreElgotMonads.html#900" class="Module">TP</a> <a id="903" class="Symbol">=</a> <a id="905" href="Categories.Monad.html#454" class="Module">Monad</a> <a id="911" href="Category.Construction.PreElgotMonads.html#778" class="Function">TP</a>
|
||
<a id="918" class="Keyword">module</a> <a id="925" href="Category.Construction.PreElgotMonads.html#925" class="Module">TS</a> <a id="928" class="Symbol">=</a> <a id="930" href="Categories.Monad.html#454" class="Module">Monad</a> <a id="936" href="Category.Construction.PreElgotMonads.html#858" class="Field">TS</a>
|
||
<a id="943" class="Keyword">open</a> <a id="948" href="Category.Construction.PreElgotMonads.html#265" class="Module">RMonad</a> <a id="955" class="Symbol">(</a><a id="956" href="Categories.Monad.Construction.Kleisli.html#2851" class="Function">Monad⇒Kleisli</a> <a id="970" href="Category.Ambient.html#1757" class="Field">C</a> <a id="972" href="Category.Construction.PreElgotMonads.html#778" class="Function">TP</a><a id="974" class="Symbol">)</a> <a id="976" class="Keyword">using</a> <a id="982" class="Symbol">()</a> <a id="985" class="Keyword">renaming</a> <a id="994" class="Symbol">(</a><a id="995" href="Categories.Monad.Relative.html#895" class="Field">extend</a> <a id="1002" class="Symbol">to</a> <a id="1005" class="Field">extendP</a><a id="1012" class="Symbol">)</a>
|
||
<a id="1018" class="Keyword">open</a> <a id="1023" href="Category.Construction.PreElgotMonads.html#265" class="Module">RMonad</a> <a id="1030" class="Symbol">(</a><a id="1031" href="Categories.Monad.Construction.Kleisli.html#2851" class="Function">Monad⇒Kleisli</a> <a id="1045" href="Category.Ambient.html#1757" class="Field">C</a> <a id="1047" href="Category.Construction.PreElgotMonads.html#858" class="Field">TS</a><a id="1049" class="Symbol">)</a> <a id="1051" class="Keyword">using</a> <a id="1057" class="Symbol">()</a> <a id="1060" class="Keyword">renaming</a> <a id="1069" class="Symbol">(</a><a id="1070" href="Categories.Monad.Relative.html#895" class="Field">extend</a> <a id="1077" class="Symbol">to</a> <a id="1080" class="Field">extendS</a><a id="1087" class="Symbol">)</a>
|
||
<a id="1093" href="Category.Construction.PreElgotMonads.html#1093" class="Function Operator">_#P</a> <a id="1097" class="Symbol">=</a> <a id="1099" class="Symbol">λ</a> <a id="1101" class="Symbol">{</a><a id="1102" href="Category.Construction.PreElgotMonads.html#1102" class="Bound">X</a><a id="1103" class="Symbol">}</a> <a id="1105" class="Symbol">{</a><a id="1106" href="Category.Construction.PreElgotMonads.html#1106" class="Bound">A</a><a id="1107" class="Symbol">}</a> <a id="1109" href="Category.Construction.PreElgotMonads.html#1109" class="Bound">f</a> <a id="1111" class="Symbol">→</a> <a id="1113" href="Algebra.Elgot.html#1938" class="Function Operator">P-elgots._#</a> <a id="1125" class="Symbol">{</a><a id="1126" href="Category.Construction.PreElgotMonads.html#1102" class="Bound">X</a><a id="1127" class="Symbol">}</a> <a id="1129" class="Symbol">{</a><a id="1130" href="Category.Construction.PreElgotMonads.html#1106" class="Bound">A</a><a id="1131" class="Symbol">}</a> <a id="1133" href="Category.Construction.PreElgotMonads.html#1109" class="Bound">f</a>
|
||
<a id="1139" href="Category.Construction.PreElgotMonads.html#1139" class="Function Operator">_#S</a> <a id="1143" class="Symbol">=</a> <a id="1145" class="Symbol">λ</a> <a id="1147" class="Symbol">{</a><a id="1148" href="Category.Construction.PreElgotMonads.html#1148" class="Bound">X</a><a id="1149" class="Symbol">}</a> <a id="1151" class="Symbol">{</a><a id="1152" href="Category.Construction.PreElgotMonads.html#1152" class="Bound">A</a><a id="1153" class="Symbol">}</a> <a id="1155" href="Category.Construction.PreElgotMonads.html#1155" class="Bound">f</a> <a id="1157" class="Symbol">→</a> <a id="1159" href="Algebra.Elgot.html#1938" class="Function Operator">S-elgots._#</a> <a id="1171" class="Symbol">{</a><a id="1172" href="Category.Construction.PreElgotMonads.html#1148" class="Bound">X</a><a id="1173" class="Symbol">}</a> <a id="1175" class="Symbol">{</a><a id="1176" href="Category.Construction.PreElgotMonads.html#1152" class="Bound">A</a><a id="1177" class="Symbol">}</a> <a id="1179" href="Category.Construction.PreElgotMonads.html#1155" class="Bound">f</a>
|
||
<a id="1183" class="Keyword">record</a> <a id="1190" href="Category.Construction.PreElgotMonads.html#1190" class="Record">PreElgotMonad-Morphism</a> <a id="1213" class="Symbol">:</a> <a id="1215" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1219" class="Symbol">(</a><a id="1220" href="Category.Construction.PreElgotMonads.html#500" class="Bound">o</a> <a id="1222" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1224" href="Category.Construction.PreElgotMonads.html#502" class="Bound">ℓ</a> <a id="1226" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1228" href="Category.Construction.PreElgotMonads.html#504" class="Bound">e</a><a id="1229" class="Symbol">)</a> <a id="1231" class="Keyword">where</a>
|
||
<a id="1241" class="Keyword">field</a>
|
||
<a id="1253" href="Category.Construction.PreElgotMonads.html#1253" class="Field">α</a> <a id="1255" class="Symbol">:</a> <a id="1257" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="1279" href="Categories.Monad.html#525" class="Function">TP.F</a> <a id="1284" href="Categories.Monad.html#525" class="Function">TS.F</a>
|
||
<a id="1293" class="Keyword">module</a> <a id="1300" href="Category.Construction.PreElgotMonads.html#1300" class="Module">α</a> <a id="1302" class="Symbol">=</a> <a id="1304" href="Categories.NaturalTransformation.Core.html#466" class="Module">NaturalTransformation</a> <a id="1326" href="Category.Construction.PreElgotMonads.html#1253" class="Field">α</a>
|
||
<a id="1332" class="Keyword">field</a>
|
||
<a id="1344" href="Category.Construction.PreElgotMonads.html#1344" class="Field">α-η</a> <a id="1348" class="Symbol">:</a> <a id="1350" class="Symbol">∀</a> <a id="1352" class="Symbol">{</a><a id="1353" href="Category.Construction.PreElgotMonads.html#1353" class="Bound">X</a><a id="1354" class="Symbol">}</a>
|
||
<a id="1364" class="Symbol">→</a> <a id="1366" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1370" href="Category.Construction.PreElgotMonads.html#1353" class="Bound">X</a> <a id="1372" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1374" href="Categories.NaturalTransformation.Core.html#783" class="Function">TP.η.η</a> <a id="1381" href="Category.Construction.PreElgotMonads.html#1353" class="Bound">X</a> <a id="1383" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1385" href="Categories.NaturalTransformation.Core.html#783" class="Function">TS.η.η</a> <a id="1392" href="Category.Construction.PreElgotMonads.html#1353" class="Bound">X</a>
|
||
<a id="1400" href="Category.Construction.PreElgotMonads.html#1400" class="Field">α-μ</a> <a id="1404" class="Symbol">:</a> <a id="1406" class="Symbol">∀</a> <a id="1408" class="Symbol">{</a><a id="1409" href="Category.Construction.PreElgotMonads.html#1409" class="Bound">X</a><a id="1410" class="Symbol">}</a>
|
||
<a id="1420" class="Symbol">→</a> <a id="1422" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1426" href="Category.Construction.PreElgotMonads.html#1409" class="Bound">X</a> <a id="1428" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1430" href="Categories.NaturalTransformation.Core.html#783" class="Function">TP.μ.η</a> <a id="1437" href="Category.Construction.PreElgotMonads.html#1409" class="Bound">X</a> <a id="1439" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1441" href="Categories.NaturalTransformation.Core.html#783" class="Function">TS.μ.η</a> <a id="1448" href="Category.Construction.PreElgotMonads.html#1409" class="Bound">X</a> <a id="1450" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1452" href="Categories.Functor.Core.html#806" class="Function">TS.F.₁</a> <a id="1459" class="Symbol">(</a><a id="1460" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1464" href="Category.Construction.PreElgotMonads.html#1409" class="Bound">X</a><a id="1465" class="Symbol">)</a> <a id="1467" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1469" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1473" class="Symbol">(</a><a id="1474" href="Categories.Functor.Core.html#797" class="Function">TP.F.₀</a> <a id="1481" href="Category.Construction.PreElgotMonads.html#1409" class="Bound">X</a><a id="1482" class="Symbol">)</a>
|
||
<a id="1490" href="Category.Construction.PreElgotMonads.html#1490" class="Field">preserves</a> <a id="1500" class="Symbol">:</a> <a id="1502" class="Symbol">∀</a> <a id="1504" class="Symbol">{</a><a id="1505" href="Category.Construction.PreElgotMonads.html#1505" class="Bound">X</a> <a id="1507" href="Category.Construction.PreElgotMonads.html#1507" class="Bound">A</a><a id="1508" class="Symbol">}</a> <a id="1510" class="Symbol">(</a><a id="1511" href="Category.Construction.PreElgotMonads.html#1511" class="Bound">f</a> <a id="1513" class="Symbol">:</a> <a id="1515" href="Category.Construction.PreElgotMonads.html#1505" class="Bound">X</a> <a id="1517" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="1519" href="Categories.Functor.Core.html#797" class="Function">TP.F.₀</a> <a id="1526" href="Category.Construction.PreElgotMonads.html#1507" class="Bound">A</a> <a id="1528" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="1530" href="Category.Construction.PreElgotMonads.html#1505" class="Bound">X</a><a id="1531" class="Symbol">)</a> <a id="1533" class="Symbol">→</a> <a id="1535" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1539" href="Category.Construction.PreElgotMonads.html#1507" class="Bound">A</a> <a id="1541" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1543" href="Category.Construction.PreElgotMonads.html#1511" class="Bound">f</a> <a id="1545" href="Category.Construction.PreElgotMonads.html#1093" class="Function Operator">#P</a> <a id="1548" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1550" class="Symbol">((</a><a id="1552" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1556" href="Category.Construction.PreElgotMonads.html#1507" class="Bound">A</a> <a id="1558" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="1561" href="Category.Ambient.html#2115" class="Function">idC</a><a id="1564" class="Symbol">)</a> <a id="1566" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1568" href="Category.Construction.PreElgotMonads.html#1511" class="Bound">f</a><a id="1569" class="Symbol">)</a> <a id="1571" href="Category.Construction.PreElgotMonads.html#1139" class="Function Operator">#S</a>
|
||
|
||
<a id="PreElgotMonads"></a><a id="1575" href="Category.Construction.PreElgotMonads.html#1575" class="Function">PreElgotMonads</a> <a id="1590" class="Symbol">:</a> <a id="1592" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1601" class="Symbol">(</a><a id="1602" href="Category.Construction.PreElgotMonads.html#500" class="Bound">o</a> <a id="1604" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1606" href="Category.Construction.PreElgotMonads.html#502" class="Bound">ℓ</a> <a id="1608" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1610" href="Category.Construction.PreElgotMonads.html#504" class="Bound">e</a><a id="1611" class="Symbol">)</a> <a id="1613" class="Symbol">(</a><a id="1614" href="Category.Construction.PreElgotMonads.html#500" class="Bound">o</a> <a id="1616" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1618" href="Category.Construction.PreElgotMonads.html#502" class="Bound">ℓ</a> <a id="1620" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1622" href="Category.Construction.PreElgotMonads.html#504" class="Bound">e</a><a id="1623" class="Symbol">)</a> <a id="1625" class="Symbol">(</a><a id="1626" href="Category.Construction.PreElgotMonads.html#500" class="Bound">o</a> <a id="1628" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1630" href="Category.Construction.PreElgotMonads.html#504" class="Bound">e</a><a id="1631" class="Symbol">)</a>
|
||
<a id="1633" href="Category.Construction.PreElgotMonads.html#1575" class="Function">PreElgotMonads</a> <a id="1648" class="Symbol">=</a> <a id="1650" class="Keyword">record</a>
|
||
<a id="1659" class="Symbol">{</a> <a id="1661" href="Categories.Category.Core.html#559" class="Field">Obj</a> <a id="1665" class="Symbol">=</a> <a id="1667" href="Monad.PreElgot.html#1160" class="Record">PreElgotMonad</a>
|
||
<a id="1683" class="Symbol">;</a> <a id="1685" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="1689" class="Symbol">=</a> <a id="1691" href="Category.Construction.PreElgotMonads.html#1190" class="Record">PreElgotMonad-Morphism</a>
|
||
<a id="1716" class="Symbol">;</a> <a id="1718" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a> <a id="1722" class="Symbol">=</a> <a id="1724" class="Symbol">λ</a> <a id="1726" href="Category.Construction.PreElgotMonads.html#1726" class="Bound">f</a> <a id="1728" href="Category.Construction.PreElgotMonads.html#1728" class="Bound">g</a> <a id="1730" class="Symbol">→</a> <a id="1732" class="Symbol">(</a><a id="1733" href="Category.Construction.PreElgotMonads.html#1253" class="Field">PreElgotMonad-Morphism.α</a> <a id="1758" href="Category.Construction.PreElgotMonads.html#1726" class="Bound">f</a><a id="1759" class="Symbol">)</a> <a id="1761" href="Categories.NaturalTransformation.Equivalence.html#630" class="Function Operator">≃</a> <a id="1763" class="Symbol">(</a><a id="1764" href="Category.Construction.PreElgotMonads.html#1253" class="Field">PreElgotMonad-Morphism.α</a> <a id="1789" href="Category.Construction.PreElgotMonads.html#1728" class="Bound">g</a><a id="1790" class="Symbol">)</a>
|
||
<a id="1794" class="Symbol">;</a> <a id="1796" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1799" class="Symbol">=</a> <a id="1801" href="Category.Construction.PreElgotMonads.html#2128" class="Function">id'</a>
|
||
<a id="1807" class="Symbol">;</a> <a id="1809" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a> <a id="1813" class="Symbol">=</a> <a id="1815" href="Category.Construction.PreElgotMonads.html#2935" class="Function Operator">_∘'_</a>
|
||
<a id="1822" class="Symbol">;</a> <a id="1824" href="Categories.Category.Core.html#715" class="Field">assoc</a> <a id="1830" class="Symbol">=</a> <a id="1832" href="Categories.Category.Core.html#715" class="Function">assoc</a>
|
||
<a id="1840" class="Symbol">;</a> <a id="1842" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="1852" class="Symbol">=</a> <a id="1854" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a>
|
||
<a id="1866" class="Symbol">;</a> <a id="1868" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="1878" class="Symbol">=</a> <a id="1880" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a>
|
||
<a id="1892" class="Symbol">;</a> <a id="1894" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="1904" class="Symbol">=</a> <a id="1906" href="Categories.Category.Core.html#1145" class="Function">identityʳ</a>
|
||
<a id="1918" class="Symbol">;</a> <a id="1920" href="Categories.Category.Core.html#1339" class="Field">identity²</a> <a id="1930" class="Symbol">=</a> <a id="1932" href="Categories.Category.Core.html#1339" class="Function">identity²</a>
|
||
<a id="1944" class="Symbol">;</a> <a id="1946" href="Categories.Category.Core.html#1384" class="Field">equiv</a> <a id="1952" class="Symbol">=</a> <a id="1954" class="Keyword">record</a> <a id="1961" class="Symbol">{</a> <a id="1963" href="Relation.Binary.Structures.html#1596" class="Field">refl</a> <a id="1968" class="Symbol">=</a> <a id="1970" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="1975" class="Symbol">;</a> <a id="1977" href="Relation.Binary.Structures.html#1622" class="Field">sym</a> <a id="1981" class="Symbol">=</a> <a id="1983" class="Symbol">λ</a> <a id="1985" href="Category.Construction.PreElgotMonads.html#1985" class="Bound">f</a> <a id="1987" class="Symbol">→</a> <a id="1989" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="1993" href="Category.Construction.PreElgotMonads.html#1985" class="Bound">f</a> <a id="1995" class="Symbol">;</a> <a id="1997" href="Relation.Binary.Structures.html#1648" class="Field">trans</a> <a id="2003" class="Symbol">=</a> <a id="2005" class="Symbol">λ</a> <a id="2007" href="Category.Construction.PreElgotMonads.html#2007" class="Bound">f</a> <a id="2009" href="Category.Construction.PreElgotMonads.html#2009" class="Bound">g</a> <a id="2011" class="Symbol">→</a> <a id="2013" href="Relation.Binary.Structures.html#1648" class="Function">trans</a> <a id="2019" href="Category.Construction.PreElgotMonads.html#2007" class="Bound">f</a> <a id="2021" href="Category.Construction.PreElgotMonads.html#2009" class="Bound">g</a> <a id="2023" class="Symbol">}</a>
|
||
<a id="2027" class="Symbol">;</a> <a id="2029" href="Categories.Category.Core.html#1438" class="Field">∘-resp-≈</a> <a id="2038" class="Symbol">=</a> <a id="2040" class="Symbol">λ</a> <a id="2042" href="Category.Construction.PreElgotMonads.html#2042" class="Bound">f≈h</a> <a id="2046" href="Category.Construction.PreElgotMonads.html#2046" class="Bound">g≈i</a> <a id="2050" class="Symbol">→</a> <a id="2052" href="Categories.Category.Core.html#1438" class="Function">∘-resp-≈</a> <a id="2061" href="Category.Construction.PreElgotMonads.html#2042" class="Bound">f≈h</a> <a id="2065" href="Category.Construction.PreElgotMonads.html#2046" class="Bound">g≈i</a>
|
||
<a id="2071" class="Symbol">}</a>
|
||
<a id="2075" class="Keyword">where</a>
|
||
<a id="2085" class="Keyword">open</a> <a id="2090" href="Algebra.Elgot.html#1845" class="Module">Elgot-Algebra-on</a> <a id="2107" class="Keyword">using</a> <a id="2113" class="Symbol">(</a><a id="2114" href="Algebra.Elgot.html#2331" class="Field">#-resp-≈</a><a id="2122" class="Symbol">)</a>
|
||
<a id="2128" href="Category.Construction.PreElgotMonads.html#2128" class="Function">id'</a> <a id="2132" class="Symbol">:</a> <a id="2134" class="Symbol">∀</a> <a id="2136" class="Symbol">{</a><a id="2137" href="Category.Construction.PreElgotMonads.html#2137" class="Bound">A</a> <a id="2139" class="Symbol">:</a> <a id="2141" href="Monad.PreElgot.html#1160" class="Record">PreElgotMonad</a><a id="2154" class="Symbol">}</a> <a id="2156" class="Symbol">→</a> <a id="2158" href="Category.Construction.PreElgotMonads.html#1190" class="Record">PreElgotMonad-Morphism</a> <a id="2181" href="Category.Construction.PreElgotMonads.html#2137" class="Bound">A</a> <a id="2183" href="Category.Construction.PreElgotMonads.html#2137" class="Bound">A</a>
|
||
<a id="2189" href="Category.Construction.PreElgotMonads.html#2128" class="Function">id'</a> <a id="2193" class="Symbol">{</a><a id="2194" href="Category.Construction.PreElgotMonads.html#2194" class="Bound">A</a><a id="2195" class="Symbol">}</a> <a id="2197" class="Symbol">=</a> <a id="2199" class="Keyword">record</a>
|
||
<a id="2212" class="Symbol">{</a> <a id="2214" href="Category.Construction.PreElgotMonads.html#1253" class="Field">α</a> <a id="2216" class="Symbol">=</a> <a id="2218" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="2227" class="Symbol">(</a><a id="2228" class="Keyword">record</a>
|
||
<a id="2243" class="Symbol">{</a> <a id="2245" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="2247" class="Symbol">=</a> <a id="2249" class="Symbol">λ</a> <a id="2251" href="Category.Construction.PreElgotMonads.html#2251" class="Bound">_</a> <a id="2253" class="Symbol">→</a> <a id="2255" href="Category.Ambient.html#2115" class="Function">idC</a>
|
||
<a id="2267" class="Symbol">;</a> <a id="2269" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="2277" class="Symbol">=</a> <a id="2279" class="Symbol">λ</a> <a id="2281" href="Category.Construction.PreElgotMonads.html#2281" class="Bound">_</a> <a id="2283" class="Symbol">→</a> <a id="2285" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a>
|
||
<a id="2305" class="Symbol">})</a>
|
||
<a id="2314" class="Symbol">;</a> <a id="2316" href="Category.Construction.PreElgotMonads.html#1344" class="Field">α-η</a> <a id="2320" class="Symbol">=</a> <a id="2322" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a>
|
||
<a id="2338" class="Symbol">;</a> <a id="2340" href="Category.Construction.PreElgotMonads.html#1400" class="Field">α-μ</a> <a id="2344" class="Symbol">=</a> <a id="2346" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="2350" class="Symbol">(</a><a id="2351" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="2365" href="Categories.NaturalTransformation.Core.html#783" class="Function">T.μ.η</a> <a id="2371" class="Symbol">_</a> <a id="2373" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2375" href="Categories.Functor.Core.html#806" class="Function">T.F.₁</a> <a id="2381" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="2385" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2387" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="2391" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2394" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="2402" href="Categories.Category.Core.html#1145" class="Function">identityʳ</a> <a id="2412" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="2422" href="Categories.NaturalTransformation.Core.html#783" class="Function">T.μ.η</a> <a id="2428" class="Symbol">_</a> <a id="2430" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2432" href="Categories.Functor.Core.html#806" class="Function">T.F.₁</a> <a id="2438" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="2448" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2451" href="Categories.Morphism.Reasoning.Core.html#2786" class="Function">elimʳ</a> <a id="2457" href="Categories.Functor.Core.html#511" class="Function">T.F.identity</a> <a id="2470" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="2480" href="Categories.NaturalTransformation.Core.html#783" class="Function">T.μ.η</a> <a id="2486" class="Symbol">_</a> <a id="2506" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2509" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="2513" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a> <a id="2523" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="2533" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="2537" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2539" href="Categories.NaturalTransformation.Core.html#783" class="Function">T.μ.η</a> <a id="2545" class="Symbol">_</a> <a id="2559" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a><a id="2560" class="Symbol">)</a>
|
||
<a id="2568" class="Symbol">;</a> <a id="2570" href="Category.Construction.PreElgotMonads.html#1490" class="Field">preserves</a> <a id="2580" class="Symbol">=</a> <a id="2582" class="Symbol">λ</a> <a id="2584" href="Category.Construction.PreElgotMonads.html#2584" class="Bound">f</a> <a id="2586" class="Symbol">→</a> <a id="2588" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="2602" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="2606" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2608" href="Category.Construction.PreElgotMonads.html#2584" class="Bound">f</a> <a id="2610" href="Category.Construction.PreElgotMonads.html#2885" class="Function Operator">#</a> <a id="2623" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2626" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a> <a id="2636" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="2646" href="Category.Construction.PreElgotMonads.html#2584" class="Bound">f</a> <a id="2648" href="Category.Construction.PreElgotMonads.html#2885" class="Function Operator">#</a> <a id="2667" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2670" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="2674" class="Symbol">(</a><a id="2675" href="Algebra.Elgot.html#2331" class="Field">#-resp-≈</a> <a id="2684" href="Monad.PreElgot.html#815" class="Function">elgotalgebras</a> <a id="2698" class="Symbol">(</a><a id="2699" href="Categories.Morphism.Reasoning.Core.html#2948" class="Function">elimˡ</a> <a id="2705" class="Symbol">(</a><a id="2706" href="Category.Ambient.html#2218" class="Function">[]-unique</a> <a id="2716" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a> <a id="2728" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a><a id="2739" class="Symbol">)))</a> <a id="2743" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="2753" class="Symbol">((</a><a id="2755" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="2759" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="2762" href="Category.Ambient.html#2115" class="Function">idC</a><a id="2765" class="Symbol">)</a> <a id="2767" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2769" href="Category.Construction.PreElgotMonads.html#2584" class="Bound">f</a><a id="2770" class="Symbol">)</a> <a id="2772" href="Category.Construction.PreElgotMonads.html#2885" class="Function Operator">#</a> <a id="2774" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="2782" class="Symbol">}</a>
|
||
<a id="2790" class="Keyword">where</a>
|
||
<a id="2804" class="Keyword">open</a> <a id="2809" href="Monad.PreElgot.html#1160" class="Module">PreElgotMonad</a> <a id="2823" href="Category.Construction.PreElgotMonads.html#2194" class="Bound">A</a> <a id="2825" class="Keyword">using</a> <a id="2831" class="Symbol">(</a><a id="2832" href="Monad.PreElgot.html#1214" class="Field">T</a><a id="2833" class="Symbol">;</a> <a id="2835" href="Monad.PreElgot.html#815" class="Function">elgotalgebras</a><a id="2848" class="Symbol">)</a>
|
||
<a id="2858" class="Keyword">module</a> <a id="2865" href="Category.Construction.PreElgotMonads.html#2865" class="Module">T</a> <a id="2867" class="Symbol">=</a> <a id="2869" href="Categories.Monad.html#454" class="Module">Monad</a> <a id="2875" href="Monad.PreElgot.html#1214" class="Field">T</a>
|
||
<a id="2885" href="Category.Construction.PreElgotMonads.html#2885" class="Function Operator">_#</a> <a id="2888" class="Symbol">=</a> <a id="2890" class="Symbol">λ</a> <a id="2892" class="Symbol">{</a><a id="2893" href="Category.Construction.PreElgotMonads.html#2893" class="Bound">X</a><a id="2894" class="Symbol">}</a> <a id="2896" class="Symbol">{</a><a id="2897" href="Category.Construction.PreElgotMonads.html#2897" class="Bound">A</a><a id="2898" class="Symbol">}</a> <a id="2900" href="Category.Construction.PreElgotMonads.html#2900" class="Bound">f</a> <a id="2902" class="Symbol">→</a> <a id="2904" href="Algebra.Elgot.html#1938" class="Function Operator">elgotalgebras._#</a> <a id="2921" class="Symbol">{</a><a id="2922" href="Category.Construction.PreElgotMonads.html#2893" class="Bound">X</a><a id="2923" class="Symbol">}</a> <a id="2925" class="Symbol">{</a><a id="2926" href="Category.Construction.PreElgotMonads.html#2897" class="Bound">A</a><a id="2927" class="Symbol">}</a> <a id="2929" href="Category.Construction.PreElgotMonads.html#2900" class="Bound">f</a>
|
||
<a id="2935" href="Category.Construction.PreElgotMonads.html#2935" class="Function Operator">_∘'_</a> <a id="2940" class="Symbol">:</a> <a id="2942" class="Symbol">∀</a> <a id="2944" class="Symbol">{</a><a id="2945" href="Category.Construction.PreElgotMonads.html#2945" class="Bound">X</a> <a id="2947" href="Category.Construction.PreElgotMonads.html#2947" class="Bound">Y</a> <a id="2949" href="Category.Construction.PreElgotMonads.html#2949" class="Bound">Z</a> <a id="2951" class="Symbol">:</a> <a id="2953" href="Monad.PreElgot.html#1160" class="Record">PreElgotMonad</a><a id="2966" class="Symbol">}</a> <a id="2968" class="Symbol">→</a> <a id="2970" href="Category.Construction.PreElgotMonads.html#1190" class="Record">PreElgotMonad-Morphism</a> <a id="2993" href="Category.Construction.PreElgotMonads.html#2947" class="Bound">Y</a> <a id="2995" href="Category.Construction.PreElgotMonads.html#2949" class="Bound">Z</a> <a id="2997" class="Symbol">→</a> <a id="2999" href="Category.Construction.PreElgotMonads.html#1190" class="Record">PreElgotMonad-Morphism</a> <a id="3022" href="Category.Construction.PreElgotMonads.html#2945" class="Bound">X</a> <a id="3024" href="Category.Construction.PreElgotMonads.html#2947" class="Bound">Y</a> <a id="3026" class="Symbol">→</a> <a id="3028" href="Category.Construction.PreElgotMonads.html#1190" class="Record">PreElgotMonad-Morphism</a> <a id="3051" href="Category.Construction.PreElgotMonads.html#2945" class="Bound">X</a> <a id="3053" href="Category.Construction.PreElgotMonads.html#2949" class="Bound">Z</a>
|
||
<a id="3059" href="Category.Construction.PreElgotMonads.html#2935" class="Function Operator">_∘'_</a> <a id="3064" class="Symbol">{</a><a id="3065" href="Category.Construction.PreElgotMonads.html#3065" class="Bound">X</a><a id="3066" class="Symbol">}</a> <a id="3068" class="Symbol">{</a><a id="3069" href="Category.Construction.PreElgotMonads.html#3069" class="Bound">Y</a><a id="3070" class="Symbol">}</a> <a id="3072" class="Symbol">{</a><a id="3073" href="Category.Construction.PreElgotMonads.html#3073" class="Bound">Z</a><a id="3074" class="Symbol">}</a> <a id="3076" href="Category.Construction.PreElgotMonads.html#3076" class="Bound">f</a> <a id="3078" href="Category.Construction.PreElgotMonads.html#3078" class="Bound">g</a> <a id="3080" class="Symbol">=</a> <a id="3082" class="Keyword">record</a>
|
||
<a id="3095" class="Symbol">{</a> <a id="3097" href="Category.Construction.PreElgotMonads.html#1253" class="Field">α</a> <a id="3099" class="Symbol">=</a> <a id="3101" href="Category.Construction.PreElgotMonads.html#4961" class="Function">αf</a> <a id="3104" href="Categories.NaturalTransformation.Core.html#2439" class="Function Operator">∘ᵥ</a> <a id="3107" href="Category.Construction.PreElgotMonads.html#5027" class="Field">αg</a>
|
||
<a id="3116" class="Symbol">;</a> <a id="3118" href="Category.Construction.PreElgotMonads.html#1344" class="Field">α-η</a> <a id="3122" class="Symbol">=</a> <a id="3124" class="Symbol">λ</a> <a id="3126" class="Symbol">{</a><a id="3127" href="Category.Construction.PreElgotMonads.html#3127" class="Bound">A</a><a id="3128" class="Symbol">}</a> <a id="3130" class="Symbol">→</a> <a id="3132" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="3146" class="Symbol">(</a><a id="3147" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3152" href="Category.Construction.PreElgotMonads.html#3127" class="Bound">A</a> <a id="3154" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3156" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3161" href="Category.Construction.PreElgotMonads.html#3127" class="Bound">A</a><a id="3162" class="Symbol">)</a> <a id="3164" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3166" href="Categories.NaturalTransformation.Core.html#783" class="Function">TX.η.η</a> <a id="3173" href="Category.Construction.PreElgotMonads.html#3127" class="Bound">A</a> <a id="3175" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3178" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="3184" class="Symbol">(</a><a id="3185" href="Category.Construction.PreElgotMonads.html#1344" class="Field">α-η</a> <a id="3189" href="Category.Construction.PreElgotMonads.html#3078" class="Bound">g</a><a id="3190" class="Symbol">)</a> <a id="3192" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="3202" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3207" href="Category.Construction.PreElgotMonads.html#3127" class="Bound">A</a> <a id="3209" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3211" href="Categories.NaturalTransformation.Core.html#783" class="Function">TY.η.η</a> <a id="3218" href="Category.Construction.PreElgotMonads.html#3127" class="Bound">A</a> <a id="3231" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3234" href="Category.Construction.PreElgotMonads.html#1344" class="Field">α-η</a> <a id="3238" href="Category.Construction.PreElgotMonads.html#3076" class="Bound">f</a> <a id="3240" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="3250" href="Categories.NaturalTransformation.Core.html#783" class="Function">TZ.η.η</a> <a id="3257" href="Category.Construction.PreElgotMonads.html#3127" class="Bound">A</a> <a id="3279" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="3287" class="Symbol">;</a> <a id="3289" href="Category.Construction.PreElgotMonads.html#1400" class="Field">α-μ</a> <a id="3293" class="Symbol">=</a> <a id="3295" class="Symbol">λ</a> <a id="3297" class="Symbol">{</a><a id="3298" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3299" class="Symbol">}</a> <a id="3301" class="Symbol">→</a> <a id="3303" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="3317" class="Symbol">(</a><a id="3318" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3323" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a> <a id="3325" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3327" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3332" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3333" class="Symbol">)</a> <a id="3335" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3337" href="Categories.NaturalTransformation.Core.html#783" class="Function">TX.μ.η</a> <a id="3344" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a> <a id="3400" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3403" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="3409" class="Symbol">(</a><a id="3410" href="Category.Construction.PreElgotMonads.html#1400" class="Field">α-μ</a> <a id="3414" href="Category.Construction.PreElgotMonads.html#3078" class="Bound">g</a><a id="3415" class="Symbol">)</a> <a id="3417" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="3427" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3432" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a> <a id="3434" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3436" href="Categories.NaturalTransformation.Core.html#783" class="Function">TY.μ.η</a> <a id="3443" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a> <a id="3445" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3447" href="Categories.Functor.Core.html#806" class="Function">TY.F.₁</a> <a id="3454" class="Symbol">(</a><a id="3455" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3460" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3461" class="Symbol">)</a> <a id="3463" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3465" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3470" class="Symbol">(</a><a id="3471" href="Categories.Functor.Core.html#797" class="Function">TX.F.₀</a> <a id="3478" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3479" class="Symbol">)</a> <a id="3510" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3513" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="3519" class="Symbol">(</a><a id="3520" href="Category.Construction.PreElgotMonads.html#1400" class="Field">α-μ</a> <a id="3524" href="Category.Construction.PreElgotMonads.html#3076" class="Bound">f</a><a id="3525" class="Symbol">)</a> <a id="3527" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="3537" class="Symbol">(</a><a id="3538" href="Categories.NaturalTransformation.Core.html#783" class="Function">TZ.μ.η</a> <a id="3545" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a> <a id="3547" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3549" href="Categories.Functor.Core.html#806" class="Function">TZ.F.₁</a> <a id="3556" class="Symbol">(</a><a id="3557" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3562" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3563" class="Symbol">)</a> <a id="3565" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3567" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3572" class="Symbol">(</a><a id="3573" href="Categories.Functor.Core.html#797" class="Function">TY.F.₀</a> <a id="3580" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3581" class="Symbol">))</a> <a id="3584" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3586" href="Categories.Functor.Core.html#806" class="Function">TY.F.₁</a> <a id="3593" class="Symbol">(</a><a id="3594" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3599" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3600" class="Symbol">)</a> <a id="3602" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3604" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3609" class="Symbol">(</a><a id="3610" href="Categories.Functor.Core.html#797" class="Function">TX.F.₀</a> <a id="3617" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3618" class="Symbol">)</a> <a id="3620" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3623" href="Categories.Category.Core.html#715" class="Function">assoc</a> <a id="3629" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="3631" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="3639" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="3645" class="Symbol">(</a><a id="3646" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="3652" class="Symbol">(</a><a id="3653" href="Categories.NaturalTransformation.Core.html#827" class="Field">NaturalTransformation.commute</a> <a id="3683" href="Category.Construction.PreElgotMonads.html#4961" class="Function">αf</a> <a id="3686" class="Symbol">(</a><a id="3687" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3692" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3693" class="Symbol">)))</a> <a id="3697" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="3707" href="Categories.NaturalTransformation.Core.html#783" class="Function">TZ.μ.η</a> <a id="3714" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a> <a id="3716" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3718" href="Categories.Functor.Core.html#806" class="Function">TZ.F.₁</a> <a id="3725" class="Symbol">(</a><a id="3726" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3731" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3732" class="Symbol">)</a> <a id="3734" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3736" class="Symbol">(</a><a id="3737" href="Categories.Functor.Core.html#806" class="Function">TZ.F.₁</a> <a id="3744" class="Symbol">(</a><a id="3745" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3750" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3751" class="Symbol">)</a> <a id="3753" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3755" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3760" class="Symbol">(</a><a id="3761" href="Categories.Functor.Core.html#797" class="Function">TX.F.₀</a> <a id="3768" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3769" class="Symbol">))</a> <a id="3772" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3774" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3779" class="Symbol">(</a><a id="3780" href="Categories.Functor.Core.html#797" class="Function">TX.F.₀</a> <a id="3787" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3788" class="Symbol">)</a> <a id="3790" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3793" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="3801" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="3807" class="Symbol">(</a><a id="3808" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="3814" class="Symbol">(</a><a id="3815" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="3819" class="Symbol">(</a><a id="3820" href="Categories.Functor.Core.html#565" class="Field">Functor.homomorphism</a> <a id="3841" href="Categories.Monad.html#525" class="Function">TZ.F</a><a id="3845" class="Symbol">)))</a> <a id="3849" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="3859" href="Categories.NaturalTransformation.Core.html#783" class="Function">TZ.μ.η</a> <a id="3866" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a> <a id="3868" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3870" class="Symbol">(</a><a id="3871" href="Categories.Functor.Core.html#806" class="Function">TZ.F.₁</a> <a id="3878" class="Symbol">(</a><a id="3879" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3884" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a> <a id="3886" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3888" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3893" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3894" class="Symbol">)</a> <a id="3896" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3898" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3903" class="Symbol">(</a><a id="3904" href="Categories.Functor.Core.html#797" class="Function">TX.F.₀</a> <a id="3911" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3912" class="Symbol">))</a> <a id="3915" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3917" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3922" class="Symbol">(</a><a id="3923" href="Categories.Functor.Core.html#797" class="Function">TX.F.₀</a> <a id="3930" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="3931" class="Symbol">)</a> <a id="3942" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3945" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="3953" href="Categories.Category.Core.html#715" class="Function">assoc</a> <a id="3959" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="3969" href="Categories.NaturalTransformation.Core.html#783" class="Function">TZ.μ.η</a> <a id="3976" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a> <a id="3978" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3980" href="Categories.Functor.Core.html#806" class="Function">TZ.F.₁</a> <a id="3987" class="Symbol">((</a><a id="3989" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3994" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a> <a id="3996" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3998" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4003" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="4004" class="Symbol">))</a> <a id="4007" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4010" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4015" class="Symbol">(</a><a id="4016" href="Categories.Functor.Core.html#797" class="Function">TX.F.₀</a> <a id="4023" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="4024" class="Symbol">)</a> <a id="4026" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4028" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4033" class="Symbol">(</a><a id="4034" href="Categories.Functor.Core.html#797" class="Function">TX.F.₀</a> <a id="4041" href="Category.Construction.PreElgotMonads.html#3298" class="Bound">A</a><a id="4042" class="Symbol">)</a> <a id="4052" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="4060" class="Symbol">;</a> <a id="4062" href="Category.Construction.PreElgotMonads.html#1490" class="Field">preserves</a> <a id="4072" class="Symbol">=</a> <a id="4074" class="Symbol">λ</a> <a id="4076" class="Symbol">{</a><a id="4077" href="Category.Construction.PreElgotMonads.html#4077" class="Bound">A</a><a id="4078" class="Symbol">}</a> <a id="4080" class="Symbol">{</a><a id="4081" href="Category.Construction.PreElgotMonads.html#4081" class="Bound">B</a><a id="4082" class="Symbol">}</a> <a id="4084" href="Category.Construction.PreElgotMonads.html#4084" class="Bound">h</a> <a id="4086" class="Symbol">→</a> <a id="4088" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="4102" class="Symbol">(</a><a id="4103" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4108" href="Category.Construction.PreElgotMonads.html#4081" class="Bound">B</a> <a id="4110" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4112" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4117" href="Category.Construction.PreElgotMonads.html#4081" class="Bound">B</a><a id="4118" class="Symbol">)</a> <a id="4120" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4122" class="Symbol">(</a><a id="4123" href="Category.Construction.PreElgotMonads.html#4084" class="Bound">h</a> <a id="4125" href="Category.Construction.PreElgotMonads.html#4628" class="Function Operator">#X</a><a id="4127" class="Symbol">)</a> <a id="4147" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4150" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="4156" class="Symbol">(</a><a id="4157" href="Category.Construction.PreElgotMonads.html#1490" class="Field">preserves</a> <a id="4167" href="Category.Construction.PreElgotMonads.html#3078" class="Bound">g</a> <a id="4169" href="Category.Construction.PreElgotMonads.html#4084" class="Bound">h</a><a id="4170" class="Symbol">)</a> <a id="4172" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4182" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4187" href="Category.Construction.PreElgotMonads.html#4081" class="Bound">B</a> <a id="4189" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4191" class="Symbol">((</a><a id="4193" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4198" href="Category.Construction.PreElgotMonads.html#4081" class="Bound">B</a> <a id="4200" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4203" href="Category.Ambient.html#2115" class="Function">idC</a><a id="4206" class="Symbol">)</a> <a id="4208" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4210" href="Category.Construction.PreElgotMonads.html#4084" class="Bound">h</a><a id="4211" class="Symbol">)</a> <a id="4213" href="Category.Construction.PreElgotMonads.html#4699" class="Function Operator">#Y</a> <a id="4227" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4230" href="Category.Construction.PreElgotMonads.html#1490" class="Field">preserves</a> <a id="4240" href="Category.Construction.PreElgotMonads.html#3076" class="Bound">f</a> <a id="4242" class="Symbol">((</a><a id="4244" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4249" href="Category.Construction.PreElgotMonads.html#4081" class="Bound">B</a> <a id="4251" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4254" href="Category.Ambient.html#2115" class="Function">idC</a><a id="4257" class="Symbol">)</a> <a id="4259" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4261" href="Category.Construction.PreElgotMonads.html#4084" class="Bound">h</a><a id="4262" class="Symbol">)</a> <a id="4264" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4274" class="Symbol">(((</a><a id="4277" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4282" href="Category.Construction.PreElgotMonads.html#4081" class="Bound">B</a> <a id="4284" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4287" href="Category.Ambient.html#2115" class="Function">idC</a><a id="4290" class="Symbol">)</a> <a id="4292" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4294" class="Symbol">(</a><a id="4295" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4300" href="Category.Construction.PreElgotMonads.html#4081" class="Bound">B</a> <a id="4302" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4305" href="Category.Ambient.html#2115" class="Function">idC</a><a id="4308" class="Symbol">)</a> <a id="4310" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4312" href="Category.Construction.PreElgotMonads.html#4084" class="Bound">h</a><a id="4313" class="Symbol">)</a> <a id="4315" href="Category.Construction.PreElgotMonads.html#4770" class="Function Operator">#Z</a><a id="4317" class="Symbol">)</a> <a id="4319" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4322" href="Algebra.Elgot.html#2331" class="Field">#-resp-≈</a> <a id="4331" class="Symbol">(</a><a id="4332" href="Monad.PreElgot.html#815" class="Function">PreElgotMonad.elgotalgebras</a> <a id="4360" href="Category.Construction.PreElgotMonads.html#3073" class="Bound">Z</a><a id="4361" class="Symbol">)</a> <a id="4363" class="Symbol">(</a><a id="4364" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4370" class="Symbol">(</a><a id="4371" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a> <a id="4377" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="4379" href="Categories.Category.Cocartesian.html#2622" class="Function">+₁-cong₂</a> <a id="4388" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="4393" href="Categories.Category.Core.html#1339" class="Function">identity²</a><a id="4402" class="Symbol">))</a> <a id="4405" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4415" class="Symbol">(((</a><a id="4418" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4423" href="Category.Construction.PreElgotMonads.html#4081" class="Bound">B</a> <a id="4425" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4427" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4432" href="Category.Construction.PreElgotMonads.html#4081" class="Bound">B</a> <a id="4434" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4437" href="Category.Ambient.html#2115" class="Function">idC</a><a id="4440" class="Symbol">)</a> <a id="4442" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4444" href="Category.Construction.PreElgotMonads.html#4084" class="Bound">h</a><a id="4445" class="Symbol">)</a> <a id="4447" href="Category.Construction.PreElgotMonads.html#4770" class="Function Operator">#Z</a><a id="4449" class="Symbol">)</a> <a id="4460" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="4468" class="Symbol">}</a>
|
||
<a id="4476" class="Keyword">where</a>
|
||
<a id="4490" class="Keyword">module</a> <a id="4497" href="Category.Construction.PreElgotMonads.html#4497" class="Module">TX</a> <a id="4500" class="Symbol">=</a> <a id="4502" href="Categories.Monad.html#454" class="Module">Monad</a> <a id="4508" class="Symbol">(</a><a id="4509" href="Monad.PreElgot.html#1214" class="Field">PreElgotMonad.T</a> <a id="4525" href="Category.Construction.PreElgotMonads.html#3065" class="Bound">X</a><a id="4526" class="Symbol">)</a>
|
||
<a id="4536" class="Keyword">module</a> <a id="4543" href="Category.Construction.PreElgotMonads.html#4543" class="Module">TY</a> <a id="4546" class="Symbol">=</a> <a id="4548" href="Categories.Monad.html#454" class="Module">Monad</a> <a id="4554" class="Symbol">(</a><a id="4555" href="Monad.PreElgot.html#1214" class="Field">PreElgotMonad.T</a> <a id="4571" href="Category.Construction.PreElgotMonads.html#3069" class="Bound">Y</a><a id="4572" class="Symbol">)</a>
|
||
<a id="4582" class="Keyword">module</a> <a id="4589" href="Category.Construction.PreElgotMonads.html#4589" class="Module">TZ</a> <a id="4592" class="Symbol">=</a> <a id="4594" href="Categories.Monad.html#454" class="Module">Monad</a> <a id="4600" class="Symbol">(</a><a id="4601" href="Monad.PreElgot.html#1214" class="Field">PreElgotMonad.T</a> <a id="4617" href="Category.Construction.PreElgotMonads.html#3073" class="Bound">Z</a><a id="4618" class="Symbol">)</a>
|
||
<a id="4628" href="Category.Construction.PreElgotMonads.html#4628" class="Function Operator">_#X</a> <a id="4632" class="Symbol">=</a> <a id="4634" class="Symbol">λ</a> <a id="4636" class="Symbol">{</a><a id="4637" href="Category.Construction.PreElgotMonads.html#4637" class="Bound">A</a><a id="4638" class="Symbol">}</a> <a id="4640" class="Symbol">{</a><a id="4641" href="Category.Construction.PreElgotMonads.html#4641" class="Bound">B</a><a id="4642" class="Symbol">}</a> <a id="4644" href="Category.Construction.PreElgotMonads.html#4644" class="Bound">f</a> <a id="4646" class="Symbol">→</a> <a id="4648" href="Algebra.Elgot.html#1938" class="Function Operator">PreElgotMonad.elgotalgebras._#</a> <a id="4679" href="Category.Construction.PreElgotMonads.html#3065" class="Bound">X</a> <a id="4681" class="Symbol">{</a><a id="4682" href="Category.Construction.PreElgotMonads.html#4637" class="Bound">A</a><a id="4683" class="Symbol">}</a> <a id="4685" class="Symbol">{</a><a id="4686" href="Category.Construction.PreElgotMonads.html#4641" class="Bound">B</a><a id="4687" class="Symbol">}</a> <a id="4689" href="Category.Construction.PreElgotMonads.html#4644" class="Bound">f</a>
|
||
<a id="4699" href="Category.Construction.PreElgotMonads.html#4699" class="Function Operator">_#Y</a> <a id="4703" class="Symbol">=</a> <a id="4705" class="Symbol">λ</a> <a id="4707" class="Symbol">{</a><a id="4708" href="Category.Construction.PreElgotMonads.html#4708" class="Bound">A</a><a id="4709" class="Symbol">}</a> <a id="4711" class="Symbol">{</a><a id="4712" href="Category.Construction.PreElgotMonads.html#4712" class="Bound">B</a><a id="4713" class="Symbol">}</a> <a id="4715" href="Category.Construction.PreElgotMonads.html#4715" class="Bound">f</a> <a id="4717" class="Symbol">→</a> <a id="4719" href="Algebra.Elgot.html#1938" class="Function Operator">PreElgotMonad.elgotalgebras._#</a> <a id="4750" href="Category.Construction.PreElgotMonads.html#3069" class="Bound">Y</a> <a id="4752" class="Symbol">{</a><a id="4753" href="Category.Construction.PreElgotMonads.html#4708" class="Bound">A</a><a id="4754" class="Symbol">}</a> <a id="4756" class="Symbol">{</a><a id="4757" href="Category.Construction.PreElgotMonads.html#4712" class="Bound">B</a><a id="4758" class="Symbol">}</a> <a id="4760" href="Category.Construction.PreElgotMonads.html#4715" class="Bound">f</a>
|
||
<a id="4770" href="Category.Construction.PreElgotMonads.html#4770" class="Function Operator">_#Z</a> <a id="4774" class="Symbol">=</a> <a id="4776" class="Symbol">λ</a> <a id="4778" class="Symbol">{</a><a id="4779" href="Category.Construction.PreElgotMonads.html#4779" class="Bound">A</a><a id="4780" class="Symbol">}</a> <a id="4782" class="Symbol">{</a><a id="4783" href="Category.Construction.PreElgotMonads.html#4783" class="Bound">B</a><a id="4784" class="Symbol">}</a> <a id="4786" href="Category.Construction.PreElgotMonads.html#4786" class="Bound">f</a> <a id="4788" class="Symbol">→</a> <a id="4790" href="Algebra.Elgot.html#1938" class="Function Operator">PreElgotMonad.elgotalgebras._#</a> <a id="4821" href="Category.Construction.PreElgotMonads.html#3073" class="Bound">Z</a> <a id="4823" class="Symbol">{</a><a id="4824" href="Category.Construction.PreElgotMonads.html#4779" class="Bound">A</a><a id="4825" class="Symbol">}</a> <a id="4827" class="Symbol">{</a><a id="4828" href="Category.Construction.PreElgotMonads.html#4783" class="Bound">B</a><a id="4829" class="Symbol">}</a> <a id="4831" href="Category.Construction.PreElgotMonads.html#4786" class="Bound">f</a>
|
||
|
||
<a id="4842" class="Keyword">open</a> <a id="4847" href="Category.Construction.PreElgotMonads.html#1190" class="Module">PreElgotMonad-Morphism</a> <a id="4870" class="Keyword">using</a> <a id="4876" class="Symbol">(</a><a id="4877" href="Category.Construction.PreElgotMonads.html#1344" class="Field">α-η</a><a id="4880" class="Symbol">;</a> <a id="4882" href="Category.Construction.PreElgotMonads.html#1400" class="Field">α-μ</a><a id="4885" class="Symbol">;</a> <a id="4887" href="Category.Construction.PreElgotMonads.html#1490" class="Field">preserves</a><a id="4896" class="Symbol">)</a>
|
||
|
||
<a id="4907" class="Keyword">open</a> <a id="4912" href="Category.Construction.PreElgotMonads.html#1190" class="Module">PreElgotMonad-Morphism</a> <a id="4935" href="Category.Construction.PreElgotMonads.html#3076" class="Bound">f</a> <a id="4937" class="Keyword">using</a> <a id="4943" class="Symbol">()</a> <a id="4946" class="Keyword">renaming</a> <a id="4955" class="Symbol">(</a><a id="4956" href="Category.Construction.PreElgotMonads.html#1253" class="Field">α</a> <a id="4958" class="Symbol">to</a> <a id="4961" class="Field">αf</a><a id="4963" class="Symbol">)</a>
|
||
<a id="4973" class="Keyword">open</a> <a id="4978" href="Category.Construction.PreElgotMonads.html#1190" class="Module">PreElgotMonad-Morphism</a> <a id="5001" href="Category.Construction.PreElgotMonads.html#3078" class="Bound">g</a> <a id="5003" class="Keyword">using</a> <a id="5009" class="Symbol">()</a> <a id="5012" class="Keyword">renaming</a> <a id="5021" class="Symbol">(</a><a id="5022" href="Category.Construction.PreElgotMonads.html#1253" class="Field">α</a> <a id="5024" class="Symbol">to</a> <a id="5027" class="Field">αg</a><a id="5029" class="Symbol">)</a>
|
||
</pre> |