mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
160 lines
92 KiB
HTML
160 lines
92 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
|||
|
<head>
|
|||
|
<meta charset="utf-8" />
|
|||
|
<meta name="generator" content="pandoc" />
|
|||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
|||
|
<title>Category.Construction.StrongPreElgotMonads</title>
|
|||
|
<style>
|
|||
|
code{white-space: pre-wrap;}
|
|||
|
span.smallcaps{font-variant: small-caps;}
|
|||
|
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|||
|
div.column{flex: auto; overflow-x: auto;}
|
|||
|
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|||
|
/* The extra [class] is a hack that increases specificity enough to
|
|||
|
override a similar rule in reveal.js */
|
|||
|
ul.task-list[class]{list-style: none;}
|
|||
|
ul.task-list li input[type="checkbox"] {
|
|||
|
font-size: inherit;
|
|||
|
width: 0.8em;
|
|||
|
margin: 0 0.8em 0.2em -1.6em;
|
|||
|
vertical-align: middle;
|
|||
|
}
|
|||
|
</style>
|
|||
|
<link rel="stylesheet" href="Agda.css" />
|
|||
|
<!--[if lt IE 9]>
|
|||
|
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
|||
|
<![endif]-->
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<!--
|
|||
|
<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.Monad.Strong.html" class="Module">Categories.Monad.Strong</a>
|
|||
|
<a id="390" class="Keyword">open</a> <a id="395" class="Keyword">import</a> <a id="402" href="Categories.Category.Core.html" class="Module">Categories.Category.Core</a>
|
|||
|
<a id="427" class="Keyword">open</a> <a id="432" class="Keyword">import</a> <a id="439" href="Data.Product.html" class="Module">Data.Product</a> <a id="452" class="Keyword">using</a> <a id="458" class="Symbol">(</a><a id="459" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="462" class="Symbol">)</a>
|
|||
|
</pre>-->
|
|||
|
<h1 id="the-functor-category-of-strong-pre-elgot-monads.">The (functor)
|
|||
|
category of strong pre-Elgot monads.</h1>
|
|||
|
<pre class="Agda"><a id="535" class="Keyword">module</a> <a id="542" href="Category.Construction.StrongPreElgotMonads.html" class="Module">Category.Construction.StrongPreElgotMonads</a> <a id="585" class="Symbol">{</a><a id="586" href="Category.Construction.StrongPreElgotMonads.html#586" class="Bound">o</a> <a id="588" href="Category.Construction.StrongPreElgotMonads.html#588" class="Bound">ℓ</a> <a id="590" href="Category.Construction.StrongPreElgotMonads.html#590" class="Bound">e</a><a id="591" class="Symbol">}</a> <a id="593" class="Symbol">(</a><a id="594" href="Category.Construction.StrongPreElgotMonads.html#594" class="Bound">ambient</a> <a id="602" class="Symbol">:</a> <a id="604" href="Category.Ambient.html#1681" class="Record">Ambient</a> <a id="612" href="Category.Construction.StrongPreElgotMonads.html#586" class="Bound">o</a> <a id="614" href="Category.Construction.StrongPreElgotMonads.html#588" class="Bound">ℓ</a> <a id="616" href="Category.Construction.StrongPreElgotMonads.html#590" class="Bound">e</a><a id="617" class="Symbol">)</a> <a id="619" class="Keyword">where</a>
|
|||
|
<a id="625" class="Keyword">open</a> <a id="630" href="Category.Ambient.html#1681" class="Module">Ambient</a> <a id="638" href="Category.Construction.StrongPreElgotMonads.html#594" class="Bound">ambient</a>
|
|||
|
<a id="646" class="Keyword">open</a> <a id="651" class="Keyword">import</a> <a id="658" href="Monad.PreElgot.html" class="Module">Monad.PreElgot</a> <a id="673" href="Category.Construction.StrongPreElgotMonads.html#594" class="Bound">ambient</a>
|
|||
|
<a id="681" class="Keyword">open</a> <a id="686" class="Keyword">import</a> <a id="693" href="Algebra.Elgot.html" class="Module">Algebra.Elgot</a> <a id="707" href="Categories.Category.Extensive.html#734" class="Function">cocartesian</a>
|
|||
|
<a id="719" class="Keyword">open</a> <a id="724" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
|||
|
<a id="737" class="Keyword">open</a> <a id="742" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
|
|||
|
<a id="748" class="Keyword">open</a> <a id="753" href="Category.Ambient.html#9069" class="Module">M</a> <a id="755" href="Category.Ambient.html#1757" class="Field">C</a>
|
|||
|
<a id="757" class="Keyword">open</a> <a id="762" href="Category.Ambient.html#9087" class="Module">MR</a> <a id="765" href="Category.Ambient.html#1757" class="Field">C</a>
|
|||
|
|
|||
|
<a id="768" class="Keyword">module</a> <a id="775" href="Category.Construction.StrongPreElgotMonads.html#775" class="Module">_</a> <a id="777" class="Symbol">(</a><a id="778" href="Category.Construction.StrongPreElgotMonads.html#778" class="Bound">P</a> <a id="780" href="Category.Construction.StrongPreElgotMonads.html#780" class="Bound">S</a> <a id="782" class="Symbol">:</a> <a id="784" href="Monad.PreElgot.html#1819" class="Record">StrongPreElgotMonad</a><a id="803" class="Symbol">)</a> <a id="805" class="Keyword">where</a>
|
|||
|
<a id="813" class="Keyword">private</a>
|
|||
|
<a id="825" class="Keyword">open</a> <a id="830" href="Monad.PreElgot.html#1819" class="Module">StrongPreElgotMonad</a> <a id="850" href="Category.Construction.StrongPreElgotMonads.html#778" class="Bound">P</a> <a id="852" class="Keyword">using</a> <a id="858" class="Symbol">()</a> <a id="861" class="Keyword">renaming</a> <a id="870" class="Symbol">(</a><a id="871" href="Monad.PreElgot.html#1879" class="Field">SM</a> <a id="874" class="Symbol">to</a> <a id="877" class="Field">SMP</a><a id="880" class="Symbol">;</a> <a id="882" href="Monad.PreElgot.html#815" class="Function">elgotalgebras</a> <a id="896" class="Symbol">to</a> <a id="899" class="Function">P-elgots</a><a id="907" class="Symbol">)</a>
|
|||
|
<a id="913" class="Keyword">open</a> <a id="918" href="Monad.PreElgot.html#1819" class="Module">StrongPreElgotMonad</a> <a id="938" href="Category.Construction.StrongPreElgotMonads.html#780" class="Bound">S</a> <a id="940" class="Keyword">using</a> <a id="946" class="Symbol">()</a> <a id="949" class="Keyword">renaming</a> <a id="958" class="Symbol">(</a><a id="959" href="Monad.PreElgot.html#1879" class="Field">SM</a> <a id="962" class="Symbol">to</a> <a id="965" class="Field">SMS</a><a id="968" class="Symbol">;</a> <a id="970" href="Monad.PreElgot.html#815" class="Function">elgotalgebras</a> <a id="984" class="Symbol">to</a> <a id="987" class="Function">S-elgots</a><a id="995" class="Symbol">)</a>
|
|||
|
<a id="1001" class="Keyword">open</a> <a id="1006" href="Categories.Monad.Strong.html#1832" class="Module">StrongMonad</a> <a id="1018" href="Category.Construction.StrongPreElgotMonads.html#877" class="Function">SMP</a> <a id="1022" class="Keyword">using</a> <a id="1028" class="Symbol">()</a> <a id="1031" class="Keyword">renaming</a> <a id="1040" class="Symbol">(</a><a id="1041" href="Categories.Monad.Strong.html#1918" class="Field">M</a> <a id="1043" class="Symbol">to</a> <a id="1046" class="Field">TP</a><a id="1048" class="Symbol">;</a> <a id="1050" href="Categories.Monad.Strong.html#1060" class="Function">strengthen</a> <a id="1061" class="Symbol">to</a> <a id="1064" class="Function">strengthenP</a><a id="1075" class="Symbol">)</a>
|
|||
|
<a id="1081" class="Keyword">open</a> <a id="1086" href="Categories.Monad.Strong.html#1832" class="Module">StrongMonad</a> <a id="1098" href="Category.Construction.StrongPreElgotMonads.html#965" class="Field">SMS</a> <a id="1102" class="Keyword">using</a> <a id="1108" class="Symbol">()</a> <a id="1111" class="Keyword">renaming</a> <a id="1120" class="Symbol">(</a><a id="1121" href="Categories.Monad.Strong.html#1918" class="Field">M</a> <a id="1123" class="Symbol">to</a> <a id="1126" class="Field">TS</a><a id="1128" class="Symbol">;</a> <a id="1130" href="Categories.Monad.Strong.html#1060" class="Function">strengthen</a> <a id="1141" class="Symbol">to</a> <a id="1144" class="Function">strengthenS</a><a id="1155" class="Symbol">)</a>
|
|||
|
<a id="1161" class="Keyword">open</a> <a id="1166" href="Category.Construction.StrongPreElgotMonads.html#265" class="Module">RMonad</a> <a id="1173" class="Symbol">(</a><a id="1174" href="Categories.Monad.Construction.Kleisli.html#2851" class="Function">Monad⇒Kleisli</a> <a id="1188" href="Category.Ambient.html#1757" class="Field">C</a> <a id="1190" href="Category.Construction.StrongPreElgotMonads.html#1046" class="Function">TP</a><a id="1192" class="Symbol">)</a> <a id="1194" class="Keyword">using</a> <a id="1200" class="Symbol">()</a> <a id="1203" class="Keyword">renaming</a> <a id="1212" class="Symbol">(</a><a id="1213" href="Categories.Monad.Relative.html#895" class="Field">extend</a> <a id="1220" class="Symbol">to</a> <a id="1223" class="Field">extendP</a><a id="1230" class="Symbol">)</a>
|
|||
|
<a id="1236" class="Keyword">open</a> <a id="1241" href="Category.Construction.StrongPreElgotMonads.html#265" class="Module">RMonad</a> <a id="1248" class="Symbol">(</a><a id="1249" href="Categories.Monad.Construction.Kleisli.html#2851" class="Function">Monad⇒Kleisli</a> <a id="1263" href="Category.Ambient.html#1757" class="Field">C</a> <a id="1265" href="Category.Construction.StrongPreElgotMonads.html#1126" class="Function">TS</a><a id="1267" class="Symbol">)</a> <a id="1269" class="Keyword">using</a> <a id="1275" class="Symbol">()</a> <a id="1278" class="Keyword">renaming</a> <a id="1287" class="Symbol">(</a><a id="1288" href="Categories.Monad.Relative.html#895" class="Field">extend</a> <a id="1295" class="Symbol">to</a> <a id="1298" class="Field">extendS</a><a id="1305" class="Symbol">)</a>
|
|||
|
<a id="1311" href="Category.Construction.StrongPreElgotMonads.html#1311" class="Function Operator">_#P</a> <a id="1315" class="Symbol">=</a> <a id="1317" class="Symbol">λ</a> <a id="1319" class="Symbol">{</a><a id="1320" href="Category.Construction.StrongPreElgotMonads.html#1320" class="Bound">X</a><a id="1321" class="Symbol">}</a> <a id="1323" class="Symbol">{</a><a id="1324" href="Category.Construction.StrongPreElgotMonads.html#1324" class="Bound">A</a><a id="1325" class="Symbol">}</a> <a id="1327" href="Category.Construction.StrongPreElgotMonads.html#1327" class="Bound">f</a> <a id="1329" class="Symbol">→</a> <a id="1331" href="Algebra.Elgot.html#1938" class="Function Operator">P-elgots._#</a> <a id="1343" class="Symbol">{</a><a id="1344" href="Category.Construction.StrongPreElgotMonads.html#1320" class="Bound">X</a><a id="1345" class="Symbol">}</a> <a id="1347" class="Symbol">{</a><a id="1348" href="Category.Construction.StrongPreElgotMonads.html#1324" class="Bound">A</a><a id="1349" class="Symbol">}</a> <a id="1351" href="Category.Construction.StrongPreElgotMonads.html#1327" class="Bound">f</a>
|
|||
|
<a id="1357" href="Category.Construction.StrongPreElgotMonads.html#1357" class="Function Operator">_#S</a> <a id="1361" class="Symbol">=</a> <a id="1363" class="Symbol">λ</a> <a id="1365" class="Symbol">{</a><a id="1366" href="Category.Construction.StrongPreElgotMonads.html#1366" class="Bound">X</a><a id="1367" class="Symbol">}</a> <a id="1369" class="Symbol">{</a><a id="1370" href="Category.Construction.StrongPreElgotMonads.html#1370" class="Bound">A</a><a id="1371" class="Symbol">}</a> <a id="1373" href="Category.Construction.StrongPreElgotMonads.html#1373" class="Bound">f</a> <a id="1375" class="Symbol">→</a> <a id="1377" href="Algebra.Elgot.html#1938" class="Function Operator">S-elgots._#</a> <a id="1389" class="Symbol">{</a><a id="1390" href="Category.Construction.StrongPreElgotMonads.html#1366" class="Bound">X</a><a id="1391" class="Symbol">}</a> <a id="1393" class="Symbol">{</a><a id="1394" href="Category.Construction.StrongPreElgotMonads.html#1370" class="Bound">A</a><a id="1395" class="Symbol">}</a> <a id="1397" href="Category.Construction.StrongPreElgotMonads.html#1373" class="Bound">f</a>
|
|||
|
<a id="1401" class="Keyword">record</a> <a id="1408" href="Category.Construction.StrongPreElgotMonads.html#1408" class="Record">StrongPreElgotMonad-Morphism</a> <a id="1437" class="Symbol">:</a> <a id="1439" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1443" class="Symbol">(</a><a id="1444" href="Category.Construction.StrongPreElgotMonads.html#586" class="Bound">o</a> <a id="1446" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1448" href="Category.Construction.StrongPreElgotMonads.html#588" class="Bound">ℓ</a> <a id="1450" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1452" href="Category.Construction.StrongPreElgotMonads.html#590" class="Bound">e</a><a id="1453" class="Symbol">)</a> <a id="1455" class="Keyword">where</a>
|
|||
|
<a id="1465" class="Keyword">field</a>
|
|||
|
<a id="1477" href="Category.Construction.StrongPreElgotMonads.html#1477" class="Field">α</a> <a id="1479" class="Symbol">:</a> <a id="1481" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="1503" href="Categories.Monad.html#525" class="Function">TP.F</a> <a id="1508" href="Categories.Monad.html#525" class="Function">TS.F</a>
|
|||
|
<a id="1517" class="Keyword">module</a> <a id="1524" href="Category.Construction.StrongPreElgotMonads.html#1524" class="Module">α</a> <a id="1526" class="Symbol">=</a> <a id="1528" href="Categories.NaturalTransformation.Core.html#466" class="Module">NaturalTransformation</a> <a id="1550" href="Category.Construction.StrongPreElgotMonads.html#1477" class="Field">α</a>
|
|||
|
<a id="1556" class="Keyword">field</a>
|
|||
|
<a id="1568" href="Category.Construction.StrongPreElgotMonads.html#1568" class="Field">α-η</a> <a id="1572" class="Symbol">:</a> <a id="1574" class="Symbol">∀</a> <a id="1576" class="Symbol">{</a><a id="1577" href="Category.Construction.StrongPreElgotMonads.html#1577" class="Bound">X</a><a id="1578" class="Symbol">}</a>
|
|||
|
<a id="1588" class="Symbol">→</a> <a id="1590" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1594" href="Category.Construction.StrongPreElgotMonads.html#1577" class="Bound">X</a> <a id="1596" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1598" href="Categories.NaturalTransformation.Core.html#783" class="Function">TP.η.η</a> <a id="1605" href="Category.Construction.StrongPreElgotMonads.html#1577" class="Bound">X</a> <a id="1607" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1609" href="Categories.NaturalTransformation.Core.html#783" class="Function">TS.η.η</a> <a id="1616" href="Category.Construction.StrongPreElgotMonads.html#1577" class="Bound">X</a>
|
|||
|
<a id="1624" href="Category.Construction.StrongPreElgotMonads.html#1624" class="Field">α-μ</a> <a id="1628" class="Symbol">:</a> <a id="1630" class="Symbol">∀</a> <a id="1632" class="Symbol">{</a><a id="1633" href="Category.Construction.StrongPreElgotMonads.html#1633" class="Bound">X</a><a id="1634" class="Symbol">}</a>
|
|||
|
<a id="1644" class="Symbol">→</a> <a id="1646" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1650" href="Category.Construction.StrongPreElgotMonads.html#1633" class="Bound">X</a> <a id="1652" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1654" href="Categories.NaturalTransformation.Core.html#783" class="Function">TP.μ.η</a> <a id="1661" href="Category.Construction.StrongPreElgotMonads.html#1633" class="Bound">X</a> <a id="1663" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1665" href="Categories.NaturalTransformation.Core.html#783" class="Function">TS.μ.η</a> <a id="1672" href="Category.Construction.StrongPreElgotMonads.html#1633" class="Bound">X</a> <a id="1674" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1676" href="Categories.Functor.Core.html#806" class="Function">TS.F.₁</a> <a id="1683" class="Symbol">(</a><a id="1684" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1688" href="Category.Construction.StrongPreElgotMonads.html#1633" class="Bound">X</a><a id="1689" class="Symbol">)</a> <a id="1691" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1693" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1697" class="Symbol">(</a><a id="1698" href="Categories.Functor.Core.html#797" class="Function">TP.F.₀</a> <a id="1705" href="Category.Construction.StrongPreElgotMonads.html#1633" class="Bound">X</a><a id="1706" class="Symbol">)</a>
|
|||
|
<a id="1714" href="Category.Construction.StrongPreElgotMonads.html#1714" class="Field">α-strength</a> <a id="1725" class="Symbol">:</a> <a id="1727" class="Symbol">∀</a> <a id="1729" class="Symbol">{</a><a id="1730" href="Category.Construction.StrongPreElgotMonads.html#1730" class="Bound">X</a> <a id="1732" href="Category.Construction.StrongPreElgotMonads.html#1732" class="Bound">Y</a><a id="1733" class="Symbol">}</a>
|
|||
|
<a id="1743" class="Symbol">→</a> <a id="1745" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1749" class="Symbol">(</a><a id="1750" href="Category.Construction.StrongPreElgotMonads.html#1730" class="Bound">X</a> <a id="1752" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="1754" href="Category.Construction.StrongPreElgotMonads.html#1732" class="Bound">Y</a><a id="1755" class="Symbol">)</a> <a id="1757" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1759" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthenP.η</a> <a id="1773" class="Symbol">(</a><a id="1774" href="Category.Construction.StrongPreElgotMonads.html#1730" class="Bound">X</a> <a id="1776" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1778" href="Category.Construction.StrongPreElgotMonads.html#1732" class="Bound">Y</a><a id="1779" class="Symbol">)</a> <a id="1781" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1783" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthenS.η</a> <a id="1797" class="Symbol">(</a><a id="1798" href="Category.Construction.StrongPreElgotMonads.html#1730" class="Bound">X</a> <a id="1800" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1802" href="Category.Construction.StrongPreElgotMonads.html#1732" class="Bound">Y</a><a id="1803" class="Symbol">)</a> <a id="1805" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1807" class="Symbol">(</a><a id="1808" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="1812" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator">⁂</a> <a id="1814" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1818" href="Category.Construction.StrongPreElgotMonads.html#1732" class="Bound">Y</a><a id="1819" class="Symbol">)</a>
|
|||
|
<a id="1827" href="Category.Construction.StrongPreElgotMonads.html#1827" class="Field">α-preserves</a> <a id="1839" class="Symbol">:</a> <a id="1841" class="Symbol">∀</a> <a id="1843" class="Symbol">{</a><a id="1844" href="Category.Construction.StrongPreElgotMonads.html#1844" class="Bound">X</a> <a id="1846" href="Category.Construction.StrongPreElgotMonads.html#1846" class="Bound">A</a><a id="1847" class="Symbol">}</a> <a id="1849" class="Symbol">(</a><a id="1850" href="Category.Construction.StrongPreElgotMonads.html#1850" class="Bound">f</a> <a id="1852" class="Symbol">:</a> <a id="1854" href="Category.Construction.StrongPreElgotMonads.html#1844" class="Bound">X</a> <a id="1856" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="1858" href="Categories.Functor.Core.html#797" class="Function">TP.F.₀</a> <a id="1865" href="Category.Construction.StrongPreElgotMonads.html#1846" class="Bound">A</a> <a id="1867" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="1869" href="Category.Construction.StrongPreElgotMonads.html#1844" class="Bound">X</a><a id="1870" class="Symbol">)</a> <a id="1872" class="Symbol">→</a> <a id="1874" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1878" href="Category.Construction.StrongPreElgotMonads.html#1846" class="Bound">A</a> <a id="1880" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1882" href="Category.Construction.StrongPreElgotMonads.html#1850" class="Bound">f</a> <a id="1884" href="Category.Construction.StrongPreElgotMonads.html#1311" class="Function Operator">#P</a> <a id="1887" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1889" class="Symbol">((</a><a id="1891" href="Categories.NaturalTransformation.Core.html#783" class="Function">α.η</a> <a id="1895" href="Category.Construction.StrongPreElgotMonads.html#1846" class="Bound">A</a> <a id="1897" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="1900" href="Category.Ambient.html#2115" class="Function">idC</a><a id="1903" class="Symbol">)</a> <a id="1905" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1907" href="Category.Construction.StrongPreElgotMonads.html#1850" class="Bound">f</a><a id="1908" class="Symbol">)</a> <a id="1910" href="Category.Construction.StrongPreElgotMonads.html#1357" class="Function Operator">#S</a>
|
|||
|
|
|||
|
<a id="StrongPreElgotMonads"></a><a id="1914" href="Category.Construction.StrongPreElgotMonads.html#1914" class="Function">StrongPreElgotMonads</a> <a id="1935" class="Symbol">:</a> <a id="1937" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1946" class="Symbol">(</a><a id="1947" href="Category.Construction.StrongPreElgotMonads.html#586" class="Bound">o</a> <a id="1949" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1951" href="Category.Construction.StrongPreElgotMonads.html#588" class="Bound">ℓ</a> <a id="1953" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1955" href="Category.Construction.StrongPreElgotMonads.html#590" class="Bound">e</a><a id="1956" class="Symbol">)</a> <a id="1958" class="Symbol">(</a><a id="1959" href="Category.Construction.StrongPreElgotMonads.html#586" class="Bound">o</a> <a id="1961" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1963" href="Category.Construction.StrongPreElgotMonads.html#588" class="Bound">ℓ</a> <a id="1965" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1967" href="Category.Construction.StrongPreElgotMonads.html#590" class="Bound">e</a><a id="1968" class="Symbol">)</a> <a id="1970" class="Symbol">(</a><a id="1971" href="Category.Construction.StrongPreElgotMonads.html#586" class="Bound">o</a> <a id="1973" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1975" href="Category.Construction.StrongPreElgotMonads.html#590" class="Bound">e</a><a id="1976" class="Symbol">)</a>
|
|||
|
<a id="1978" href="Category.Construction.StrongPreElgotMonads.html#1914" class="Function">StrongPreElgotMonads</a> <a id="1999" class="Symbol">=</a> <a id="2001" class="Keyword">record</a>
|
|||
|
<a id="2010" class="Symbol">{</a> <a id="2012" href="Categories.Category.Core.html#559" class="Field">Obj</a> <a id="2016" class="Symbol">=</a> <a id="2018" href="Monad.PreElgot.html#1819" class="Record">StrongPreElgotMonad</a>
|
|||
|
<a id="2041" class="Symbol">;</a> <a id="2043" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="2047" class="Symbol">=</a> <a id="2049" href="Category.Construction.StrongPreElgotMonads.html#1408" class="Record">StrongPreElgotMonad-Morphism</a>
|
|||
|
<a id="2080" class="Symbol">;</a> <a id="2082" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a> <a id="2086" class="Symbol">=</a> <a id="2088" class="Symbol">λ</a> <a id="2090" href="Category.Construction.StrongPreElgotMonads.html#2090" class="Bound">f</a> <a id="2092" href="Category.Construction.StrongPreElgotMonads.html#2092" class="Bound">g</a> <a id="2094" class="Symbol">→</a> <a id="2096" class="Symbol">(</a><a id="2097" href="Category.Construction.StrongPreElgotMonads.html#1477" class="Field">StrongPreElgotMonad-Morphism.α</a> <a id="2128" href="Category.Construction.StrongPreElgotMonads.html#2090" class="Bound">f</a><a id="2129" class="Symbol">)</a> <a id="2131" href="Categories.NaturalTransformation.Equivalence.html#630" class="Function Operator">≃</a> <a id="2133" class="Symbol">(</a><a id="2134" href="Category.Construction.StrongPreElgotMonads.html#1477" class="Field">StrongPreElgotMonad-Morphism.α</a> <a id="2165" href="Category.Construction.StrongPreElgotMonads.html#2092" class="Bound">g</a><a id="2166" class="Symbol">)</a>
|
|||
|
<a id="2170" class="Symbol">;</a> <a id="2172" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2175" class="Symbol">=</a> <a id="2177" href="Category.Construction.StrongPreElgotMonads.html#2504" class="Function">id'</a>
|
|||
|
<a id="2183" class="Symbol">;</a> <a id="2185" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a> <a id="2189" class="Symbol">=</a> <a id="2191" href="Category.Construction.StrongPreElgotMonads.html#3749" class="Function Operator">_∘'_</a>
|
|||
|
<a id="2198" class="Symbol">;</a> <a id="2200" href="Categories.Category.Core.html#715" class="Field">assoc</a> <a id="2206" class="Symbol">=</a> <a id="2208" href="Categories.Category.Core.html#715" class="Function">assoc</a>
|
|||
|
<a id="2216" class="Symbol">;</a> <a id="2218" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="2228" class="Symbol">=</a> <a id="2230" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a>
|
|||
|
<a id="2242" class="Symbol">;</a> <a id="2244" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="2254" class="Symbol">=</a> <a id="2256" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a>
|
|||
|
<a id="2268" class="Symbol">;</a> <a id="2270" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="2280" class="Symbol">=</a> <a id="2282" href="Categories.Category.Core.html#1145" class="Function">identityʳ</a>
|
|||
|
<a id="2294" class="Symbol">;</a> <a id="2296" href="Categories.Category.Core.html#1339" class="Field">identity²</a> <a id="2306" class="Symbol">=</a> <a id="2308" href="Categories.Category.Core.html#1339" class="Function">identity²</a>
|
|||
|
<a id="2320" class="Symbol">;</a> <a id="2322" href="Categories.Category.Core.html#1384" class="Field">equiv</a> <a id="2328" class="Symbol">=</a> <a id="2330" class="Keyword">record</a> <a id="2337" class="Symbol">{</a> <a id="2339" href="Relation.Binary.Structures.html#1596" class="Field">refl</a> <a id="2344" class="Symbol">=</a> <a id="2346" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="2351" class="Symbol">;</a> <a id="2353" href="Relation.Binary.Structures.html#1622" class="Field">sym</a> <a id="2357" class="Symbol">=</a> <a id="2359" class="Symbol">λ</a> <a id="2361" href="Category.Construction.StrongPreElgotMonads.html#2361" class="Bound">f</a> <a id="2363" class="Symbol">→</a> <a id="2365" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="2369" href="Category.Construction.StrongPreElgotMonads.html#2361" class="Bound">f</a> <a id="2371" class="Symbol">;</a> <a id="2373" href="Relation.Binary.Structures.html#1648" class="Field">trans</a> <a id="2379" class="Symbol">=</a> <a id="2381" class="Symbol">λ</a> <a id="2383" href="Category.Construction.StrongPreElgotMonads.html#2383" class="Bound">f</a> <a id="2385" href="Category.Construction.StrongPreElgotMonads.html#2385" class="Bound">g</a> <a id="2387" class="Symbol">→</a> <a id="2389" href="Relation.Binary.Structures.html#1648" class="Function">trans</a> <a id="2395" href="Category.Construction.StrongPreElgotMonads.html#2383" class="Bound">f</a> <a id="2397" href="Category.Construction.StrongPreElgotMonads.html#2385" class="Bound">g</a> <a id="2399" class="Symbol">}</a>
|
|||
|
<a id="2403" class="Symbol">;</a> <a id="2405" href="Categories.Category.Core.html#1438" class="Field">∘-resp-≈</a> <a id="2414" class="Symbol">=</a> <a id="2416" class="Symbol">λ</a> <a id="2418" href="Category.Construction.StrongPreElgotMonads.html#2418" class="Bound">f≈h</a> <a id="2422" href="Category.Construction.StrongPreElgotMonads.html#2422" class="Bound">g≈i</a> <a id="2426" class="Symbol">→</a> <a id="2428" href="Categories.Category.Core.html#1438" class="Function">∘-resp-≈</a> <a id="2437" href="Category.Construction.StrongPreElgotMonads.html#2418" class="Bound">f≈h</a> <a id="2441" href="Category.Construction.StrongPreElgotMonads.html#2422" class="Bound">g≈i</a>
|
|||
|
<a id="2447" class="Symbol">}</a>
|
|||
|
<a id="2451" class="Keyword">where</a>
|
|||
|
<a id="2461" class="Keyword">open</a> <a id="2466" href="Algebra.Elgot.html#1845" class="Module">Elgot-Algebra-on</a> <a id="2483" class="Keyword">using</a> <a id="2489" class="Symbol">(</a><a id="2490" href="Algebra.Elgot.html#2331" class="Field">#-resp-≈</a><a id="2498" class="Symbol">)</a>
|
|||
|
<a id="2504" href="Category.Construction.StrongPreElgotMonads.html#2504" class="Function">id'</a> <a id="2508" class="Symbol">:</a> <a id="2510" class="Symbol">∀</a> <a id="2512" class="Symbol">{</a><a id="2513" href="Category.Construction.StrongPreElgotMonads.html#2513" class="Bound">A</a> <a id="2515" class="Symbol">:</a> <a id="2517" href="Monad.PreElgot.html#1819" class="Record">StrongPreElgotMonad</a><a id="2536" class="Symbol">}</a> <a id="2538" class="Symbol">→</a> <a id="2540" href="Category.Construction.StrongPreElgotMonads.html#1408" class="Record">StrongPreElgotMonad-Morphism</a> <a id="2569" href="Category.Construction.StrongPreElgotMonads.html#2513" class="Bound">A</a> <a id="2571" href="Category.Construction.StrongPreElgotMonads.html#2513" class="Bound">A</a>
|
|||
|
<a id="2577" href="Category.Construction.StrongPreElgotMonads.html#2504" class="Function">id'</a> <a id="2581" class="Symbol">{</a><a id="2582" href="Category.Construction.StrongPreElgotMonads.html#2582" class="Bound">A</a><a id="2583" class="Symbol">}</a> <a id="2585" class="Symbol">=</a> <a id="2587" class="Keyword">record</a>
|
|||
|
<a id="2600" class="Symbol">{</a> <a id="2602" href="Category.Construction.StrongPreElgotMonads.html#1477" class="Field">α</a> <a id="2604" class="Symbol">=</a> <a id="2606" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="2615" class="Symbol">(</a><a id="2616" class="Keyword">record</a> <a id="2623" class="Symbol">{</a> <a id="2625" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="2627" class="Symbol">=</a> <a id="2629" class="Symbol">λ</a> <a id="2631" href="Category.Construction.StrongPreElgotMonads.html#2631" class="Bound">_</a> <a id="2633" class="Symbol">→</a> <a id="2635" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="2639" class="Symbol">;</a> <a id="2641" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="2649" class="Symbol">=</a> <a id="2651" class="Symbol">λ</a> <a id="2653" href="Category.Construction.StrongPreElgotMonads.html#2653" class="Bound">_</a> <a id="2655" class="Symbol">→</a> <a id="2657" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a> <a id="2669" class="Symbol">})</a>
|
|||
|
<a id="2679" class="Symbol">;</a> <a id="2681" href="Category.Construction.StrongPreElgotMonads.html#1568" class="Field">α-η</a> <a id="2685" class="Symbol">=</a> <a id="2687" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a>
|
|||
|
<a id="2704" class="Symbol">;</a> <a id="2706" href="Category.Construction.StrongPreElgotMonads.html#1624" class="Field">α-μ</a> <a id="2710" class="Symbol">=</a> <a id="2712" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="2716" class="Symbol">(</a><a id="2717" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="2733" href="Categories.NaturalTransformation.Core.html#783" class="Function">M.μ.η</a> <a id="2739" class="Symbol">_</a> <a id="2741" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2743" href="Categories.Functor.Core.html#806" class="Function">M.F.₁</a> <a id="2749" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="2753" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2755" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="2759" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2762" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="2770" href="Categories.Category.Core.html#1145" class="Function">identityʳ</a> <a id="2780" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2792" href="Categories.NaturalTransformation.Core.html#783" class="Function">M.μ.η</a> <a id="2798" class="Symbol">_</a> <a id="2800" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2802" href="Categories.Functor.Core.html#806" class="Function">M.F.₁</a> <a id="2808" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="2818" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2821" href="Categories.Morphism.Reasoning.Core.html#2786" class="Function">elimʳ</a> <a id="2827" href="Categories.Functor.Core.html#511" class="Function">M.F.identity</a> <a id="2840" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2852" href="Categories.NaturalTransformation.Core.html#783" class="Function">M.μ.η</a> <a id="2858" class="Symbol">_</a> <a id="2878" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2881" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="2885" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a> <a id="2895" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2907" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="2911" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2913" href="Categories.NaturalTransformation.Core.html#783" class="Function">M.μ.η</a> <a id="2919" class="Symbol">_</a> <a id="2933" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a><a id="2934" class="Symbol">)</a>
|
|||
|
<a id="2942" class="Symbol">;</a> <a id="2944" href="Category.Construction.StrongPreElgotMonads.html#1714" class="Field">α-strength</a> <a id="2955" class="Symbol">=</a> <a id="2957" class="Symbol">λ</a> <a id="2959" class="Symbol">{</a><a id="2960" href="Category.Construction.StrongPreElgotMonads.html#2960" class="Bound">X</a><a id="2961" class="Symbol">}</a> <a id="2963" class="Symbol">{</a><a id="2964" href="Category.Construction.StrongPreElgotMonads.html#2964" class="Bound">Y</a><a id="2965" class="Symbol">}</a> <a id="2967" class="Symbol">→</a> <a id="2969" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="2973" class="Symbol">(</a><a id="2974" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="2989" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthen.η</a> <a id="3002" class="Symbol">(</a><a id="3003" href="Category.Construction.StrongPreElgotMonads.html#2960" class="Bound">X</a> <a id="3005" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3007" href="Category.Construction.StrongPreElgotMonads.html#2964" class="Bound">Y</a><a id="3008" class="Symbol">)</a> <a id="3010" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3012" class="Symbol">(</a><a id="3013" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="3017" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator">⁂</a> <a id="3019" href="Category.Ambient.html#2115" class="Function">idC</a><a id="3022" class="Symbol">)</a> <a id="3030" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3033" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="3041" class="Symbol">(</a><a id="3042" href="Categories.Category.BinaryProducts.html#2515" class="Function">⁂-cong₂</a> <a id="3050" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="3055" class="Symbol">(</a><a id="3056" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="3060" href="Categories.Functor.Core.html#511" class="Function">M.F.identity</a><a id="3072" class="Symbol">))</a> <a id="3075" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3086" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthen.η</a> <a id="3099" class="Symbol">(</a><a id="3100" href="Category.Construction.StrongPreElgotMonads.html#2960" class="Bound">X</a> <a id="3102" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3104" href="Category.Construction.StrongPreElgotMonads.html#2964" class="Bound">Y</a><a id="3105" class="Symbol">)</a> <a id="3107" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3109" class="Symbol">(</a><a id="3110" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="3114" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator">⁂</a> <a id="3116" href="Categories.Functor.Core.html#806" class="Function">M.F.₁</a> <a id="3122" href="Category.Ambient.html#2115" class="Function">idC</a><a id="3125" class="Symbol">)</a> <a id="3127" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3130" href="Categories.NaturalTransformation.Core.html#827" class="Function">strengthen.commute</a> <a id="3149" class="Symbol">(</a><a id="3150" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="3154" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3156" href="Category.Ambient.html#2115" class="Function">idC</a><a id="3159" class="Symbol">)</a> <a id="3161" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3172" href="Categories.Functor.Core.html#806" class="Function">M.F.₁</a> <a id="3178" class="Symbol">(</a><a id="3179" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="3183" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator">⁂</a> <a id="3185" href="Category.Ambient.html#2115" class="Function">idC</a><a id="3188" class="Symbol">)</a> <a id="3190" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3192" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthen.η</a> <a id="3205" class="Symbol">(</a><a id="3206" href="Category.Construction.StrongPreElgotMonads.html#2960" class="Bound">X</a> <a id="3208" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3210" href="Category.Construction.StrongPreElgotMonads.html#2964" class="Bound">Y</a><a id="3211" class="Symbol">)</a> <a id="3213" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3216" class="Symbol">(</a><a id="3217" href="Categories.Functor.Core.html#696" class="Function">M.F.F-resp-≈</a> <a id="3230" class="Symbol">(</a><a id="3231" href="Category.Ambient.html#2592" class="Function">⟨⟩-unique</a> <a id="3241" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a> <a id="3249" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a><a id="3256" class="Symbol">)</a> <a id="3258" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="3260" href="Categories.Functor.Core.html#511" class="Function">M.F.identity</a><a id="3272" class="Symbol">)</a> <a id="3274" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="3282" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3293" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="3297" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3299" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthen.η</a> <a id="3312" class="Symbol">(</a><a id="3313" href="Category.Construction.StrongPreElgotMonads.html#2960" class="Bound">X</a> <a id="3315" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3317" href="Category.Construction.StrongPreElgotMonads.html#2964" class="Bound">Y</a><a id="3318" class="Symbol">)</a> <a id="3334" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a><a id="3335" class="Symbol">)</a>
|
|||
|
<a id="3344" class="Symbol">;</a> <a id="3346" href="Category.Construction.StrongPreElgotMonads.html#1827" class="Field">α-preserves</a> <a id="3358" class="Symbol">=</a> <a id="3360" class="Symbol">λ</a> <a id="3362" href="Category.Construction.StrongPreElgotMonads.html#3362" class="Bound">f</a> <a id="3364" class="Symbol">→</a> <a id="3366" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="3382" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="3386" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3388" href="Category.Construction.StrongPreElgotMonads.html#3362" class="Bound">f</a> <a id="3390" href="Category.Construction.StrongPreElgotMonads.html#3699" class="Function Operator">#</a> <a id="3403" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3406" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a> <a id="3416" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3428" href="Category.Construction.StrongPreElgotMonads.html#3362" class="Bound">f</a> <a id="3430" href="Category.Construction.StrongPreElgotMonads.html#3699" class="Function Operator">#</a> <a id="3449" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3452" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="3456" class="Symbol">(</a><a id="3457" href="Algebra.Elgot.html#2331" class="Field">#-resp-≈</a> <a id="3466" href="Monad.PreElgot.html#815" class="Function">elgotalgebras</a> <a id="3480" class="Symbol">(</a><a id="3481" href="Categories.Morphism.Reasoning.Core.html#2948" class="Function">elimˡ</a> <a id="3487" class="Symbol">(</a><a id="3488" href="Category.Ambient.html#2218" class="Function">[]-unique</a> <a id="3498" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a> <a id="3510" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a><a id="3521" class="Symbol">)))</a> <a id="3525" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3537" class="Symbol">((</a><a id="3539" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="3543" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="3546" href="Category.Ambient.html#2115" class="Function">idC</a><a id="3549" class="Symbol">)</a> <a id="3551" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3553" href="Category.Construction.StrongPreElgotMonads.html#3362" class="Bound">f</a><a id="3554" class="Symbol">)</a> <a id="3556" href="Category.Construction.StrongPreElgotMonads.html#3699" class="Function Operator">#</a> <a id="3558" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="3566" class="Symbol">}</a>
|
|||
|
<a id="3574" class="Keyword">where</a>
|
|||
|
<a id="3588" class="Keyword">open</a> <a id="3593" href="Monad.PreElgot.html#1819" class="Module">StrongPreElgotMonad</a> <a id="3613" href="Category.Construction.StrongPreElgotMonads.html#2582" class="Bound">A</a> <a id="3615" class="Keyword">using</a> <a id="3621" class="Symbol">(</a><a id="3622" href="Monad.PreElgot.html#1879" class="Field">SM</a><a id="3624" class="Symbol">;</a> <a id="3626" href="Monad.PreElgot.html#815" class="Function">elgotalgebras</a><a id="3639" class="Symbol">)</a>
|
|||
|
<a id="3649" class="Keyword">open</a> <a id="3654" href="Categories.Monad.Strong.html#1832" class="Module">StrongMonad</a> <a id="3666" href="Monad.PreElgot.html#1879" class="Field">SM</a> <a id="3669" class="Keyword">using</a> <a id="3675" class="Symbol">(</a><a id="3676" href="Categories.Monad.Strong.html#1918" class="Field">M</a><a id="3677" class="Symbol">;</a> <a id="3679" href="Categories.Monad.Strong.html#1060" class="Function">strengthen</a><a id="3689" class="Symbol">)</a>
|
|||
|
<a id="3699" href="Category.Construction.StrongPreElgotMonads.html#3699" class="Function Operator">_#</a> <a id="3702" class="Symbol">=</a> <a id="3704" class="Symbol">λ</a> <a id="3706" class="Symbol">{</a><a id="3707" href="Category.Construction.StrongPreElgotMonads.html#3707" class="Bound">X</a><a id="3708" class="Symbol">}</a> <a id="3710" class="Symbol">{</a><a id="3711" href="Category.Construction.StrongPreElgotMonads.html#3711" class="Bound">A</a><a id="3712" class="Symbol">}</a> <a id="3714" href="Category.Construction.StrongPreElgotMonads.html#3714" class="Bound">f</a> <a id="3716" class="Symbol">→</a> <a id="3718" href="Algebra.Elgot.html#1938" class="Function Operator">elgotalgebras._#</a> <a id="3735" class="Symbol">{</a><a id="3736" href="Category.Construction.StrongPreElgotMonads.html#3707" class="Bound">X</a><a id="3737" class="Symbol">}</a> <a id="3739" class="Symbol">{</a><a id="3740" href="Category.Construction.StrongPreElgotMonads.html#3711" class="Bound">A</a><a id="3741" class="Symbol">}</a> <a id="3743" href="Category.Construction.StrongPreElgotMonads.html#3714" class="Bound">f</a>
|
|||
|
<a id="3749" href="Category.Construction.StrongPreElgotMonads.html#3749" class="Function Operator">_∘'_</a> <a id="3754" class="Symbol">:</a> <a id="3756" class="Symbol">∀</a> <a id="3758" class="Symbol">{</a><a id="3759" href="Category.Construction.StrongPreElgotMonads.html#3759" class="Bound">X</a> <a id="3761" href="Category.Construction.StrongPreElgotMonads.html#3761" class="Bound">Y</a> <a id="3763" href="Category.Construction.StrongPreElgotMonads.html#3763" class="Bound">Z</a> <a id="3765" class="Symbol">:</a> <a id="3767" href="Monad.PreElgot.html#1819" class="Record">StrongPreElgotMonad</a><a id="3786" class="Symbol">}</a> <a id="3788" class="Symbol">→</a> <a id="3790" href="Category.Construction.StrongPreElgotMonads.html#1408" class="Record">StrongPreElgotMonad-Morphism</a> <a id="3819" href="Category.Construction.StrongPreElgotMonads.html#3761" class="Bound">Y</a> <a id="3821" href="Category.Construction.StrongPreElgotMonads.html#3763" class="Bound">Z</a> <a id="3823" class="Symbol">→</a> <a id="3825" href="Category.Construction.StrongPreElgotMonads.html#1408" class="Record">StrongPreElgotMonad-Morphism</a> <a id="3854" href="Category.Construction.StrongPreElgotMonads.html#3759" class="Bound">X</a> <a id="3856" href="Category.Construction.StrongPreElgotMonads.html#3761" class="Bound">Y</a> <a id="3858" class="Symbol">→</a> <a id="3860" href="Category.Construction.StrongPreElgotMonads.html#1408" class="Record">StrongPreElgotMonad-Morphism</a> <a id="3889" href="Category.Construction.StrongPreElgotMonads.html#3759" class="Bound">X</a> <a id="3891" href="Category.Construction.StrongPreElgotMonads.html#3763" class="Bound">Z</a>
|
|||
|
<a id="3897" href="Category.Construction.StrongPreElgotMonads.html#3749" class="Function Operator">_∘'_</a> <a id="3902" class="Symbol">{</a><a id="3903" href="Category.Construction.StrongPreElgotMonads.html#3903" class="Bound">X</a><a id="3904" class="Symbol">}</a> <a id="3906" class="Symbol">{</a><a id="3907" href="Category.Construction.StrongPreElgotMonads.html#3907" class="Bound">Y</a><a id="3908" class="Symbol">}</a> <a id="3910" class="Symbol">{</a><a id="3911" href="Category.Construction.StrongPreElgotMonads.html#3911" class="Bound">Z</a><a id="3912" class="Symbol">}</a> <a id="3914" href="Category.Construction.StrongPreElgotMonads.html#3914" class="Bound">f</a> <a id="3916" href="Category.Construction.StrongPreElgotMonads.html#3916" class="Bound">g</a> <a id="3918" class="Symbol">=</a> <a id="3920" class="Keyword">record</a>
|
|||
|
<a id="3933" class="Symbol">{</a> <a id="3935" href="Category.Construction.StrongPreElgotMonads.html#1477" class="Field">α</a> <a id="3937" class="Symbol">=</a> <a id="3939" href="Category.Construction.StrongPreElgotMonads.html#6564" class="Function">αf</a> <a id="3942" href="Categories.NaturalTransformation.Core.html#2439" class="Function Operator">∘ᵥ</a> <a id="3945" href="Category.Construction.StrongPreElgotMonads.html#6636" class="Field">αg</a>
|
|||
|
<a id="3954" class="Symbol">;</a> <a id="3956" href="Category.Construction.StrongPreElgotMonads.html#1568" class="Field">α-η</a> <a id="3960" class="Symbol">=</a> <a id="3962" class="Symbol">λ</a> <a id="3964" class="Symbol">{</a><a id="3965" href="Category.Construction.StrongPreElgotMonads.html#3965" class="Bound">A</a><a id="3966" class="Symbol">}</a> <a id="3968" class="Symbol">→</a> <a id="3970" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="3984" class="Symbol">(</a><a id="3985" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="3990" href="Category.Construction.StrongPreElgotMonads.html#3965" class="Bound">A</a> <a id="3992" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3994" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="3999" href="Category.Construction.StrongPreElgotMonads.html#3965" class="Bound">A</a><a id="4000" class="Symbol">)</a> <a id="4002" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4004" href="Categories.NaturalTransformation.Core.html#783" class="Function">MX.η.η</a> <a id="4011" href="Category.Construction.StrongPreElgotMonads.html#3965" class="Bound">A</a> <a id="4013" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4016" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="4022" class="Symbol">(</a><a id="4023" href="Category.Construction.StrongPreElgotMonads.html#1568" class="Field">α-η</a> <a id="4027" href="Category.Construction.StrongPreElgotMonads.html#3916" class="Bound">g</a><a id="4028" class="Symbol">)</a> <a id="4030" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4040" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4045" href="Category.Construction.StrongPreElgotMonads.html#3965" class="Bound">A</a> <a id="4047" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4049" href="Categories.NaturalTransformation.Core.html#783" class="Function">MY.η.η</a> <a id="4056" href="Category.Construction.StrongPreElgotMonads.html#3965" class="Bound">A</a> <a id="4069" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4072" href="Category.Construction.StrongPreElgotMonads.html#1568" class="Field">α-η</a> <a id="4076" href="Category.Construction.StrongPreElgotMonads.html#3914" class="Bound">f</a> <a id="4078" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4088" href="Categories.NaturalTransformation.Core.html#783" class="Function">MZ.η.η</a> <a id="4095" href="Category.Construction.StrongPreElgotMonads.html#3965" class="Bound">A</a> <a id="4117" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="4125" class="Symbol">;</a> <a id="4127" href="Category.Construction.StrongPreElgotMonads.html#1624" class="Field">α-μ</a> <a id="4131" class="Symbol">=</a> <a id="4133" class="Symbol">λ</a> <a id="4135" class="Symbol">{</a><a id="4136" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4137" class="Symbol">}</a> <a id="4139" class="Symbol">→</a> <a id="4141" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="4155" class="Symbol">(</a><a id="4156" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4161" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a> <a id="4163" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4165" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4170" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4171" class="Symbol">)</a> <a id="4173" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4175" href="Categories.NaturalTransformation.Core.html#783" class="Function">MX.μ.η</a> <a id="4182" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a> <a id="4238" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4241" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="4247" class="Symbol">(</a><a id="4248" href="Category.Construction.StrongPreElgotMonads.html#1624" class="Field">α-μ</a> <a id="4252" href="Category.Construction.StrongPreElgotMonads.html#3916" class="Bound">g</a><a id="4253" class="Symbol">)</a> <a id="4255" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4265" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4270" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a> <a id="4272" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4274" href="Categories.NaturalTransformation.Core.html#783" class="Function">MY.μ.η</a> <a id="4281" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a> <a id="4283" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4285" href="Categories.Functor.Core.html#806" class="Function">MY.F.₁</a> <a id="4292" class="Symbol">(</a><a id="4293" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4298" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4299" class="Symbol">)</a> <a id="4301" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4303" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4308" class="Symbol">(</a><a id="4309" href="Categories.Functor.Core.html#797" class="Function">MX.F.₀</a> <a id="4316" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4317" class="Symbol">)</a> <a id="4348" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4351" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4357" class="Symbol">(</a><a id="4358" href="Category.Construction.StrongPreElgotMonads.html#1624" class="Field">α-μ</a> <a id="4362" href="Category.Construction.StrongPreElgotMonads.html#3914" class="Bound">f</a><a id="4363" class="Symbol">)</a> <a id="4365" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4375" class="Symbol">(</a><a id="4376" href="Categories.NaturalTransformation.Core.html#783" class="Function">MZ.μ.η</a> <a id="4383" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a> <a id="4385" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4387" href="Categories.Functor.Core.html#806" class="Function">MZ.F.₁</a> <a id="4394" class="Symbol">(</a><a id="4395" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4400" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4401" class="Symbol">)</a> <a id="4403" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4405" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4410" class="Symbol">(</a><a id="4411" href="Categories.Functor.Core.html#797" class="Function">MY.F.₀</a> <a id="4418" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4419" class="Symbol">))</a> <a id="4422" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4424" href="Categories.Functor.Core.html#806" class="Function">MY.F.₁</a> <a id="4431" class="Symbol">(</a><a id="4432" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4437" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4438" class="Symbol">)</a> <a id="4440" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4442" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4447" class="Symbol">(</a><a id="4448" href="Categories.Functor.Core.html#797" class="Function">MX.F.₀</a> <a id="4455" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4456" class="Symbol">)</a> <a id="4458" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4461" href="Categories.Category.Core.html#715" class="Function">assoc</a> <a id="4467" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="4469" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4477" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="4483" class="Symbol">(</a><a id="4484" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4490" class="Symbol">(</a><a id="4491" href="Categories.NaturalTransformation.Core.html#827" class="Field">NaturalTransformation.commute</a> <a id="4521" href="Category.Construction.StrongPreElgotMonads.html#6564" class="Function">αf</a> <a id="4524" class="Symbol">(</a><a id="4525" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4530" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4531" class="Symbol">)))</a> <a id="4535" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4545" href="Categories.NaturalTransformation.Core.html#783" class="Function">MZ.μ.η</a> <a id="4552" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a> <a id="4554" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4556" href="Categories.Functor.Core.html#806" class="Function">MZ.F.₁</a> <a id="4563" class="Symbol">(</a><a id="4564" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4569" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4570" class="Symbol">)</a> <a id="4572" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4574" class="Symbol">(</a><a id="4575" href="Categories.Functor.Core.html#806" class="Function">MZ.F.₁</a> <a id="4582" class="Symbol">(</a><a id="4583" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4588" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4589" class="Symbol">)</a> <a id="4591" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4593" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4598" class="Symbol">(</a><a id="4599" href="Categories.Functor.Core.html#797" class="Function">MX.F.₀</a> <a id="4606" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4607" class="Symbol">))</a> <a id="4610" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4612" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4617" class="Symbol">(</a><a id="4618" href="Categories.Functor.Core.html#797" class="Function">MX.F.₀</a> <a id="4625" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4626" class="Symbol">)</a> <a id="4628" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4631" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4639" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4645" class="Symbol">(</a><a id="4646" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4652" class="Symbol">(</a><a id="4653" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="4657" class="Symbol">(</a><a id="4658" href="Categories.Functor.Core.html#565" class="Field">Functor.homomorphism</a> <a id="4679" href="Categories.Monad.html#525" class="Function">MZ.F</a><a id="4683" class="Symbol">)))</a> <a id="4687" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4697" href="Categories.NaturalTransformation.Core.html#783" class="Function">MZ.μ.η</a> <a id="4704" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a> <a id="4706" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4708" class="Symbol">(</a><a id="4709" href="Categories.Functor.Core.html#806" class="Function">MZ.F.₁</a> <a id="4716" class="Symbol">(</a><a id="4717" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4722" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a> <a id="4724" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4726" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4731" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4732" class="Symbol">)</a> <a id="4734" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4736" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4741" class="Symbol">(</a><a id="4742" href="Categories.Functor.Core.html#797" class="Function">MX.F.₀</a> <a id="4749" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4750" class="Symbol">))</a> <a id="4753" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4755" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4760" class="Symbol">(</a><a id="4761" href="Categories.Functor.Core.html#797" class="Function">MX.F.₀</a> <a id="4768" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4769" class="Symbol">)</a> <a id="4780" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4783" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4791" href="Categories.Category.Core.html#715" class="Function">assoc</a> <a id="4797" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4807" href="Categories.NaturalTransformation.Core.html#783" class="Function">MZ.μ.η</a> <a id="4814" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a> <a id="4816" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4818" href="Categories.Functor.Core.html#806" class="Function">MZ.F.₁</a> <a id="4825" class="Symbol">((</a><a id="4827" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4832" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a> <a id="4834" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4836" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4841" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4842" class="Symbol">))</a> <a id="4845" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4848" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4853" class="Symbol">(</a><a id="4854" href="Categories.Functor.Core.html#797" class="Function">MX.F.₀</a> <a id="4861" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4862" class="Symbol">)</a> <a id="4864" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4866" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4871" class="Symbol">(</a><a id="4872" href="Categories.Functor.Core.html#797" class="Function">MX.F.₀</a> <a id="4879" href="Category.Construction.StrongPreElgotMonads.html#4136" class="Bound">A</a><a id="4880" class="Symbol">)</a> <a id="4890" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="4898" class="Symbol">;</a> <a id="4900" href="Category.Construction.StrongPreElgotMonads.html#1714" class="Field">α-strength</a> <a id="4911" class="Symbol">=</a> <a id="4913" class="Symbol">λ</a> <a id="4915" class="Symbol">{</a><a id="4916" href="Category.Construction.StrongPreElgotMonads.html#4916" class="Bound">A</a><a id="4917" class="Symbol">}</a> <a id="4919" class="Symbol">{</a><a id="4920" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="4921" class="Symbol">}</a> <a id="4923" class="Symbol">→</a> <a id="4925" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="4940" class="Symbol">(</a><a id="4941" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="4946" class="Symbol">(</a><a id="4947" href="Category.Construction.StrongPreElgotMonads.html#4916" class="Bound">A</a> <a id="4949" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="4951" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="4952" class="Symbol">)</a> <a id="4954" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4956" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="4961" class="Symbol">(</a><a id="4962" href="Category.Construction.StrongPreElgotMonads.html#4916" class="Bound">A</a> <a id="4964" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="4966" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="4967" class="Symbol">))</a> <a id="4970" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4972" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthenX.η</a> <a id="4986" class="Symbol">(</a><a id="4987" href="Category.Construction.StrongPreElgotMonads.html#4916" class="Bound">A</a> <a id="4989" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4991" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="4992" class="Symbol">)</a> <a id="4998" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5001" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5007" class="Symbol">(</a><a id="5008" href="Category.Construction.StrongPreElgotMonads.html#1714" class="Field">α-strength</a> <a id="5019" href="Category.Construction.StrongPreElgotMonads.html#3916" class="Bound">g</a><a id="5020" class="Symbol">)</a> <a id="5022" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5032" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="5037" class="Symbol">(</a><a id="5038" href="Category.Construction.StrongPreElgotMonads.html#4916" class="Bound">A</a> <a id="5040" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="5042" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="5043" class="Symbol">)</a> <a id="5045" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5047" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthenY.η</a> <a id="5061" class="Symbol">(</a><a id="5062" href="Category.Construction.StrongPreElgotMonads.html#4916" class="Bound">A</a> <a id="5064" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5066" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="5067" class="Symbol">)</a> <a id="5069" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5071" class="Symbol">(</a><a id="5072" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="5076" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator">⁂</a> <a id="5078" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="5083" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="5084" class="Symbol">)</a> <a id="5090" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5093" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="5099" class="Symbol">(</a><a id="5100" href="Category.Construction.StrongPreElgotMonads.html#1714" class="Field">α-strength</a> <a id="5111" href="Category.Construction.StrongPreElgotMonads.html#3914" class="Bound">f</a><a id="5112" class="Symbol">)</a> <a id="5114" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5124" class="Symbol">(</a><a id="5125" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthenZ.η</a> <a id="5139" class="Symbol">(</a><a id="5140" href="Category.Construction.StrongPreElgotMonads.html#4916" class="Bound">A</a> <a id="5142" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5144" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="5145" class="Symbol">)</a> <a id="5147" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5149" class="Symbol">(</a><a id="5150" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="5154" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator">⁂</a> <a id="5156" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="5161" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="5162" class="Symbol">))</a> <a id="5165" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5167" class="Symbol">(</a><a id="5168" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="5172" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator">⁂</a> <a id="5174" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="5179" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="5180" class="Symbol">)</a> <a id="5182" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5185" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5191" class="Symbol">(</a><a id="5192" href="Categories.Category.BinaryProducts.html#2881" class="Function">⁂∘⁂</a> <a id="5196" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="5198" href="Categories.Category.BinaryProducts.html#2515" class="Function">⁂-cong₂</a> <a id="5206" href="Categories.Category.Core.html#1339" class="Function">identity²</a> <a id="5216" href="Relation.Binary.Structures.html#1596" class="Function">refl</a><a id="5220" class="Symbol">)</a> <a id="5222" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5232" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthenZ.η</a> <a id="5246" class="Symbol">(</a><a id="5247" href="Category.Construction.StrongPreElgotMonads.html#4916" class="Bound">A</a> <a id="5249" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5251" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="5252" class="Symbol">)</a> <a id="5254" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5256" class="Symbol">(</a><a id="5257" href="Category.Ambient.html#2115" class="Function">idC</a> <a id="5261" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator">⁂</a> <a id="5263" class="Symbol">(</a><a id="5264" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="5269" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a> <a id="5271" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5273" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="5278" href="Category.Construction.StrongPreElgotMonads.html#4920" class="Bound">B</a><a id="5279" class="Symbol">))</a> <a id="5290" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="5298" class="Symbol">;</a> <a id="5300" href="Category.Construction.StrongPreElgotMonads.html#1827" class="Field">α-preserves</a> <a id="5312" class="Symbol">=</a> <a id="5314" class="Symbol">λ</a> <a id="5316" class="Symbol">{</a><a id="5317" href="Category.Construction.StrongPreElgotMonads.html#5317" class="Bound">A</a><a id="5318" class="Symbol">}</a> <a id="5320" class="Symbol">{</a><a id="5321" href="Category.Construction.StrongPreElgotMonads.html#5321" class="Bound">B</a><a id="5322" class="Symbol">}</a> <a id="5324" href="Category.Construction.StrongPreElgotMonads.html#5324" class="Bound">h</a> <a id="5326" class="Symbol">→</a> <a id="5328" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="5342" class="Symbol">(</a><a id="5343" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="5348" href="Category.Construction.StrongPreElgotMonads.html#5321" class="Bound">B</a> <a id="5350" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5352" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="5357" href="Category.Construction.StrongPreElgotMonads.html#5321" class="Bound">B</a><a id="5358" class="Symbol">)</a> <a id="5360" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5362" class="Symbol">(</a><a id="5363" href="Category.Construction.StrongPreElgotMonads.html#5324" class="Bound">h</a> <a id="5365" href="Category.Construction.StrongPreElgotMonads.html#6187" class="Function Operator">#X</a><a id="5367" class="Symbol">)</a> <a id="5387" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5390" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5396" class="Symbol">(</a><a id="5397" href="Category.Construction.StrongPreElgotMonads.html#1827" class="Field">α-preserves</a> <a id="5409" href="Category.Construction.StrongPreElgotMonads.html#3916" class="Bound">g</a> <a id="5411" href="Category.Construction.StrongPreElgotMonads.html#5324" class="Bound">h</a><a id="5412" class="Symbol">)</a> <a id="5414" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5424" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="5429" href="Category.Construction.StrongPreElgotMonads.html#5321" class="Bound">B</a> <a id="5431" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5433" class="Symbol">((</a><a id="5435" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="5440" href="Category.Construction.StrongPreElgotMonads.html#5321" class="Bound">B</a> <a id="5442" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5445" href="Category.Ambient.html#2115" class="Function">idC</a><a id="5448" class="Symbol">)</a> <a id="5450" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5452" href="Category.Construction.StrongPreElgotMonads.html#5324" class="Bound">h</a><a id="5453" class="Symbol">)</a> <a id="5455" href="Category.Construction.StrongPreElgotMonads.html#6264" class="Function Operator">#Y</a> <a id="5469" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5472" href="Category.Construction.StrongPreElgotMonads.html#1827" class="Field">α-preserves</a> <a id="5484" href="Category.Construction.StrongPreElgotMonads.html#3914" class="Bound">f</a> <a id="5486" class="Symbol">((</a><a id="5488" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="5493" href="Category.Construction.StrongPreElgotMonads.html#5321" class="Bound">B</a> <a id="5495" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5498" href="Category.Ambient.html#2115" class="Function">idC</a><a id="5501" class="Symbol">)</a> <a id="5503" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5505" href="Category.Construction.StrongPreElgotMonads.html#5324" class="Bound">h</a><a id="5506" class="Symbol">)</a> <a id="5508" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5518" class="Symbol">(((</a><a id="5521" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="5526" href="Category.Construction.StrongPreElgotMonads.html#5321" class="Bound">B</a> <a id="5528" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5531" href="Category.Ambient.html#2115" class="Function">idC</a><a id="5534" class="Symbol">)</a> <a id="5536" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5538" class="Symbol">(</a><a id="5539" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="5544" href="Category.Construction.StrongPreElgotMonads.html#5321" class="Bound">B</a> <a id="5546" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5549" href="Category.Ambient.html#2115" class="Function">idC</a><a id="5552" class="Symbol">)</a> <a id="5554" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5556" href="Category.Construction.StrongPreElgotMonads.html#5324" class="Bound">h</a><a id="5557" class="Symbol">)</a> <a id="5559" href="Category.Construction.StrongPreElgotMonads.html#6341" class="Function Operator">#Z</a><a id="5561" class="Symbol">)</a> <a id="5563" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5566" href="Algebra.Elgot.html#2331" class="Field">#-resp-≈</a> <a id="5575" class="Symbol">(</a><a id="5576" href="Monad.PreElgot.html#815" class="Function">StrongPreElgotMonad.elgotalgebras</a> <a id="5610" href="Category.Construction.StrongPreElgotMonads.html#3911" class="Bound">Z</a><a id="5611" class="Symbol">)</a> <a id="5613" class="Symbol">(</a><a id="5614" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="5620" class="Symbol">(</a><a id="5621" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a> <a id="5627" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="5629" href="Categories.Category.Cocartesian.html#2622" class="Function">+₁-cong₂</a> <a id="5638" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="5643" href="Categories.Category.Core.html#1339" class="Function">identity²</a><a id="5652" class="Symbol">))</a> <a id="5655" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5665" class="Symbol">(((</a><a id="5668" href="Categories.NaturalTransformation.Core.html#783" class="Function">αf.η</a> <a id="5673" href="Category.Construction.StrongPreElgotMonads.html#5321" class="Bound">B</a> <a id="5675" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5677" href="Categories.NaturalTransformation.Core.html#783" class="Function">αg.η</a> <a id="5682" href="Category.Construction.StrongPreElgotMonads.html#5321" class="Bound">B</a> <a id="5684" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5687" href="Category.Ambient.html#2115" class="Function">idC</a><a id="5690" class="Symbol">)</a> <a id="5692" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5694" href="Category.Construction.StrongPreElgotMonads.html#5324" class="Bound">h</a><a id="5695" class="Symbol">)</a> <a id="5697" href="Category.Construction.StrongPreElgotMonads.html#6341" class="Function Operator">#Z</a><a id="5699" class="Symbol">)</a> <a id="5710" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="5718" class="Symbol">}</a>
|
|||
|
<a id="5726" class="Keyword">where</a>
|
|||
|
<a id="5740" class="Keyword">open</a> <a id="5745" href="Monad.PreElgot.html#1819" class="Module">StrongPreElgotMonad</a> <a id="5765" href="Category.Construction.StrongPreElgotMonads.html#3903" class="Bound">X</a> <a id="5767" class="Keyword">using</a> <a id="5773" class="Symbol">()</a> <a id="5776" class="Keyword">renaming</a> <a id="5785" class="Symbol">(</a><a id="5786" href="Monad.PreElgot.html#1879" class="Field">SM</a> <a id="5789" class="Symbol">to</a> <a id="5792" class="Field">SMX</a><a id="5795" class="Symbol">)</a>
|
|||
|
<a id="5805" class="Keyword">open</a> <a id="5810" href="Monad.PreElgot.html#1819" class="Module">StrongPreElgotMonad</a> <a id="5830" href="Category.Construction.StrongPreElgotMonads.html#3907" class="Bound">Y</a> <a id="5832" class="Keyword">using</a> <a id="5838" class="Symbol">()</a> <a id="5841" class="Keyword">renaming</a> <a id="5850" class="Symbol">(</a><a id="5851" href="Monad.PreElgot.html#1879" class="Field">SM</a> <a id="5854" class="Symbol">to</a> <a id="5857" class="Field">SMY</a><a id="5860" class="Symbol">)</a>
|
|||
|
<a id="5870" class="Keyword">open</a> <a id="5875" href="Monad.PreElgot.html#1819" class="Module">StrongPreElgotMonad</a> <a id="5895" href="Category.Construction.StrongPreElgotMonads.html#3911" class="Bound">Z</a> <a id="5897" class="Keyword">using</a> <a id="5903" class="Symbol">()</a> <a id="5906" class="Keyword">renaming</a> <a id="5915" class="Symbol">(</a><a id="5916" href="Monad.PreElgot.html#1879" class="Field">SM</a> <a id="5919" class="Symbol">to</a> <a id="5922" class="Field">SMZ</a><a id="5925" class="Symbol">)</a>
|
|||
|
<a id="5935" class="Keyword">open</a> <a id="5940" href="Categories.Monad.Strong.html#1832" class="Module">StrongMonad</a> <a id="5952" href="Category.Construction.StrongPreElgotMonads.html#5792" class="Function">SMX</a> <a id="5956" class="Keyword">using</a> <a id="5962" class="Symbol">()</a> <a id="5965" class="Keyword">renaming</a> <a id="5974" class="Symbol">(</a><a id="5975" href="Categories.Monad.Strong.html#1918" class="Field">M</a> <a id="5977" class="Symbol">to</a> <a id="5980" class="Field">MX</a><a id="5982" class="Symbol">;</a> <a id="5984" href="Categories.Monad.Strong.html#1060" class="Function">strengthen</a> <a id="5995" class="Symbol">to</a> <a id="5998" class="Function">strengthenX</a><a id="6009" class="Symbol">)</a>
|
|||
|
<a id="6019" class="Keyword">open</a> <a id="6024" href="Categories.Monad.Strong.html#1832" class="Module">StrongMonad</a> <a id="6036" href="Category.Construction.StrongPreElgotMonads.html#5857" class="Function">SMY</a> <a id="6040" class="Keyword">using</a> <a id="6046" class="Symbol">()</a> <a id="6049" class="Keyword">renaming</a> <a id="6058" class="Symbol">(</a><a id="6059" href="Categories.Monad.Strong.html#1918" class="Field">M</a> <a id="6061" class="Symbol">to</a> <a id="6064" class="Field">MY</a><a id="6066" class="Symbol">;</a> <a id="6068" href="Categories.Monad.Strong.html#1060" class="Function">strengthen</a> <a id="6079" class="Symbol">to</a> <a id="6082" class="Function">strengthenY</a><a id="6093" class="Symbol">)</a>
|
|||
|
<a id="6103" class="Keyword">open</a> <a id="6108" href="Categories.Monad.Strong.html#1832" class="Module">StrongMonad</a> <a id="6120" href="Category.Construction.StrongPreElgotMonads.html#5922" class="Function">SMZ</a> <a id="6124" class="Keyword">using</a> <a id="6130" class="Symbol">()</a> <a id="6133" class="Keyword">renaming</a> <a id="6142" class="Symbol">(</a><a id="6143" href="Categories.Monad.Strong.html#1918" class="Field">M</a> <a id="6145" class="Symbol">to</a> <a id="6148" class="Field">MZ</a><a id="6150" class="Symbol">;</a> <a id="6152" href="Categories.Monad.Strong.html#1060" class="Function">strengthen</a> <a id="6163" class="Symbol">to</a> <a id="6166" class="Function">strengthenZ</a><a id="6177" class="Symbol">)</a>
|
|||
|
<a id="6187" href="Category.Construction.StrongPreElgotMonads.html#6187" class="Function Operator">_#X</a> <a id="6191" class="Symbol">=</a> <a id="6193" class="Symbol">λ</a> <a id="6195" class="Symbol">{</a><a id="6196" href="Category.Construction.StrongPreElgotMonads.html#6196" class="Bound">A</a><a id="6197" class="Symbol">}</a> <a id="6199" class="Symbol">{</a><a id="6200" href="Category.Construction.StrongPreElgotMonads.html#6200" class="Bound">B</a><a id="6201" class="Symbol">}</a> <a id="6203" href="Category.Construction.StrongPreElgotMonads.html#6203" class="Bound">f</a> <a id="6205" class="Symbol">→</a> <a id="6207" href="Algebra.Elgot.html#1938" class="Function Operator">StrongPreElgotMonad.elgotalgebras._#</a> <a id="6244" href="Category.Construction.StrongPreElgotMonads.html#3903" class="Bound">X</a> <a id="6246" class="Symbol">{</a><a id="6247" href="Category.Construction.StrongPreElgotMonads.html#6196" class="Bound">A</a><a id="6248" class="Symbol">}</a> <a id="6250" class="Symbol">{</a><a id="6251" href="Category.Construction.StrongPreElgotMonads.html#6200" class="Bound">B</a><a id="6252" class="Symbol">}</a> <a id="6254" href="Category.Construction.StrongPreElgotMonads.html#6203" class="Bound">f</a>
|
|||
|
<a id="6264" href="Category.Construction.StrongPreElgotMonads.html#6264" class="Function Operator">_#Y</a> <a id="6268" class="Symbol">=</a> <a id="6270" class="Symbol">λ</a> <a id="6272" class="Symbol">{</a><a id="6273" href="Category.Construction.StrongPreElgotMonads.html#6273" class="Bound">A</a><a id="6274" class="Symbol">}</a> <a id="6276" class="Symbol">{</a><a id="6277" href="Category.Construction.StrongPreElgotMonads.html#6277" class="Bound">B</a><a id="6278" class="Symbol">}</a> <a id="6280" href="Category.Construction.StrongPreElgotMonads.html#6280" class="Bound">f</a> <a id="6282" class="Symbol">→</a> <a id="6284" href="Algebra.Elgot.html#1938" class="Function Operator">StrongPreElgotMonad.elgotalgebras._#</a> <a id="6321" href="Category.Construction.StrongPreElgotMonads.html#3907" class="Bound">Y</a> <a id="6323" class="Symbol">{</a><a id="6324" href="Category.Construction.StrongPreElgotMonads.html#6273" class="Bound">A</a><a id="6325" class="Symbol">}</a> <a id="6327" class="Symbol">{</a><a id="6328" href="Category.Construction.StrongPreElgotMonads.html#6277" class="Bound">B</a><a id="6329" class="Symbol">}</a> <a id="6331" href="Category.Construction.StrongPreElgotMonads.html#6280" class="Bound">f</a>
|
|||
|
<a id="6341" href="Category.Construction.StrongPreElgotMonads.html#6341" class="Function Operator">_#Z</a> <a id="6345" class="Symbol">=</a> <a id="6347" class="Symbol">λ</a> <a id="6349" class="Symbol">{</a><a id="6350" href="Category.Construction.StrongPreElgotMonads.html#6350" class="Bound">A</a><a id="6351" class="Symbol">}</a> <a id="6353" class="Symbol">{</a><a id="6354" href="Category.Construction.StrongPreElgotMonads.html#6354" class="Bound">B</a><a id="6355" class="Symbol">}</a> <a id="6357" href="Category.Construction.StrongPreElgotMonads.html#6357" class="Bound">f</a> <a id="6359" class="Symbol">→</a> <a id="6361" href="Algebra.Elgot.html#1938" class="Function Operator">StrongPreElgotMonad.elgotalgebras._#</a> <a id="6398" href="Category.Construction.StrongPreElgotMonads.html#3911" class="Bound">Z</a> <a id="6400" class="Symbol">{</a><a id="6401" href="Category.Construction.StrongPreElgotMonads.html#6350" class="Bound">A</a><a id="6402" class="Symbol">}</a> <a id="6404" class="Symbol">{</a><a id="6405" href="Category.Construction.StrongPreElgotMonads.html#6354" class="Bound">B</a><a id="6406" class="Symbol">}</a> <a id="6408" href="Category.Construction.StrongPreElgotMonads.html#6357" class="Bound">f</a>
|
|||
|
|
|||
|
<a id="6419" class="Keyword">open</a> <a id="6424" href="Category.Construction.StrongPreElgotMonads.html#1408" class="Module">StrongPreElgotMonad-Morphism</a> <a id="6453" class="Keyword">using</a> <a id="6459" class="Symbol">(</a><a id="6460" href="Category.Construction.StrongPreElgotMonads.html#1568" class="Field">α-η</a><a id="6463" class="Symbol">;</a> <a id="6465" href="Category.Construction.StrongPreElgotMonads.html#1624" class="Field">α-μ</a><a id="6468" class="Symbol">;</a> <a id="6470" href="Category.Construction.StrongPreElgotMonads.html#1714" class="Field">α-strength</a><a id="6480" class="Symbol">;</a> <a id="6482" href="Category.Construction.StrongPreElgotMonads.html#1827" class="Field">α-preserves</a><a id="6493" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="6504" class="Keyword">open</a> <a id="6509" href="Category.Construction.StrongPreElgotMonads.html#1408" class="Module">StrongPreElgotMonad-Morphism</a> <a id="6538" href="Category.Construction.StrongPreElgotMonads.html#3914" class="Bound">f</a> <a id="6540" class="Keyword">using</a> <a id="6546" class="Symbol">()</a> <a id="6549" class="Keyword">renaming</a> <a id="6558" class="Symbol">(</a><a id="6559" href="Category.Construction.StrongPreElgotMonads.html#1477" class="Field">α</a> <a id="6561" class="Symbol">to</a> <a id="6564" class="Field">αf</a><a id="6566" class="Symbol">)</a>
|
|||
|
<a id="6576" class="Keyword">open</a> <a id="6581" href="Category.Construction.StrongPreElgotMonads.html#1408" class="Module">StrongPreElgotMonad-Morphism</a> <a id="6610" href="Category.Construction.StrongPreElgotMonads.html#3916" class="Bound">g</a> <a id="6612" class="Keyword">using</a> <a id="6618" class="Symbol">()</a> <a id="6621" class="Keyword">renaming</a> <a id="6630" class="Symbol">(</a><a id="6631" href="Category.Construction.StrongPreElgotMonads.html#1477" class="Field">α</a> <a id="6633" class="Symbol">to</a> <a id="6636" class="Field">αg</a><a id="6638" class="Symbol">)</a>
|
|||
|
</pre>
|
|||
|
</body>
|
|||
|
</html>
|