bsc-leon-vatthauer/agda/bsc-thesis/Algebra.Elgot.Stable.html
2024-02-09 17:53:52 +01:00

221 lines
176 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>Algebra.Elgot.Stable</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="Categories.FreeObjects.Free.html" class="Module">Categories.FreeObjects.Free</a>
<a id="72" class="Keyword">open</a> <a id="77" class="Keyword">import</a> <a id="84" href="Categories.Functor.Core.html" class="Module">Categories.Functor.Core</a>
<a id="108" class="Keyword">open</a> <a id="113" class="Keyword">import</a> <a id="120" href="Categories.Functor.Algebra.html" class="Module">Categories.Functor.Algebra</a>
<a id="147" class="Keyword">open</a> <a id="152" class="Keyword">import</a> <a id="159" href="Categories.Functor.Coalgebra.html" class="Module">Categories.Functor.Coalgebra</a>
<a id="188" class="Keyword">open</a> <a id="193" class="Keyword">import</a> <a id="200" href="Categories.Object.Terminal.html" class="Module">Categories.Object.Terminal</a>
<a id="227" class="Keyword">open</a> <a id="232" class="Keyword">import</a> <a id="239" href="Categories.Category.Core.html" class="Module">Categories.Category.Core</a> <a id="264" class="Keyword">using</a> <a id="270" class="Symbol">(</a><a id="271" href="Categories.Category.Core.html#442" class="Record">Category</a><a id="279" class="Symbol">)</a>
<a id="281" class="Keyword">open</a> <a id="286" class="Keyword">import</a> <a id="293" href="Categories.Category.Distributive.html" class="Module">Categories.Category.Distributive</a> <a id="326" class="Keyword">using</a> <a id="332" class="Symbol">(</a><a id="333" href="Categories.Category.Distributive.html#712" class="Record">Distributive</a><a id="345" class="Symbol">)</a>
<a id="347" class="Keyword">open</a> <a id="352" class="Keyword">import</a> <a id="359" href="Categories.Category.Cocartesian.html" class="Module">Categories.Category.Cocartesian</a> <a id="391" class="Keyword">using</a> <a id="397" class="Symbol">(</a><a id="398" href="Categories.Category.Cocartesian.html#3385" class="Record">Cocartesian</a><a id="409" class="Symbol">)</a>
<a id="411" class="Keyword">open</a> <a id="416" class="Keyword">import</a> <a id="423" href="Categories.Category.Cartesian.html" class="Module">Categories.Category.Cartesian</a> <a id="453" class="Keyword">using</a> <a id="459" class="Symbol">(</a><a id="460" href="Categories.Category.Cartesian.html#727" class="Record">Cartesian</a><a id="469" class="Symbol">)</a>
<a id="471" class="Keyword">open</a> <a id="476" class="Keyword">import</a> <a id="483" href="Categories.Category.BinaryProducts.html" class="Module">Categories.Category.BinaryProducts</a> <a id="518" class="Keyword">using</a> <a id="524" class="Symbol">(</a><a id="525" href="Categories.Category.BinaryProducts.html#848" class="Record">BinaryProducts</a><a id="539" class="Symbol">)</a>
<a id="541" class="Keyword">open</a> <a id="546" class="Keyword">import</a> <a id="553" href="Categories.Category.Construction.EilenbergMoore.html" class="Module">Categories.Category.Construction.EilenbergMoore</a>
<a id="601" class="Keyword">open</a> <a id="606" class="Keyword">import</a> <a id="613" href="Categories.Monad.Relative.html" class="Module">Categories.Monad.Relative</a> <a id="639" class="Keyword">renaming</a> <a id="648" class="Symbol">(</a><a id="649" href="Categories.Monad.Relative.html#602" class="Record">Monad</a> <a id="655" class="Symbol">to</a> <a id="658" class="Record">RMonad</a><a id="664" class="Symbol">)</a>
<a id="667" class="Keyword">import</a> <a id="674" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="694" class="Symbol">as</a> <a id="697" class="Module">M</a>
<a id="699" class="Keyword">import</a> <a id="706" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="736" class="Symbol">as</a> <a id="739" class="Module">MR</a>
</pre>-->
<pre class="Agda"><a id="759" class="Keyword">module</a> <a id="766" href="Algebra.Elgot.Stable.html" class="Module">Algebra.Elgot.Stable</a> <a id="787" class="Symbol">{</a><a id="788" href="Algebra.Elgot.Stable.html#788" class="Bound">o</a> <a id="790" href="Algebra.Elgot.Stable.html#790" class="Bound"></a> <a id="792" href="Algebra.Elgot.Stable.html#792" class="Bound">e</a><a id="793" class="Symbol">}</a> <a id="795" class="Symbol">{</a><a id="796" href="Algebra.Elgot.Stable.html#796" class="Bound">C</a> <a id="798" class="Symbol">:</a> <a id="800" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="809" href="Algebra.Elgot.Stable.html#788" class="Bound">o</a> <a id="811" href="Algebra.Elgot.Stable.html#790" class="Bound"></a> <a id="813" href="Algebra.Elgot.Stable.html#792" class="Bound">e</a><a id="814" class="Symbol">}</a> <a id="816" class="Symbol">(</a><a id="817" href="Algebra.Elgot.Stable.html#817" class="Bound">distributive</a> <a id="830" class="Symbol">:</a> <a id="832" href="Categories.Category.Distributive.html#712" class="Record">Distributive</a> <a id="845" href="Algebra.Elgot.Stable.html#796" class="Bound">C</a><a id="846" class="Symbol">)</a> <a id="848" class="Keyword">where</a>
<a id="856" class="Keyword">open</a> <a id="861" href="Categories.Category.Distributive.html#712" class="Module">Distributive</a> <a id="874" href="Algebra.Elgot.Stable.html#817" class="Bound">distributive</a>
<a id="889" class="Keyword">open</a> <a id="894" class="Keyword">import</a> <a id="901" href="Categories.Category.Distributive.Properties.html" class="Module">Categories.Category.Distributive.Properties</a> <a id="945" href="Algebra.Elgot.Stable.html#817" class="Bound">distributive</a>
<a id="960" class="Keyword">open</a> <a id="965" class="Keyword">import</a> <a id="972" href="Algebra.Elgot.html" class="Module">Algebra.Elgot</a> <a id="986" href="Categories.Category.Distributive.html#793" class="Field">cocartesian</a>
<a id="1000" class="Keyword">open</a> <a id="1005" class="Keyword">import</a> <a id="1012" href="Category.Construction.ElgotAlgebras.html" class="Module">Category.Construction.ElgotAlgebras</a> <a id="1048" href="Categories.Category.Distributive.html#793" class="Field">cocartesian</a>
<a id="1062" class="Keyword">open</a> <a id="1067" class="Keyword">import</a> <a id="1074" href="Categories.Morphism.Properties.html" class="Module">Categories.Morphism.Properties</a> <a id="1105" href="Algebra.Elgot.Stable.html#796" class="Bound">C</a>
<a id="1110" class="Keyword">open</a> <a id="1115" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1124" href="Algebra.Elgot.Stable.html#796" class="Bound">C</a>
<a id="1128" class="Keyword">open</a> <a id="1133" href="Categories.Category.Cocartesian.html#3385" class="Module">Cocartesian</a> <a id="1145" href="Categories.Category.Distributive.html#793" class="Field">cocartesian</a>
<a id="1159" class="Keyword">open</a> <a id="1164" href="Categories.Category.Cartesian.html#727" class="Module">Cartesian</a> <a id="1174" href="Categories.Category.Distributive.html#765" class="Field">cartesian</a>
<a id="1186" class="Keyword">open</a> <a id="1191" href="Categories.Category.BinaryProducts.html#848" class="Module">BinaryProducts</a> <a id="1206" href="Categories.Category.Cartesian.html#801" class="Function">products</a> <a id="1215" class="Keyword">hiding</a> <a id="1222" class="Symbol">(</a><a id="1223" href="Categories.Object.Product.Core.html#797" class="Function">η</a><a id="1224" class="Symbol">)</a>
<a id="1228" class="Keyword">open</a> <a id="1233" class="Keyword">import</a> <a id="1240" href="Algebra.Elgot.Free.html" class="Module">Algebra.Elgot.Free</a> <a id="1259" href="Categories.Category.Distributive.html#793" class="Field">cocartesian</a>
<a id="1273" class="Keyword">open</a> <a id="1278" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
<a id="1286" class="Keyword">open</a> <a id="1291" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="1306" class="Keyword">open</a> <a id="1311" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="1314" href="Algebra.Elgot.Stable.html#796" class="Bound">C</a>
<a id="1318" class="Keyword">open</a> <a id="1323" href="Categories.Morphism.html" class="Module">M</a> <a id="1325" href="Algebra.Elgot.Stable.html#796" class="Bound">C</a>
</pre>
<p>Stable free Elgot algebras have an additional universal iteration
preserving morphism.</p>
<pre class="Agda">
<a id="1431" class="Keyword">record</a> <a id="IsStableFreeElgotAlgebraˡ"></a><a id="1438" href="Algebra.Elgot.Stable.html#1438" class="Record">IsStableFreeElgotAlgebraˡ</a> <a id="1464" class="Symbol">{</a><a id="1465" href="Algebra.Elgot.Stable.html#1465" class="Bound">Y</a> <a id="1467" class="Symbol">:</a> <a id="1469" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="1472" class="Symbol">}</a> <a id="1474" class="Symbol">(</a><a id="1475" href="Algebra.Elgot.Stable.html#1475" class="Bound">freeElgot</a> <a id="1485" class="Symbol">:</a> <a id="1487" href="Algebra.Elgot.Free.html#1441" class="Function">FreeElgotAlgebra</a> <a id="1504" href="Algebra.Elgot.Stable.html#1465" class="Bound">Y</a><a id="1505" class="Symbol">)</a> <a id="1507" class="Symbol">:</a> <a id="1509" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1513" class="Symbol">(</a><a id="1514" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="1518" href="Algebra.Elgot.Stable.html#788" class="Bound">o</a> <a id="1520" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1522" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="1526" href="Algebra.Elgot.Stable.html#790" class="Bound"></a> <a id="1528" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1530" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="1534" href="Algebra.Elgot.Stable.html#792" class="Bound">e</a><a id="1535" class="Symbol">)</a> <a id="1537" class="Keyword">where</a>
<a id="1548" class="Keyword">open</a> <a id="1553" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="1564" href="Algebra.Elgot.Stable.html#1475" class="Bound">freeElgot</a> <a id="1574" class="Keyword">using</a> <a id="1580" class="Symbol">(</a><a id="1581" href="Categories.FreeObjects.Free.html#854" class="Field">η</a><a id="1582" class="Symbol">)</a> <a id="1584" class="Keyword">renaming</a> <a id="1593" class="Symbol">(</a><a id="1594" href="Categories.FreeObjects.Free.html#838" class="Field">FX</a> <a id="1597" class="Symbol">to</a> <a id="1600" class="Field">FY</a><a id="1602" class="Symbol">)</a>
<a id="1608" class="Keyword">open</a> <a id="1613" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="1627" href="Algebra.Elgot.Stable.html#1600" class="Function">FY</a> <a id="1630" class="Keyword">using</a> <a id="1636" class="Symbol">(</a><a id="1637" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a><a id="1639" class="Symbol">)</a>
<a id="1646" class="Keyword">field</a>
<a id="IsStableFreeElgotAlgebraˡ.[_,_]♯ˡ"></a><a id="1658" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">[_,_]♯ˡ</a> <a id="1666" class="Symbol">:</a> <a id="1668" class="Symbol"></a> <a id="1670" class="Symbol">{</a><a id="1671" href="Algebra.Elgot.Stable.html#1671" class="Bound">X</a> <a id="1673" class="Symbol">:</a> <a id="1675" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="1678" class="Symbol">}</a> <a id="1680" class="Symbol">(</a><a id="1681" href="Algebra.Elgot.Stable.html#1681" class="Bound">A</a> <a id="1683" class="Symbol">:</a> <a id="1685" href="Algebra.Elgot.html#15964" class="Record">Elgot-Algebra</a><a id="1698" class="Symbol">)</a> <a id="1700" class="Symbol">(</a><a id="1701" href="Algebra.Elgot.Stable.html#1701" class="Bound">f</a> <a id="1703" class="Symbol">:</a> <a id="1705" href="Algebra.Elgot.Stable.html#1465" class="Bound">Y</a> <a id="1707" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="1709" href="Algebra.Elgot.Stable.html#1671" class="Bound">X</a> <a id="1711" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="1713" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="1729" href="Algebra.Elgot.Stable.html#1681" class="Bound">A</a><a id="1730" class="Symbol">)</a> <a id="1732" class="Symbol"></a> <a id="1734" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="1750" href="Algebra.Elgot.Stable.html#1600" class="Function">FY</a> <a id="1753" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="1755" href="Algebra.Elgot.Stable.html#1671" class="Bound">X</a> <a id="1757" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="1759" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="1775" href="Algebra.Elgot.Stable.html#1681" class="Bound">A</a>
<a id="IsStableFreeElgotAlgebraˡ.♯ˡ-law"></a><a id="1783" href="Algebra.Elgot.Stable.html#1783" class="Field">♯ˡ-law</a> <a id="1790" class="Symbol">:</a> <a id="1792" class="Symbol"></a> <a id="1794" class="Symbol">{</a><a id="1795" href="Algebra.Elgot.Stable.html#1795" class="Bound">X</a> <a id="1797" class="Symbol">:</a> <a id="1799" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="1802" class="Symbol">}</a> <a id="1804" class="Symbol">{</a><a id="1805" href="Algebra.Elgot.Stable.html#1805" class="Bound">A</a> <a id="1807" class="Symbol">:</a> <a id="1809" href="Algebra.Elgot.html#15964" class="Record">Elgot-Algebra</a><a id="1822" class="Symbol">}</a> <a id="1824" class="Symbol">(</a><a id="1825" href="Algebra.Elgot.Stable.html#1825" class="Bound">f</a> <a id="1827" class="Symbol">:</a> <a id="1829" href="Algebra.Elgot.Stable.html#1465" class="Bound">Y</a> <a id="1831" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="1833" href="Algebra.Elgot.Stable.html#1795" class="Bound">X</a> <a id="1835" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="1837" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="1853" href="Algebra.Elgot.Stable.html#1805" class="Bound">A</a><a id="1854" class="Symbol">)</a> <a id="1856" class="Symbol"></a> <a id="1858" href="Algebra.Elgot.Stable.html#1825" class="Bound">f</a> <a id="1860" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="1862" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">[</a> <a id="1864" href="Algebra.Elgot.Stable.html#1805" class="Bound">A</a> <a id="1866" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">,</a> <a id="1868" href="Algebra.Elgot.Stable.html#1825" class="Bound">f</a> <a id="1870" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">]♯ˡ</a> <a id="1874" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="1876" class="Symbol">(</a><a id="1877" href="Categories.FreeObjects.Free.html#854" class="Function">η</a> <a id="1879" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="1881" href="Categories.Category.Core.html#630" class="Function">id</a><a id="1883" class="Symbol">)</a>
<a id="IsStableFreeElgotAlgebraˡ.♯ˡ-preserving"></a><a id="1891" href="Algebra.Elgot.Stable.html#1891" class="Field">♯ˡ-preserving</a> <a id="1905" class="Symbol">:</a> <a id="1907" class="Symbol"></a> <a id="1909" class="Symbol">{</a><a id="1910" href="Algebra.Elgot.Stable.html#1910" class="Bound">X</a> <a id="1912" class="Symbol">:</a> <a id="1914" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="1917" class="Symbol">}</a> <a id="1919" class="Symbol">{</a><a id="1920" href="Algebra.Elgot.Stable.html#1920" class="Bound">B</a> <a id="1922" class="Symbol">:</a> <a id="1924" href="Algebra.Elgot.html#15964" class="Record">Elgot-Algebra</a><a id="1937" class="Symbol">}</a> <a id="1939" class="Symbol">(</a><a id="1940" href="Algebra.Elgot.Stable.html#1940" class="Bound">f</a> <a id="1942" class="Symbol">:</a> <a id="1944" href="Algebra.Elgot.Stable.html#1465" class="Bound">Y</a> <a id="1946" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="1948" href="Algebra.Elgot.Stable.html#1910" class="Bound">X</a> <a id="1950" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="1952" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="1968" href="Algebra.Elgot.Stable.html#1920" class="Bound">B</a><a id="1969" class="Symbol">)</a> <a id="1971" class="Symbol">{</a><a id="1972" href="Algebra.Elgot.Stable.html#1972" class="Bound">Z</a> <a id="1974" class="Symbol">:</a> <a id="1976" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="1979" class="Symbol">}</a> <a id="1981" class="Symbol">(</a><a id="1982" href="Algebra.Elgot.Stable.html#1982" class="Bound">h</a> <a id="1984" class="Symbol">:</a> <a id="1986" href="Algebra.Elgot.Stable.html#1972" class="Bound">Z</a> <a id="1988" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="1990" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="2006" href="Algebra.Elgot.Stable.html#1600" class="Function">FY</a> <a id="2009" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="2011" href="Algebra.Elgot.Stable.html#1972" class="Bound">Z</a><a id="2012" class="Symbol">)</a> <a id="2014" class="Symbol"></a> <a id="2016" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">[</a> <a id="2018" href="Algebra.Elgot.Stable.html#1920" class="Bound">B</a> <a id="2020" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">,</a> <a id="2022" href="Algebra.Elgot.Stable.html#1940" class="Bound">f</a> <a id="2024" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">]♯ˡ</a> <a id="2028" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2030" class="Symbol">(</a><a id="2031" href="Algebra.Elgot.Stable.html#1982" class="Bound">h</a> <a id="2033" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="2035" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2037" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2039" class="Symbol">)</a> <a id="2041" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="2043" href="Algebra.Elgot.html#1938" class="Function Operator">Elgot-Algebra._#</a> <a id="2060" href="Algebra.Elgot.Stable.html#1920" class="Bound">B</a> <a id="2062" class="Symbol">((</a><a id="2064" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">[</a> <a id="2066" href="Algebra.Elgot.Stable.html#1920" class="Bound">B</a> <a id="2068" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">,</a> <a id="2070" href="Algebra.Elgot.Stable.html#1940" class="Bound">f</a> <a id="2072" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">]♯ˡ</a> <a id="2076" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="2079" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2081" class="Symbol">)</a> <a id="2083" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2085" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="2099" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2101" class="Symbol">(</a><a id="2102" href="Algebra.Elgot.Stable.html#1982" class="Bound">h</a> <a id="2104" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2106" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2108" class="Symbol">))</a>
<a id="IsStableFreeElgotAlgebraˡ.♯ˡ-unique"></a><a id="2117" href="Algebra.Elgot.Stable.html#2117" class="Field">♯ˡ-unique</a> <a id="2127" class="Symbol">:</a> <a id="2129" class="Symbol"></a> <a id="2131" class="Symbol">{</a><a id="2132" href="Algebra.Elgot.Stable.html#2132" class="Bound">X</a> <a id="2134" class="Symbol">:</a> <a id="2136" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="2139" class="Symbol">}</a> <a id="2141" class="Symbol">{</a><a id="2142" href="Algebra.Elgot.Stable.html#2142" class="Bound">B</a> <a id="2144" class="Symbol">:</a> <a id="2146" href="Algebra.Elgot.html#15964" class="Record">Elgot-Algebra</a><a id="2159" class="Symbol">}</a> <a id="2161" class="Symbol">(</a><a id="2162" href="Algebra.Elgot.Stable.html#2162" class="Bound">f</a> <a id="2164" class="Symbol">:</a> <a id="2166" href="Algebra.Elgot.Stable.html#1465" class="Bound">Y</a> <a id="2168" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="2170" href="Algebra.Elgot.Stable.html#2132" class="Bound">X</a> <a id="2172" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="2174" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="2190" href="Algebra.Elgot.Stable.html#2142" class="Bound">B</a><a id="2191" class="Symbol">)</a> <a id="2193" class="Symbol">(</a><a id="2194" href="Algebra.Elgot.Stable.html#2194" class="Bound">g</a> <a id="2196" class="Symbol">:</a> <a id="2198" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="2214" href="Algebra.Elgot.Stable.html#1600" class="Function">FY</a> <a id="2217" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="2219" href="Algebra.Elgot.Stable.html#2132" class="Bound">X</a> <a id="2221" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="2223" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="2239" href="Algebra.Elgot.Stable.html#2142" class="Bound">B</a><a id="2240" class="Symbol">)</a>
<a id="2250" class="Symbol"></a> <a id="2252" href="Algebra.Elgot.Stable.html#2162" class="Bound">f</a> <a id="2254" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="2256" href="Algebra.Elgot.Stable.html#2194" class="Bound">g</a> <a id="2258" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2260" class="Symbol">(</a><a id="2261" href="Categories.FreeObjects.Free.html#854" class="Function">η</a> <a id="2263" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2265" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2267" class="Symbol">)</a>
<a id="2277" class="Symbol"></a> <a id="2279" class="Symbol">({</a><a id="2281" href="Algebra.Elgot.Stable.html#2281" class="Bound">Z</a> <a id="2283" class="Symbol">:</a> <a id="2285" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="2288" class="Symbol">}</a> <a id="2290" class="Symbol">(</a><a id="2291" href="Algebra.Elgot.Stable.html#2291" class="Bound">h</a> <a id="2293" class="Symbol">:</a> <a id="2295" href="Algebra.Elgot.Stable.html#2281" class="Bound">Z</a> <a id="2297" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="2299" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="2315" href="Algebra.Elgot.Stable.html#1600" class="Function">FY</a> <a id="2318" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="2320" href="Algebra.Elgot.Stable.html#2281" class="Bound">Z</a><a id="2321" class="Symbol">)</a> <a id="2323" class="Symbol"></a> <a id="2325" href="Algebra.Elgot.Stable.html#2194" class="Bound">g</a> <a id="2327" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2329" class="Symbol">(</a><a id="2330" href="Algebra.Elgot.Stable.html#2291" class="Bound">h</a> <a id="2332" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="2334" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2336" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2338" class="Symbol">)</a> <a id="2340" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="2342" href="Algebra.Elgot.html#1938" class="Function Operator">Elgot-Algebra._#</a> <a id="2359" href="Algebra.Elgot.Stable.html#2142" class="Bound">B</a> <a id="2361" class="Symbol">((</a><a id="2363" href="Algebra.Elgot.Stable.html#2194" class="Bound">g</a> <a id="2365" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="2368" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2370" class="Symbol">)</a> <a id="2372" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2374" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="2388" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2390" class="Symbol">(</a><a id="2391" href="Algebra.Elgot.Stable.html#2291" class="Bound">h</a> <a id="2393" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2395" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2397" class="Symbol">)))</a>
<a id="2409" class="Symbol"></a> <a id="2411" href="Algebra.Elgot.Stable.html#2194" class="Bound">g</a> <a id="2413" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="2415" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">[</a> <a id="2417" href="Algebra.Elgot.Stable.html#2142" class="Bound">B</a> <a id="2419" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">,</a> <a id="2421" href="Algebra.Elgot.Stable.html#2162" class="Bound">f</a> <a id="2423" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">]♯ˡ</a>
<a id="2430" class="Keyword">record</a> <a id="IsStableFreeElgotAlgebra"></a><a id="2437" href="Algebra.Elgot.Stable.html#2437" class="Record">IsStableFreeElgotAlgebra</a> <a id="2462" class="Symbol">{</a><a id="2463" href="Algebra.Elgot.Stable.html#2463" class="Bound">Y</a> <a id="2465" class="Symbol">:</a> <a id="2467" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="2470" class="Symbol">}</a> <a id="2472" class="Symbol">(</a><a id="2473" href="Algebra.Elgot.Stable.html#2473" class="Bound">freeElgot</a> <a id="2483" class="Symbol">:</a> <a id="2485" href="Algebra.Elgot.Free.html#1441" class="Function">FreeElgotAlgebra</a> <a id="2502" href="Algebra.Elgot.Stable.html#2463" class="Bound">Y</a><a id="2503" class="Symbol">)</a> <a id="2505" class="Symbol">:</a> <a id="2507" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2511" class="Symbol">(</a><a id="2512" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="2516" href="Algebra.Elgot.Stable.html#788" class="Bound">o</a> <a id="2518" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="2520" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="2524" href="Algebra.Elgot.Stable.html#790" class="Bound"></a> <a id="2526" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="2528" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="2532" href="Algebra.Elgot.Stable.html#792" class="Bound">e</a><a id="2533" class="Symbol">)</a> <a id="2535" class="Keyword">where</a>
<a id="2546" class="Keyword">open</a> <a id="2551" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="2562" href="Algebra.Elgot.Stable.html#2473" class="Bound">freeElgot</a> <a id="2572" class="Keyword">using</a> <a id="2578" class="Symbol">(</a><a id="2579" href="Categories.FreeObjects.Free.html#854" class="Field">η</a><a id="2580" class="Symbol">)</a> <a id="2582" class="Keyword">renaming</a> <a id="2591" class="Symbol">(</a><a id="2592" href="Categories.FreeObjects.Free.html#838" class="Field">FX</a> <a id="2595" class="Symbol">to</a> <a id="2598" class="Field">FY</a><a id="2600" class="Symbol">)</a>
<a id="2606" class="Keyword">open</a> <a id="2611" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="2625" href="Algebra.Elgot.Stable.html#2598" class="Function">FY</a> <a id="2628" class="Keyword">using</a> <a id="2634" class="Symbol">(</a><a id="2635" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a><a id="2637" class="Symbol">)</a>
<a id="2644" class="Keyword">field</a>
<a id="IsStableFreeElgotAlgebra.[_,_]♯"></a><a id="2658" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">[_,_]♯</a> <a id="2665" class="Symbol">:</a> <a id="2667" class="Symbol"></a> <a id="2669" class="Symbol">{</a><a id="2670" href="Algebra.Elgot.Stable.html#2670" class="Bound">X</a> <a id="2672" class="Symbol">:</a> <a id="2674" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="2677" class="Symbol">}</a> <a id="2679" class="Symbol">(</a><a id="2680" href="Algebra.Elgot.Stable.html#2680" class="Bound">A</a> <a id="2682" class="Symbol">:</a> <a id="2684" href="Algebra.Elgot.html#15964" class="Record">Elgot-Algebra</a><a id="2697" class="Symbol">)</a> <a id="2699" class="Symbol">(</a><a id="2700" href="Algebra.Elgot.Stable.html#2700" class="Bound">f</a> <a id="2702" class="Symbol">:</a> <a id="2704" href="Algebra.Elgot.Stable.html#2670" class="Bound">X</a> <a id="2706" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="2708" href="Algebra.Elgot.Stable.html#2463" class="Bound">Y</a> <a id="2710" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="2712" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="2728" href="Algebra.Elgot.Stable.html#2680" class="Bound">A</a><a id="2729" class="Symbol">)</a> <a id="2731" class="Symbol"></a> <a id="2733" href="Algebra.Elgot.Stable.html#2670" class="Bound">X</a> <a id="2735" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="2737" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="2753" href="Algebra.Elgot.Stable.html#2598" class="Function">FY</a> <a id="2756" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="2758" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="2774" href="Algebra.Elgot.Stable.html#2680" class="Bound">A</a>
<a id="IsStableFreeElgotAlgebra.♯-law"></a><a id="2784" href="Algebra.Elgot.Stable.html#2784" class="Field">♯-law</a> <a id="2790" class="Symbol">:</a> <a id="2792" class="Symbol"></a> <a id="2794" class="Symbol">{</a><a id="2795" href="Algebra.Elgot.Stable.html#2795" class="Bound">X</a> <a id="2797" class="Symbol">:</a> <a id="2799" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="2802" class="Symbol">}</a> <a id="2804" class="Symbol">{</a><a id="2805" href="Algebra.Elgot.Stable.html#2805" class="Bound">A</a> <a id="2807" class="Symbol">:</a> <a id="2809" href="Algebra.Elgot.html#15964" class="Record">Elgot-Algebra</a><a id="2822" class="Symbol">}</a> <a id="2824" class="Symbol">(</a><a id="2825" href="Algebra.Elgot.Stable.html#2825" class="Bound">f</a> <a id="2827" class="Symbol">:</a> <a id="2829" href="Algebra.Elgot.Stable.html#2795" class="Bound">X</a> <a id="2831" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="2833" href="Algebra.Elgot.Stable.html#2463" class="Bound">Y</a> <a id="2835" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="2837" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="2853" href="Algebra.Elgot.Stable.html#2805" class="Bound">A</a><a id="2854" class="Symbol">)</a> <a id="2856" class="Symbol"></a> <a id="2858" href="Algebra.Elgot.Stable.html#2825" class="Bound">f</a> <a id="2860" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="2862" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">[</a> <a id="2864" href="Algebra.Elgot.Stable.html#2805" class="Bound">A</a> <a id="2866" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">,</a> <a id="2868" href="Algebra.Elgot.Stable.html#2825" class="Bound">f</a> <a id="2870" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">]♯</a> <a id="2873" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2875" class="Symbol">(</a><a id="2876" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="2879" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2881" href="Categories.FreeObjects.Free.html#854" class="Function">η</a><a id="2882" class="Symbol">)</a>
<a id="IsStableFreeElgotAlgebra.♯-preserving"></a><a id="2892" href="Algebra.Elgot.Stable.html#2892" class="Field">♯-preserving</a> <a id="2905" class="Symbol">:</a> <a id="2907" class="Symbol"></a> <a id="2909" class="Symbol">{</a><a id="2910" href="Algebra.Elgot.Stable.html#2910" class="Bound">X</a> <a id="2912" class="Symbol">:</a> <a id="2914" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="2917" class="Symbol">}</a> <a id="2919" class="Symbol">{</a><a id="2920" href="Algebra.Elgot.Stable.html#2920" class="Bound">B</a> <a id="2922" class="Symbol">:</a> <a id="2924" href="Algebra.Elgot.html#15964" class="Record">Elgot-Algebra</a><a id="2937" class="Symbol">}</a> <a id="2939" class="Symbol">(</a><a id="2940" href="Algebra.Elgot.Stable.html#2940" class="Bound">f</a> <a id="2942" class="Symbol">:</a> <a id="2944" href="Algebra.Elgot.Stable.html#2910" class="Bound">X</a> <a id="2946" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="2948" href="Algebra.Elgot.Stable.html#2463" class="Bound">Y</a> <a id="2950" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="2952" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="2968" href="Algebra.Elgot.Stable.html#2920" class="Bound">B</a><a id="2969" class="Symbol">)</a> <a id="2971" class="Symbol">{</a><a id="2972" href="Algebra.Elgot.Stable.html#2972" class="Bound">Z</a> <a id="2974" class="Symbol">:</a> <a id="2976" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="2979" class="Symbol">}</a> <a id="2981" class="Symbol">(</a><a id="2982" href="Algebra.Elgot.Stable.html#2982" class="Bound">h</a> <a id="2984" class="Symbol">:</a> <a id="2986" href="Algebra.Elgot.Stable.html#2972" class="Bound">Z</a> <a id="2988" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="2990" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="3006" href="Algebra.Elgot.Stable.html#2598" class="Function">FY</a> <a id="3009" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="3011" href="Algebra.Elgot.Stable.html#2972" class="Bound">Z</a><a id="3012" class="Symbol">)</a> <a id="3014" class="Symbol"></a> <a id="3016" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">[</a> <a id="3018" href="Algebra.Elgot.Stable.html#2920" class="Bound">B</a> <a id="3020" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">,</a> <a id="3022" href="Algebra.Elgot.Stable.html#2940" class="Bound">f</a> <a id="3024" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">]♯</a> <a id="3027" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3029" class="Symbol">(</a><a id="3030" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="3033" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3035" href="Algebra.Elgot.Stable.html#2982" class="Bound">h</a> <a id="3037" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="3038" class="Symbol">)</a> <a id="3040" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="3042" href="Algebra.Elgot.html#1938" class="Function Operator">Elgot-Algebra._#</a> <a id="3059" href="Algebra.Elgot.Stable.html#2920" class="Bound">B</a> <a id="3061" class="Symbol">((</a><a id="3063" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">[</a> <a id="3065" href="Algebra.Elgot.Stable.html#2920" class="Bound">B</a> <a id="3067" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">,</a> <a id="3069" href="Algebra.Elgot.Stable.html#2940" class="Bound">f</a> <a id="3071" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">]♯</a> <a id="3074" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="3077" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3079" class="Symbol">)</a> <a id="3081" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3083" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="3097" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3099" class="Symbol">(</a><a id="3100" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="3103" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3105" href="Algebra.Elgot.Stable.html#2982" class="Bound">h</a><a id="3106" class="Symbol">))</a>
<a id="IsStableFreeElgotAlgebra.♯-unique"></a><a id="3117" href="Algebra.Elgot.Stable.html#3117" class="Field">♯-unique</a> <a id="3126" class="Symbol">:</a> <a id="3128" class="Symbol"></a> <a id="3130" class="Symbol">{</a><a id="3131" href="Algebra.Elgot.Stable.html#3131" class="Bound">X</a> <a id="3133" class="Symbol">:</a> <a id="3135" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="3138" class="Symbol">}</a> <a id="3140" class="Symbol">{</a><a id="3141" href="Algebra.Elgot.Stable.html#3141" class="Bound">B</a> <a id="3143" class="Symbol">:</a> <a id="3145" href="Algebra.Elgot.html#15964" class="Record">Elgot-Algebra</a><a id="3158" class="Symbol">}</a> <a id="3160" class="Symbol">(</a><a id="3161" href="Algebra.Elgot.Stable.html#3161" class="Bound">f</a> <a id="3163" class="Symbol">:</a> <a id="3165" href="Algebra.Elgot.Stable.html#3131" class="Bound">X</a> <a id="3167" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="3169" href="Algebra.Elgot.Stable.html#2463" class="Bound">Y</a> <a id="3171" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="3173" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="3189" href="Algebra.Elgot.Stable.html#3141" class="Bound">B</a><a id="3190" class="Symbol">)</a> <a id="3192" class="Symbol">(</a><a id="3193" href="Algebra.Elgot.Stable.html#3193" class="Bound">g</a> <a id="3195" class="Symbol">:</a> <a id="3197" href="Algebra.Elgot.Stable.html#3131" class="Bound">X</a> <a id="3199" href="Categories.Category.BinaryProducts.html#1053" class="Function Operator">×</a> <a id="3201" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="3217" href="Algebra.Elgot.Stable.html#2598" class="Function">FY</a> <a id="3220" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="3222" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="3238" href="Algebra.Elgot.Stable.html#3141" class="Bound">B</a><a id="3239" class="Symbol">)</a>
<a id="3251" class="Symbol"></a> <a id="3253" href="Algebra.Elgot.Stable.html#3161" class="Bound">f</a> <a id="3255" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="3257" href="Algebra.Elgot.Stable.html#3193" class="Bound">g</a> <a id="3259" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3261" class="Symbol">(</a><a id="3262" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="3265" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3267" href="Categories.FreeObjects.Free.html#854" class="Function">η</a><a id="3268" class="Symbol">)</a>
<a id="3280" class="Symbol"></a> <a id="3282" class="Symbol">(∀</a> <a id="3285" class="Symbol">{</a><a id="3286" href="Algebra.Elgot.Stable.html#3286" class="Bound">Z</a> <a id="3288" class="Symbol">:</a> <a id="3290" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="3293" class="Symbol">}</a> <a id="3295" class="Symbol">(</a><a id="3296" href="Algebra.Elgot.Stable.html#3296" class="Bound">h</a> <a id="3298" class="Symbol">:</a> <a id="3300" href="Algebra.Elgot.Stable.html#3286" class="Bound">Z</a> <a id="3302" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="3304" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="3320" href="Algebra.Elgot.Stable.html#2598" class="Function">FY</a> <a id="3323" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="3325" href="Algebra.Elgot.Stable.html#3286" class="Bound">Z</a><a id="3326" class="Symbol">)</a> <a id="3328" class="Symbol"></a> <a id="3330" href="Algebra.Elgot.Stable.html#3193" class="Bound">g</a> <a id="3332" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3334" class="Symbol">(</a><a id="3335" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="3338" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3340" href="Algebra.Elgot.Stable.html#3296" class="Bound">h</a> <a id="3342" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="3343" class="Symbol">)</a> <a id="3345" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="3347" href="Algebra.Elgot.html#1938" class="Function Operator">Elgot-Algebra._#</a> <a id="3364" href="Algebra.Elgot.Stable.html#3141" class="Bound">B</a> <a id="3366" class="Symbol">((</a><a id="3368" href="Algebra.Elgot.Stable.html#3193" class="Bound">g</a> <a id="3370" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="3373" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3375" class="Symbol">)</a> <a id="3377" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3379" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="3393" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3395" class="Symbol">(</a><a id="3396" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="3399" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3401" href="Algebra.Elgot.Stable.html#3296" class="Bound">h</a><a id="3402" class="Symbol">)))</a>
<a id="3416" class="Symbol"></a> <a id="3418" href="Algebra.Elgot.Stable.html#3193" class="Bound">g</a> <a id="3420" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="3422" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">[</a> <a id="3424" href="Algebra.Elgot.Stable.html#3141" class="Bound">B</a> <a id="3426" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">,</a> <a id="3428" href="Algebra.Elgot.Stable.html#3161" class="Bound">f</a> <a id="3430" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">]♯</a>
<a id="isStable⇒isStableˡ"></a><a id="3436" href="Algebra.Elgot.Stable.html#3436" class="Function">isStable⇒isStableˡ</a> <a id="3455" class="Symbol">:</a> <a id="3457" class="Symbol"></a> <a id="3459" class="Symbol">{</a><a id="3460" href="Algebra.Elgot.Stable.html#3460" class="Bound">Y</a><a id="3461" class="Symbol">}</a> <a id="3463" class="Symbol">(</a><a id="3464" href="Algebra.Elgot.Stable.html#3464" class="Bound">freeElgot</a> <a id="3474" class="Symbol">:</a> <a id="3476" href="Algebra.Elgot.Free.html#1441" class="Function">FreeElgotAlgebra</a> <a id="3493" href="Algebra.Elgot.Stable.html#3460" class="Bound">Y</a><a id="3494" class="Symbol">)</a> <a id="3496" class="Symbol"></a> <a id="3498" href="Algebra.Elgot.Stable.html#2437" class="Record">IsStableFreeElgotAlgebra</a> <a id="3523" class="Symbol">{</a><a id="3524" href="Algebra.Elgot.Stable.html#3460" class="Bound">Y</a><a id="3525" class="Symbol">}</a> <a id="3527" href="Algebra.Elgot.Stable.html#3464" class="Bound">freeElgot</a> <a id="3537" class="Symbol"></a> <a id="3539" href="Algebra.Elgot.Stable.html#1438" class="Record">IsStableFreeElgotAlgebraˡ</a> <a id="3565" class="Symbol">{</a><a id="3566" href="Algebra.Elgot.Stable.html#3460" class="Bound">Y</a><a id="3567" class="Symbol">}</a> <a id="3569" href="Algebra.Elgot.Stable.html#3464" class="Bound">freeElgot</a>
<a id="3582" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">IsStableFreeElgotAlgebraˡ.[_,_]♯ˡ</a> <a id="3616" class="Symbol">(</a><a id="3617" href="Algebra.Elgot.Stable.html#3436" class="Function">isStable⇒isStableˡ</a> <a id="3636" class="Symbol">{</a><a id="3637" href="Algebra.Elgot.Stable.html#3637" class="Bound">Y</a><a id="3638" class="Symbol">}</a> <a id="3640" href="Algebra.Elgot.Stable.html#3640" class="Bound">fe</a> <a id="3643" href="Algebra.Elgot.Stable.html#3643" class="Bound">isStable</a><a id="3651" class="Symbol">)</a> <a id="3653" class="Symbol">{</a><a id="3654" href="Algebra.Elgot.Stable.html#3654" class="Bound">X</a><a id="3655" class="Symbol">}</a> <a id="3657" href="Algebra.Elgot.Stable.html#3657" class="Bound">A</a> <a id="3659" href="Algebra.Elgot.Stable.html#3659" class="Bound">f</a> <a id="3661" class="Symbol">=</a> <a id="3663" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="3665" href="Algebra.Elgot.Stable.html#3657" class="Bound">A</a> <a id="3667" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="3669" class="Symbol">(</a><a id="3670" href="Algebra.Elgot.Stable.html#3659" class="Bound">f</a> <a id="3672" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3674" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="3678" class="Symbol">)</a> <a id="3680" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="3683" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3685" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a>
<a id="3695" class="Keyword">where</a> <a id="3701" class="Keyword">open</a> <a id="3706" href="Algebra.Elgot.Stable.html#2437" class="Module">IsStableFreeElgotAlgebra</a> <a id="3731" href="Algebra.Elgot.Stable.html#3643" class="Bound">isStable</a>
<a id="3743" href="Algebra.Elgot.Stable.html#1783" class="Field">IsStableFreeElgotAlgebraˡ.♯ˡ-law</a> <a id="3776" class="Symbol">(</a><a id="3777" href="Algebra.Elgot.Stable.html#3436" class="Function">isStable⇒isStableˡ</a> <a id="3796" class="Symbol">{</a><a id="3797" href="Algebra.Elgot.Stable.html#3797" class="Bound">Y</a><a id="3798" class="Symbol">}</a> <a id="3800" href="Algebra.Elgot.Stable.html#3800" class="Bound">fe</a> <a id="3803" href="Algebra.Elgot.Stable.html#3803" class="Bound">isStable</a><a id="3811" class="Symbol">)</a> <a id="3813" class="Symbol">{</a><a id="3814" href="Algebra.Elgot.Stable.html#3814" class="Bound">X</a><a id="3815" class="Symbol">}</a> <a id="3817" class="Symbol">{</a><a id="3818" href="Algebra.Elgot.Stable.html#3818" class="Bound">A</a><a id="3819" class="Symbol">}</a> <a id="3821" href="Algebra.Elgot.Stable.html#3821" class="Bound">f</a> <a id="3823" class="Symbol">=</a> <a id="3825" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="3836" href="Algebra.Elgot.Stable.html#3821" class="Bound">f</a> <a id="3838" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3841" href="Categories.Morphism.Reasoning.Core.html#2899" class="Function">introʳ</a> <a id="3848" href="Categories.Category.BinaryProducts.html#4688" class="Function">swap∘swap</a> <a id="3858" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="3865" href="Algebra.Elgot.Stable.html#3821" class="Bound">f</a> <a id="3867" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3869" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="3874" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3876" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="3881" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3884" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="3890" class="Symbol">(</a><a id="3891" href="Algebra.Elgot.Stable.html#2784" class="Function">♯-law</a> <a id="3897" class="Symbol">(</a><a id="3898" href="Algebra.Elgot.Stable.html#3821" class="Bound">f</a> <a id="3900" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3902" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="3906" class="Symbol">))</a> <a id="3909" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="3916" class="Symbol">(</a><a id="3917" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="3919" href="Algebra.Elgot.Stable.html#3818" class="Bound">A</a> <a id="3921" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="3923" href="Algebra.Elgot.Stable.html#3821" class="Bound">f</a> <a id="3925" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3927" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="3932" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="3935" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3937" class="Symbol">(</a><a id="3938" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="3941" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3943" href="Categories.FreeObjects.Free.html#854" class="Function">η</a><a id="3944" class="Symbol">))</a> <a id="3947" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3949" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="3954" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3957" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="3963" class="Symbol">(</a><a id="3964" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="3968" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a><a id="3974" class="Symbol">)</a> <a id="3976" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="3983" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="3985" href="Algebra.Elgot.Stable.html#3818" class="Bound">A</a> <a id="3987" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="3989" class="Symbol">(</a><a id="3990" href="Algebra.Elgot.Stable.html#3821" class="Bound">f</a> <a id="3992" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3994" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="3998" class="Symbol">)</a> <a id="4000" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="4003" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4005" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="4010" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4012" class="Symbol">(</a><a id="4013" href="Categories.FreeObjects.Free.html#854" class="Function">η</a> <a id="4015" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4017" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4019" class="Symbol">)</a> <a id="4021" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4024" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="4034" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4041" class="Symbol">(</a><a id="4042" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="4044" href="Algebra.Elgot.Stable.html#3818" class="Bound">A</a> <a id="4046" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="4048" class="Symbol">(</a><a id="4049" href="Algebra.Elgot.Stable.html#3821" class="Bound">f</a> <a id="4051" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4053" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="4057" class="Symbol">)</a> <a id="4059" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="4062" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4064" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="4068" class="Symbol">)</a> <a id="4070" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4072" class="Symbol">(</a><a id="4073" href="Categories.FreeObjects.Free.html#854" class="Function">η</a> <a id="4075" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4077" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4079" class="Symbol">)</a> <a id="4081" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="4087" class="Keyword">where</a>
<a id="4099" class="Keyword">open</a> <a id="4104" href="Algebra.Elgot.Stable.html#2437" class="Module">IsStableFreeElgotAlgebra</a> <a id="4129" href="Algebra.Elgot.Stable.html#3803" class="Bound">isStable</a>
<a id="4144" class="Keyword">open</a> <a id="4149" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="4160" href="Algebra.Elgot.Stable.html#3800" class="Bound">fe</a> <a id="4163" class="Keyword">using</a> <a id="4169" class="Symbol">(</a><a id="4170" href="Categories.FreeObjects.Free.html#854" class="Field">η</a><a id="4171" class="Symbol">)</a> <a id="4173" class="Keyword">renaming</a> <a id="4182" class="Symbol">(</a><a id="4183" href="Categories.FreeObjects.Free.html#838" class="Field">FX</a> <a id="4186" class="Symbol">to</a> <a id="4189" class="Field">FY</a><a id="4191" class="Symbol">)</a>
<a id="4196" href="Algebra.Elgot.Stable.html#1891" class="Field">IsStableFreeElgotAlgebraˡ.♯ˡ-preserving</a> <a id="4236" class="Symbol">(</a><a id="4237" href="Algebra.Elgot.Stable.html#3436" class="Function">isStable⇒isStableˡ</a> <a id="4256" class="Symbol">{</a><a id="4257" href="Algebra.Elgot.Stable.html#4257" class="Bound">Y</a><a id="4258" class="Symbol">}</a> <a id="4260" href="Algebra.Elgot.Stable.html#4260" class="Bound">fe</a> <a id="4263" href="Algebra.Elgot.Stable.html#4263" class="Bound">isStable</a><a id="4271" class="Symbol">)</a> <a id="4273" class="Symbol">{</a><a id="4274" href="Algebra.Elgot.Stable.html#4274" class="Bound">X</a><a id="4275" class="Symbol">}</a> <a id="4277" class="Symbol">{</a><a id="4278" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a><a id="4279" class="Symbol">}</a> <a id="4281" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="4283" class="Symbol">{</a><a id="4284" href="Algebra.Elgot.Stable.html#4284" class="Bound">Z</a><a id="4285" class="Symbol">}</a> <a id="4287" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a> <a id="4289" class="Symbol">=</a> <a id="4291" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="4302" class="Symbol">(</a><a id="4303" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="4305" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="4307" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="4309" class="Symbol">(</a><a id="4310" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="4312" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4314" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="4318" class="Symbol">)</a> <a id="4320" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="4323" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4325" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="4329" class="Symbol">)</a> <a id="4331" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4333" class="Symbol">((</a><a id="4335" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a> <a id="4337" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="4338" class="Symbol">)</a> <a id="4340" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4342" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4344" class="Symbol">)</a> <a id="4346" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4349" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="4355" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a> <a id="4362" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4369" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="4371" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="4373" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="4375" class="Symbol">(</a><a id="4376" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="4378" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4380" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="4384" class="Symbol">)</a> <a id="4386" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="4389" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4391" class="Symbol">(</a><a id="4392" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="4395" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4397" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a> <a id="4399" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="4400" class="Symbol">)</a> <a id="4402" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4404" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="4409" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4412" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4418" class="Symbol">(</a><a id="4419" href="Algebra.Elgot.Stable.html#2892" class="Function">♯-preserving</a> <a id="4432" class="Symbol">(</a><a id="4433" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="4435" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4437" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="4441" class="Symbol">)</a> <a id="4443" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a><a id="4444" class="Symbol">)</a> <a id="4446" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4453" class="Symbol">((</a><a id="4455" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="4457" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="4459" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="4461" class="Symbol">(</a><a id="4462" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="4464" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4466" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="4470" class="Symbol">)</a> <a id="4472" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="4475" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4478" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4480" class="Symbol">)</a> <a id="4482" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4484" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="4498" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4500" class="Symbol">(</a><a id="4501" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="4504" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4506" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a><a id="4507" class="Symbol">))</a> <a id="4510" href="Algebra.Elgot.Stable.html#4834" class="Function Operator">#ᵇ</a> <a id="4513" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4515" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="4520" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4523" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="4527" class="Symbol">(</a><a id="4528" href="Algebra.Elgot.Stable.html#4855" class="Function">#ᵇ-Uniformity</a> <a id="4542" href="Algebra.Elgot.Stable.html#4876" class="Function">uni-helper</a><a id="4552" class="Symbol">)</a> <a id="4554" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4561" class="Symbol">(((</a><a id="4564" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="4566" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="4568" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="4570" class="Symbol">(</a><a id="4571" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="4573" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4575" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="4579" class="Symbol">)</a> <a id="4581" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="4584" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4586" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="4590" class="Symbol">)</a> <a id="4592" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4595" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4597" class="Symbol">)</a> <a id="4599" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4601" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="4615" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4617" class="Symbol">(</a><a id="4618" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a> <a id="4620" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4622" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4624" class="Symbol">))</a> <a id="4627" href="Algebra.Elgot.Stable.html#4834" class="Function Operator">#ᵇ</a> <a id="4630" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="4636" class="Keyword">where</a>
<a id="4649" class="Keyword">open</a> <a id="4654" href="Algebra.Elgot.Stable.html#2437" class="Module">IsStableFreeElgotAlgebra</a> <a id="4679" href="Algebra.Elgot.Stable.html#4263" class="Bound">isStable</a>
<a id="4694" class="Keyword">open</a> <a id="4699" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="4710" href="Algebra.Elgot.Stable.html#4260" class="Bound">fe</a> <a id="4713" class="Keyword">using</a> <a id="4719" class="Symbol">(</a><a id="4720" href="Categories.FreeObjects.Free.html#854" class="Field">η</a><a id="4721" class="Symbol">)</a> <a id="4723" class="Keyword">renaming</a> <a id="4732" class="Symbol">(</a><a id="4733" href="Categories.FreeObjects.Free.html#838" class="Field">FX</a> <a id="4736" class="Symbol">to</a> <a id="4739" class="Field">FY</a><a id="4741" class="Symbol">)</a>
<a id="4749" class="Keyword">open</a> <a id="4754" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="4768" href="Algebra.Elgot.Stable.html#4739" class="Function">FY</a> <a id="4771" class="Keyword">using</a> <a id="4777" class="Symbol">(</a><a id="4778" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a><a id="4780" class="Symbol">)</a>
<a id="4788" class="Keyword">open</a> <a id="4793" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="4807" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="4809" class="Keyword">using</a> <a id="4815" class="Symbol">()</a> <a id="4818" class="Keyword">renaming</a> <a id="4827" class="Symbol">(</a><a id="4828" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a> <a id="4831" class="Symbol">to</a> <a id="4834" class="Function Operator">_#ᵇ</a><a id="4837" class="Symbol">;</a> <a id="4839" href="Algebra.Elgot.html#2086" class="Function">#-Uniformity</a> <a id="4852" class="Symbol">to</a> <a id="4855" class="Function">#ᵇ-Uniformity</a><a id="4868" class="Symbol">)</a>
<a id="4876" href="Algebra.Elgot.Stable.html#4876" class="Function">uni-helper</a> <a id="4887" class="Symbol">:</a> <a id="4889" class="Symbol">(</a><a id="4890" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="4893" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4896" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="4900" class="Symbol">)</a> <a id="4902" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4904" class="Symbol">(</a><a id="4905" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="4907" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="4909" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="4911" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="4913" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4915" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="4920" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="4923" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4925" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="4930" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4933" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4935" class="Symbol">)</a> <a id="4937" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4939" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="4953" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4955" class="Symbol">(</a><a id="4956" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a> <a id="4958" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4960" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4962" class="Symbol">)</a> <a id="4964" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="4966" class="Symbol">((</a><a id="4968" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="4970" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="4972" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="4974" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="4976" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4978" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="4983" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="4986" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">coproducts.+₁</a> <a id="5000" href="Categories.Category.Core.html#630" class="Function">id</a><a id="5002" class="Symbol">)</a> <a id="5004" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5006" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="5020" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5022" class="Symbol">(</a><a id="5023" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="5026" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="5028" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a><a id="5029" class="Symbol">))</a> <a id="5032" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5034" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a>
<a id="5045" href="Algebra.Elgot.Stable.html#4876" class="Function">uni-helper</a> <a id="5056" class="Symbol">=</a> <a id="5058" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="5073" class="Symbol">(</a><a id="5074" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="5077" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5080" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="5084" class="Symbol">)</a> <a id="5086" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5088" class="Symbol">(</a><a id="5089" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="5091" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="5093" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="5095" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="5097" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5099" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5104" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="5107" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5109" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5114" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5117" href="Categories.Category.Core.html#630" class="Function">id</a><a id="5119" class="Symbol">)</a> <a id="5121" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5123" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="5137" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5139" class="Symbol">(</a><a id="5140" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a> <a id="5142" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="5144" href="Categories.Category.Core.html#630" class="Function">id</a><a id="5146" class="Symbol">)</a> <a id="5148" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5151" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="5157" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a> <a id="5163" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5174" class="Symbol">(</a><a id="5175" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="5178" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5180" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="5182" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="5184" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="5186" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="5188" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5190" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5195" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="5198" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5200" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5205" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5208" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5213" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5215" href="Categories.Category.Core.html#630" class="Function">id</a><a id="5217" class="Symbol">)</a> <a id="5219" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5221" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="5235" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5237" class="Symbol">(</a><a id="5238" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a> <a id="5240" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="5242" href="Categories.Category.Core.html#630" class="Function">id</a><a id="5244" class="Symbol">)</a> <a id="5246" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5249" class="Symbol">(</a><a id="5250" href="Categories.Category.Cocartesian.html#2622" class="Function">+₁-cong₂</a> <a id="5259" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a> <a id="5269" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a><a id="5276" class="Symbol">)</a> <a id="5278" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="5286" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5296" class="Symbol">(</a><a id="5297" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="5299" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="5301" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="5303" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="5305" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5307" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5312" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="5315" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5317" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5322" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5325" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="5328" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5330" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="5334" class="Symbol">)</a> <a id="5336" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5338" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="5352" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5354" class="Symbol">(</a><a id="5355" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a> <a id="5357" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="5359" href="Categories.Category.Core.html#630" class="Function">id</a><a id="5361" class="Symbol">)</a> <a id="5363" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5366" class="Symbol">(</a><a id="5367" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="5371" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a><a id="5376" class="Symbol">)</a> <a id="5378" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="5386" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5396" class="Symbol">((</a><a id="5398" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="5400" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="5402" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="5404" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="5406" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5408" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5413" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="5416" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5419" href="Categories.Category.Core.html#630" class="Function">id</a><a id="5421" class="Symbol">)</a> <a id="5423" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5425" class="Symbol">(</a><a id="5426" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5431" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5434" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="5438" class="Symbol">))</a> <a id="5441" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5443" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="5457" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5459" class="Symbol">(</a><a id="5460" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a> <a id="5462" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="5464" href="Categories.Category.Core.html#630" class="Function">id</a><a id="5466" class="Symbol">)</a> <a id="5468" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5471" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5477" class="Symbol">(</a><a id="5478" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="5484" class="Symbol">(</a><a id="5485" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="5489" href="Categories.Category.Distributive.Properties.html#5762" class="Function">distributeˡ⁻¹∘swap</a><a id="5507" class="Symbol">))</a> <a id="5510" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5520" class="Symbol">(</a><a id="5521" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="5523" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="5525" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="5527" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="5529" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5531" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5536" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="5539" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5542" href="Categories.Category.Core.html#630" class="Function">id</a><a id="5544" class="Symbol">)</a> <a id="5546" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5548" class="Symbol">(</a><a id="5549" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="5563" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5565" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="5569" class="Symbol">)</a> <a id="5571" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5573" class="Symbol">(</a><a id="5574" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a> <a id="5576" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="5578" href="Categories.Category.Core.html#630" class="Function">id</a><a id="5580" class="Symbol">)</a> <a id="5582" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5585" class="Symbol">(</a><a id="5586" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="5594" class="Symbol">(</a><a id="5595" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5601" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a> <a id="5608" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="5610" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a><a id="5619" class="Symbol">))</a> <a id="5622" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="5624" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="5634" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5645" class="Symbol">((</a><a id="5647" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="5649" href="Algebra.Elgot.Stable.html#4278" class="Bound">B</a> <a id="5651" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="5653" href="Algebra.Elgot.Stable.html#4281" class="Bound">f</a> <a id="5655" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5657" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5662" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="5665" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="5668" href="Categories.Category.Core.html#630" class="Function">id</a><a id="5670" class="Symbol">)</a> <a id="5672" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5674" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="5688" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5690" class="Symbol">(</a><a id="5691" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="5694" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="5696" href="Algebra.Elgot.Stable.html#4287" class="Bound">h</a><a id="5697" class="Symbol">))</a> <a id="5700" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5702" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5707" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="5712" href="Algebra.Elgot.Stable.html#2117" class="Field">IsStableFreeElgotAlgebraˡ.♯ˡ-unique</a> <a id="5748" class="Symbol">(</a><a id="5749" href="Algebra.Elgot.Stable.html#3436" class="Function">isStable⇒isStableˡ</a> <a id="5768" class="Symbol">{</a><a id="5769" href="Algebra.Elgot.Stable.html#5769" class="Bound">Y</a><a id="5770" class="Symbol">}</a> <a id="5772" href="Algebra.Elgot.Stable.html#5772" class="Bound">fe</a> <a id="5775" href="Algebra.Elgot.Stable.html#5775" class="Bound">isStable</a><a id="5783" class="Symbol">)</a> <a id="5785" class="Symbol">{</a><a id="5786" href="Algebra.Elgot.Stable.html#5786" class="Bound">X</a><a id="5787" class="Symbol">}</a> <a id="5789" class="Symbol">{</a><a id="5790" href="Algebra.Elgot.Stable.html#5790" class="Bound">B</a><a id="5791" class="Symbol">}</a> <a id="5793" href="Algebra.Elgot.Stable.html#5793" class="Bound">f</a> <a id="5795" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="5797" href="Algebra.Elgot.Stable.html#5797" class="Bound">g-law</a> <a id="5803" href="Algebra.Elgot.Stable.html#5803" class="Bound">g-preserving</a> <a id="5816" class="Symbol">=</a> <a id="5818" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="5829" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="5831" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5834" href="Categories.Morphism.Reasoning.Core.html#2899" class="Function">introʳ</a> <a id="5841" href="Categories.Category.BinaryProducts.html#4688" class="Function">swap∘swap</a> <a id="5851" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5858" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="5860" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5862" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5867" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5869" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5874" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5877" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="5883" class="Symbol">(</a><a id="5884" href="Algebra.Elgot.Stable.html#3117" class="Function">♯-unique</a> <a id="5893" class="Symbol">(</a><a id="5894" href="Algebra.Elgot.Stable.html#5793" class="Bound">f</a> <a id="5896" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5898" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="5902" class="Symbol">)</a> <a id="5904" class="Symbol">(</a><a id="5905" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="5907" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5909" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="5913" class="Symbol">)</a> <a id="5915" href="Algebra.Elgot.Stable.html#6212" class="Function">helper₁</a> <a id="5923" href="Algebra.Elgot.Stable.html#6452" class="Function">helper₂</a><a id="5930" class="Symbol">)</a> <a id="5932" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5939" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">[</a> <a id="5941" href="Algebra.Elgot.Stable.html#5790" class="Bound">B</a> <a id="5943" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">,</a> <a id="5945" class="Symbol">(</a><a id="5946" href="Algebra.Elgot.Stable.html#5793" class="Bound">f</a> <a id="5948" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5950" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="5954" class="Symbol">)</a> <a id="5956" href="Algebra.Elgot.Stable.html#2658" class="Function Operator">]♯</a> <a id="5959" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5961" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="5966" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="5972" class="Keyword">where</a>
<a id="5985" class="Keyword">open</a> <a id="5990" href="Algebra.Elgot.Stable.html#2437" class="Module">IsStableFreeElgotAlgebra</a> <a id="6015" href="Algebra.Elgot.Stable.html#5775" class="Bound">isStable</a>
<a id="6030" class="Keyword">open</a> <a id="6035" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="6046" href="Algebra.Elgot.Stable.html#5772" class="Bound">fe</a> <a id="6049" class="Keyword">using</a> <a id="6055" class="Symbol">(</a><a id="6056" href="Categories.FreeObjects.Free.html#854" class="Field">η</a><a id="6057" class="Symbol">)</a> <a id="6059" class="Keyword">renaming</a> <a id="6068" class="Symbol">(</a><a id="6069" href="Categories.FreeObjects.Free.html#838" class="Field">FX</a> <a id="6072" class="Symbol">to</a> <a id="6075" class="Field">FY</a><a id="6077" class="Symbol">)</a>
<a id="6085" class="Keyword">open</a> <a id="6090" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="6104" href="Algebra.Elgot.Stable.html#5790" class="Bound">B</a> <a id="6106" class="Keyword">using</a> <a id="6112" class="Symbol">()</a> <a id="6115" class="Keyword">renaming</a> <a id="6124" class="Symbol">(</a><a id="6125" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a> <a id="6128" class="Symbol">to</a> <a id="6131" class="Function Operator">_#ᵇ</a><a id="6134" class="Symbol">;</a> <a id="6136" href="Algebra.Elgot.html#2086" class="Function">#-Uniformity</a> <a id="6149" class="Symbol">to</a> <a id="6152" class="Function">#ᵇ-Uniformity</a><a id="6165" class="Symbol">)</a>
<a id="6173" class="Keyword">open</a> <a id="6178" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="6192" href="Algebra.Elgot.Stable.html#6075" class="Function">FY</a> <a id="6195" class="Keyword">using</a> <a id="6201" class="Symbol">(</a><a id="6202" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a><a id="6204" class="Symbol">)</a>
<a id="6212" href="Algebra.Elgot.Stable.html#6212" class="Function">helper₁</a> <a id="6220" class="Symbol">:</a> <a id="6222" href="Algebra.Elgot.Stable.html#5793" class="Bound">f</a> <a id="6224" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6226" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="6231" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="6233" class="Symbol">(</a><a id="6234" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6236" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6238" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="6242" class="Symbol">)</a> <a id="6244" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6246" class="Symbol">(</a><a id="6247" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="6250" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="6252" href="Categories.FreeObjects.Free.html#854" class="Function">η</a><a id="6253" class="Symbol">)</a>
<a id="6261" href="Algebra.Elgot.Stable.html#6212" class="Function">helper₁</a> <a id="6269" class="Symbol">=</a> <a id="6271" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="6286" href="Algebra.Elgot.Stable.html#5793" class="Bound">f</a> <a id="6288" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6290" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="6295" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6298" href="Algebra.Elgot.Stable.html#5797" class="Bound">g-law</a> <a id="6304" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="6312" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="6323" class="Symbol">(</a><a id="6324" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6326" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6328" class="Symbol">(</a><a id="6329" href="Categories.FreeObjects.Free.html#854" class="Function">η</a> <a id="6331" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="6333" href="Categories.Category.Core.html#630" class="Function">id</a><a id="6335" class="Symbol">))</a> <a id="6338" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6340" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="6345" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6348" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="6354" class="Symbol">(</a><a id="6355" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="6359" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a><a id="6365" class="Symbol">)</a> <a id="6367" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="6378" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6380" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6382" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="6387" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6389" class="Symbol">(</a><a id="6390" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="6393" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="6395" href="Categories.FreeObjects.Free.html#854" class="Function">η</a><a id="6396" class="Symbol">)</a> <a id="6398" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6401" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="6411" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="6422" class="Symbol">(</a><a id="6423" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6425" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6427" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="6431" class="Symbol">)</a> <a id="6433" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6435" class="Symbol">(</a><a id="6436" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="6439" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="6441" href="Categories.FreeObjects.Free.html#854" class="Function">η</a><a id="6442" class="Symbol">)</a> <a id="6444" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="6452" href="Algebra.Elgot.Stable.html#6452" class="Function">helper₂</a> <a id="6460" class="Symbol">:</a> <a id="6462" class="Symbol"></a> <a id="6464" class="Symbol">{</a><a id="6465" href="Algebra.Elgot.Stable.html#6465" class="Bound">Z</a> <a id="6467" class="Symbol">:</a> <a id="6469" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="6472" class="Symbol">}</a> <a id="6474" class="Symbol">(</a><a id="6475" href="Algebra.Elgot.Stable.html#6475" class="Bound">h</a> <a id="6477" class="Symbol">:</a> <a id="6479" href="Algebra.Elgot.Stable.html#6465" class="Bound">Z</a> <a id="6481" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="6483" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="6499" href="Algebra.Elgot.Stable.html#6075" class="Function">FY</a> <a id="6502" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="6504" href="Algebra.Elgot.Stable.html#6465" class="Bound">Z</a><a id="6505" class="Symbol">)</a> <a id="6507" class="Symbol"></a> <a id="6509" class="Symbol">(</a><a id="6510" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6512" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6514" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="6518" class="Symbol">)</a> <a id="6520" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6522" class="Symbol">(</a><a id="6523" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="6526" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="6528" href="Algebra.Elgot.Stable.html#6475" class="Bound">h</a> <a id="6530" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="6531" class="Symbol">)</a> <a id="6533" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="6535" class="Symbol">((</a><a id="6537" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6539" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6541" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="6546" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="6549" href="Categories.Category.Core.html#630" class="Function">id</a><a id="6551" class="Symbol">)</a> <a id="6553" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6555" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="6569" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6571" class="Symbol">(</a><a id="6572" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="6575" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="6577" href="Algebra.Elgot.Stable.html#6475" class="Bound">h</a><a id="6578" class="Symbol">))</a> <a id="6581" href="Algebra.Elgot.Stable.html#6131" class="Function Operator">#ᵇ</a>
<a id="6590" href="Algebra.Elgot.Stable.html#6452" class="Function">helper₂</a> <a id="6598" class="Symbol">{</a><a id="6599" href="Algebra.Elgot.Stable.html#6599" class="Bound">Z</a><a id="6600" class="Symbol">}</a> <a id="6602" href="Algebra.Elgot.Stable.html#6602" class="Bound">h</a> <a id="6604" class="Symbol">=</a> <a id="6606" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="6621" class="Symbol">(</a><a id="6622" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6624" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6626" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="6630" class="Symbol">)</a> <a id="6632" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6634" class="Symbol">(</a><a id="6635" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="6638" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="6640" href="Algebra.Elgot.Stable.html#6602" class="Bound">h</a> <a id="6642" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="6643" class="Symbol">)</a> <a id="6645" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6648" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="6654" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a> <a id="6661" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="6672" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6674" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6676" class="Symbol">(</a><a id="6677" href="Algebra.Elgot.Stable.html#6602" class="Bound">h</a> <a id="6679" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="6681" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="6683" href="Categories.Category.Core.html#630" class="Function">id</a><a id="6685" class="Symbol">)</a> <a id="6687" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6689" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="6694" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6697" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="6703" class="Symbol">(</a><a id="6704" href="Algebra.Elgot.Stable.html#5803" class="Bound">g-preserving</a> <a id="6717" href="Algebra.Elgot.Stable.html#6602" class="Bound">h</a><a id="6718" class="Symbol">)</a> <a id="6720" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="6731" class="Symbol">((</a><a id="6733" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6735" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="6738" href="Categories.Category.Core.html#630" class="Function">id</a><a id="6740" class="Symbol">)</a> <a id="6742" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6744" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="6758" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6760" class="Symbol">(</a><a id="6761" href="Algebra.Elgot.Stable.html#6602" class="Bound">h</a> <a id="6763" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="6765" href="Categories.Category.Core.html#630" class="Function">id</a><a id="6767" class="Symbol">))</a> <a id="6770" href="Algebra.Elgot.Stable.html#6131" class="Function Operator">#ᵇ</a> <a id="6773" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6775" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="6780" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6783" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="6787" class="Symbol">(</a><a id="6788" href="Algebra.Elgot.Stable.html#6152" class="Function">#ᵇ-Uniformity</a> <a id="6802" href="Algebra.Elgot.Stable.html#6900" class="Function">uni-helper</a><a id="6812" class="Symbol">)</a> <a id="6814" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="6825" class="Symbol">((</a><a id="6827" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6829" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6831" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="6836" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="6839" href="Categories.Category.Core.html#630" class="Function">id</a><a id="6841" class="Symbol">)</a> <a id="6843" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6845" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="6859" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6861" class="Symbol">(</a><a id="6862" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="6865" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="6867" href="Algebra.Elgot.Stable.html#6602" class="Bound">h</a><a id="6868" class="Symbol">))</a> <a id="6871" href="Algebra.Elgot.Stable.html#6131" class="Function Operator">#ᵇ</a> <a id="6874" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="6884" class="Keyword">where</a>
<a id="6900" href="Algebra.Elgot.Stable.html#6900" class="Function">uni-helper</a> <a id="6911" class="Symbol">:</a> <a id="6913" class="Symbol">(</a><a id="6914" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="6917" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="6920" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="6924" class="Symbol">)</a> <a id="6926" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6928" class="Symbol">(</a><a id="6929" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6931" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6933" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="6938" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="6941" href="Categories.Category.Core.html#630" class="Function">id</a><a id="6943" class="Symbol">)</a> <a id="6945" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6947" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="6961" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6963" class="Symbol">(</a><a id="6964" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="6967" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="6969" href="Algebra.Elgot.Stable.html#6602" class="Bound">h</a><a id="6970" class="Symbol">)</a> <a id="6972" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="6974" class="Symbol">((</a><a id="6976" href="Algebra.Elgot.Stable.html#5795" class="Bound">g</a> <a id="6978" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="6981" href="Categories.Category.Core.html#630" class="Function">id</a><a id="6983" class="Symbol">)</a> <a id="6985" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6987" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="7001" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7003" class="Symbol">(</a><a id="7004" href="Algebra.Elgot.Stable.html#6602" class="Bound">h</a> <a id="7006" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="7008" href="Categories.Category.Core.html#630" class="Function">id</a><a id="7010" class="Symbol">))</a> <a id="7013" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7015" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a>
<a id="7030" href="Algebra.Elgot.Stable.html#6900" class="Function">uni-helper</a> <a id="7041" class="Symbol">=</a> <a id="7043" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="7049" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a> <a id="7055" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="7057" class="Symbol">(</a><a id="7058" href="Categories.Category.Cocartesian.html#2622" class="Function">+₁-cong₂</a> <a id="7067" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a> <a id="7077" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a><a id="7084" class="Symbol">)</a> <a id="7086" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="7094" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="7096" class="Symbol">(</a><a id="7097" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="7101" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a><a id="7106" class="Symbol">)</a> <a id="7108" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="7116" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="7118" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="7124" class="Symbol">(</a><a id="7125" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="7131" class="Symbol">(</a><a id="7132" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="7136" href="Categories.Category.Distributive.Properties.html#6487" class="Function">distributeʳ⁻¹∘swap</a><a id="7154" class="Symbol">))</a> <a id="7157" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="7159" class="Symbol">(</a><a id="7160" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7168" class="Symbol">(</a><a id="7169" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="7175" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a> <a id="7182" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="7184" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a><a id="7193" class="Symbol">))</a> <a id="7196" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="7198" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a>
<a id="isStableˡ⇒isStable"></a><a id="7211" href="Algebra.Elgot.Stable.html#7211" class="Function">isStableˡ⇒isStable</a> <a id="7230" class="Symbol">:</a> <a id="7232" class="Symbol"></a> <a id="7234" class="Symbol">{</a><a id="7235" href="Algebra.Elgot.Stable.html#7235" class="Bound">Y</a><a id="7236" class="Symbol">}</a> <a id="7238" class="Symbol">(</a><a id="7239" href="Algebra.Elgot.Stable.html#7239" class="Bound">freeElgot</a> <a id="7249" class="Symbol">:</a> <a id="7251" href="Algebra.Elgot.Free.html#1441" class="Function">FreeElgotAlgebra</a> <a id="7268" href="Algebra.Elgot.Stable.html#7235" class="Bound">Y</a><a id="7269" class="Symbol">)</a> <a id="7271" class="Symbol"></a> <a id="7273" href="Algebra.Elgot.Stable.html#1438" class="Record">IsStableFreeElgotAlgebraˡ</a> <a id="7299" class="Symbol">{</a><a id="7300" href="Algebra.Elgot.Stable.html#7235" class="Bound">Y</a><a id="7301" class="Symbol">}</a> <a id="7303" href="Algebra.Elgot.Stable.html#7239" class="Bound">freeElgot</a> <a id="7313" class="Symbol"></a> <a id="7315" href="Algebra.Elgot.Stable.html#2437" class="Record">IsStableFreeElgotAlgebra</a> <a id="7340" class="Symbol">{</a><a id="7341" href="Algebra.Elgot.Stable.html#7235" class="Bound">Y</a><a id="7342" class="Symbol">}</a> <a id="7344" href="Algebra.Elgot.Stable.html#7239" class="Bound">freeElgot</a>
<a id="7357" href="Algebra.Elgot.Stable.html#2658" class="Field Operator">IsStableFreeElgotAlgebra.[_,_]♯</a> <a id="7389" class="Symbol">(</a><a id="7390" href="Algebra.Elgot.Stable.html#7211" class="Function">isStableˡ⇒isStable</a> <a id="7409" class="Symbol">{</a><a id="7410" href="Algebra.Elgot.Stable.html#7410" class="Bound">Y</a><a id="7411" class="Symbol">}</a> <a id="7413" href="Algebra.Elgot.Stable.html#7413" class="Bound">fe</a> <a id="7416" href="Algebra.Elgot.Stable.html#7416" class="Bound">isStableˡ</a><a id="7425" class="Symbol">)</a> <a id="7427" class="Symbol">{</a><a id="7428" href="Algebra.Elgot.Stable.html#7428" class="Bound">X</a><a id="7429" class="Symbol">}</a> <a id="7431" href="Algebra.Elgot.Stable.html#7431" class="Bound">A</a> <a id="7433" href="Algebra.Elgot.Stable.html#7433" class="Bound">f</a> <a id="7435" class="Symbol">=</a> <a id="7437" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="7439" href="Algebra.Elgot.Stable.html#7431" class="Bound">A</a> <a id="7441" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="7443" href="Algebra.Elgot.Stable.html#7433" class="Bound">f</a> <a id="7445" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7447" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="7452" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="7456" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7458" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a>
<a id="7467" class="Keyword">where</a> <a id="7473" class="Keyword">open</a> <a id="7478" href="Algebra.Elgot.Stable.html#1438" class="Module">IsStableFreeElgotAlgebraˡ</a> <a id="7504" href="Algebra.Elgot.Stable.html#7416" class="Bound">isStableˡ</a>
<a id="7517" href="Algebra.Elgot.Stable.html#2784" class="Field">IsStableFreeElgotAlgebra.♯-law</a> <a id="7548" class="Symbol">(</a><a id="7549" href="Algebra.Elgot.Stable.html#7211" class="Function">isStableˡ⇒isStable</a> <a id="7568" class="Symbol">{</a><a id="7569" href="Algebra.Elgot.Stable.html#7569" class="Bound">Y</a><a id="7570" class="Symbol">}</a> <a id="7572" href="Algebra.Elgot.Stable.html#7572" class="Bound">fe</a> <a id="7575" href="Algebra.Elgot.Stable.html#7575" class="Bound">isStableˡ</a><a id="7584" class="Symbol">)</a> <a id="7586" class="Symbol">{</a><a id="7587" href="Algebra.Elgot.Stable.html#7587" class="Bound">X</a><a id="7588" class="Symbol">}</a> <a id="7590" class="Symbol">{</a><a id="7591" href="Algebra.Elgot.Stable.html#7591" class="Bound">A</a><a id="7592" class="Symbol">}</a> <a id="7594" href="Algebra.Elgot.Stable.html#7594" class="Bound">f</a> <a id="7596" class="Symbol">=</a> <a id="7598" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="7609" href="Algebra.Elgot.Stable.html#7594" class="Bound">f</a> <a id="7611" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7614" href="Categories.Morphism.Reasoning.Core.html#2899" class="Function">introʳ</a> <a id="7621" href="Categories.Category.BinaryProducts.html#4688" class="Function">swap∘swap</a> <a id="7631" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="7638" href="Algebra.Elgot.Stable.html#7594" class="Bound">f</a> <a id="7640" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7642" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="7647" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7649" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="7654" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7657" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="7663" class="Symbol">(</a><a id="7664" href="Algebra.Elgot.Stable.html#1783" class="Function">♯ˡ-law</a> <a id="7671" class="Symbol">(</a><a id="7672" href="Algebra.Elgot.Stable.html#7594" class="Bound">f</a> <a id="7674" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7676" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="7680" class="Symbol">))</a> <a id="7683" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="7690" class="Symbol">(</a><a id="7691" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="7693" href="Algebra.Elgot.Stable.html#7591" class="Bound">A</a> <a id="7695" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="7697" href="Algebra.Elgot.Stable.html#7594" class="Bound">f</a> <a id="7699" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7701" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="7706" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="7710" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7712" class="Symbol">(</a><a id="7713" href="Categories.FreeObjects.Free.html#854" class="Function">η</a> <a id="7715" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="7717" href="Categories.Category.Core.html#630" class="Function">id</a><a id="7719" class="Symbol">))</a> <a id="7722" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7724" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="7729" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7732" class="Symbol">(</a><a id="7733" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="7739" class="Symbol">(</a><a id="7740" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="7744" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a><a id="7750" class="Symbol">))</a> <a id="7753" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="7755" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="7765" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="7772" class="Symbol">(</a><a id="7773" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="7775" href="Algebra.Elgot.Stable.html#7591" class="Bound">A</a> <a id="7777" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="7779" class="Symbol">(</a><a id="7780" href="Algebra.Elgot.Stable.html#7594" class="Bound">f</a> <a id="7782" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7784" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="7788" class="Symbol">)</a> <a id="7790" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="7794" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7796" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="7800" class="Symbol">)</a> <a id="7802" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="7804" class="Symbol">(</a><a id="7805" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="7808" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="7810" href="Categories.FreeObjects.Free.html#854" class="Function">η</a><a id="7811" class="Symbol">)</a> <a id="7813" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="7819" class="Keyword">where</a>
<a id="7832" class="Keyword">open</a> <a id="7837" href="Algebra.Elgot.Stable.html#1438" class="Module">IsStableFreeElgotAlgebraˡ</a> <a id="7863" href="Algebra.Elgot.Stable.html#7575" class="Bound">isStableˡ</a>
<a id="7879" class="Keyword">open</a> <a id="7884" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="7895" href="Algebra.Elgot.Stable.html#7572" class="Bound">fe</a> <a id="7898" class="Keyword">using</a> <a id="7904" class="Symbol">(</a><a id="7905" href="Categories.FreeObjects.Free.html#854" class="Field">η</a><a id="7906" class="Symbol">)</a> <a id="7908" class="Keyword">renaming</a> <a id="7917" class="Symbol">(</a><a id="7918" href="Categories.FreeObjects.Free.html#838" class="Field">FX</a> <a id="7921" class="Symbol">to</a> <a id="7924" class="Field">FY</a><a id="7926" class="Symbol">)</a>
<a id="7931" href="Algebra.Elgot.Stable.html#2892" class="Field">IsStableFreeElgotAlgebra.♯-preserving</a> <a id="7969" class="Symbol">(</a><a id="7970" href="Algebra.Elgot.Stable.html#7211" class="Function">isStableˡ⇒isStable</a> <a id="7989" class="Symbol">{</a><a id="7990" href="Algebra.Elgot.Stable.html#7990" class="Bound">Y</a><a id="7991" class="Symbol">}</a> <a id="7993" href="Algebra.Elgot.Stable.html#7993" class="Bound">fe</a> <a id="7996" href="Algebra.Elgot.Stable.html#7996" class="Bound">isStableˡ</a><a id="8005" class="Symbol">)</a> <a id="8007" class="Symbol">{</a><a id="8008" href="Algebra.Elgot.Stable.html#8008" class="Bound">X</a><a id="8009" class="Symbol">}</a> <a id="8011" class="Symbol">{</a><a id="8012" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a><a id="8013" class="Symbol">}</a> <a id="8015" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="8017" class="Symbol">{</a><a id="8018" href="Algebra.Elgot.Stable.html#8018" class="Bound">Z</a><a id="8019" class="Symbol">}</a> <a id="8021" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a> <a id="8023" class="Symbol">=</a> <a id="8025" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="8036" class="Symbol">(</a><a id="8037" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="8039" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="8041" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="8043" class="Symbol">(</a><a id="8044" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="8046" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8048" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="8052" class="Symbol">)</a> <a id="8054" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="8058" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8060" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="8064" class="Symbol">)</a> <a id="8066" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8068" class="Symbol">(</a><a id="8069" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="8072" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="8074" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a> <a id="8076" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="8077" class="Symbol">)</a> <a id="8079" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8082" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="8088" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a> <a id="8095" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="8102" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="8104" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="8106" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="8108" class="Symbol">(</a><a id="8109" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="8111" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8113" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="8117" class="Symbol">)</a> <a id="8119" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="8123" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8125" class="Symbol">((</a><a id="8127" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a> <a id="8129" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="8130" class="Symbol">)</a> <a id="8132" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="8134" href="Categories.Category.Core.html#630" class="Function">id</a><a id="8136" class="Symbol">)</a> <a id="8138" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8140" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="8145" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8148" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="8154" class="Symbol">(</a><a id="8155" href="Algebra.Elgot.Stable.html#1891" class="Function">♯ˡ-preserving</a> <a id="8169" class="Symbol">(</a><a id="8170" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="8172" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8174" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="8178" class="Symbol">)</a> <a id="8180" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a><a id="8181" class="Symbol">)</a> <a id="8183" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="8190" class="Symbol">((</a><a id="8192" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="8194" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="8196" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="8198" class="Symbol">(</a><a id="8199" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="8201" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8203" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="8207" class="Symbol">)</a> <a id="8209" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="8213" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="8216" href="Categories.Category.Core.html#630" class="Function">id</a><a id="8218" class="Symbol">)</a> <a id="8220" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8222" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="8236" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8238" class="Symbol">(</a><a id="8239" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a> <a id="8241" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="8243" href="Categories.Category.Core.html#630" class="Function">id</a><a id="8245" class="Symbol">))</a> <a id="8248" href="Algebra.Elgot.Stable.html#8529" class="Function Operator">#ᵇ</a> <a id="8251" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8253" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="8258" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="8262" href="Algebra.Elgot.Stable.html#8550" class="Function">#ᵇ-Uniformity</a> <a id="8276" href="Algebra.Elgot.Stable.html#8610" class="Function">by-uni</a> <a id="8283" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="8290" class="Symbol">((((</a><a id="8294" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="8296" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="8298" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="8300" class="Symbol">(</a><a id="8301" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="8303" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8305" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="8309" class="Symbol">)</a> <a id="8311" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="8315" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8317" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="8321" class="Symbol">)</a> <a id="8323" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="8326" href="Categories.Category.Core.html#630" class="Function">id</a><a id="8328" class="Symbol">)</a> <a id="8330" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8332" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="8346" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8348" class="Symbol">(</a><a id="8349" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="8352" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="8354" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a><a id="8355" class="Symbol">))</a> <a id="8358" href="Algebra.Elgot.Stable.html#8529" class="Function Operator">#ᵇ</a><a id="8360" class="Symbol">)</a> <a id="8362" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="8368" class="Keyword">where</a>
<a id="8381" class="Keyword">open</a> <a id="8386" href="Algebra.Elgot.Stable.html#1438" class="Module">IsStableFreeElgotAlgebraˡ</a> <a id="8412" href="Algebra.Elgot.Stable.html#7996" class="Bound">isStableˡ</a>
<a id="8428" class="Keyword">open</a> <a id="8433" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="8444" href="Algebra.Elgot.Stable.html#7993" class="Bound">fe</a> <a id="8447" class="Keyword">using</a> <a id="8453" class="Symbol">(</a><a id="8454" href="Categories.FreeObjects.Free.html#854" class="Field">η</a><a id="8455" class="Symbol">)</a> <a id="8457" class="Keyword">renaming</a> <a id="8466" class="Symbol">(</a><a id="8467" href="Categories.FreeObjects.Free.html#838" class="Field">FX</a> <a id="8470" class="Symbol">to</a> <a id="8473" class="Field">FY</a><a id="8475" class="Symbol">)</a>
<a id="8483" class="Keyword">open</a> <a id="8488" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="8502" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="8504" class="Keyword">using</a> <a id="8510" class="Symbol">()</a> <a id="8513" class="Keyword">renaming</a> <a id="8522" class="Symbol">(</a><a id="8523" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a> <a id="8526" class="Symbol">to</a> <a id="8529" class="Function Operator">_#ᵇ</a><a id="8532" class="Symbol">;</a> <a id="8534" href="Algebra.Elgot.html#2086" class="Function">#-Uniformity</a> <a id="8547" class="Symbol">to</a> <a id="8550" class="Function">#ᵇ-Uniformity</a><a id="8563" class="Symbol">)</a>
<a id="8571" class="Keyword">open</a> <a id="8576" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="8590" href="Algebra.Elgot.Stable.html#8473" class="Function">FY</a> <a id="8593" class="Keyword">using</a> <a id="8599" class="Symbol">(</a><a id="8600" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a><a id="8602" class="Symbol">)</a>
<a id="8610" href="Algebra.Elgot.Stable.html#8610" class="Function">by-uni</a> <a id="8617" class="Symbol">:</a> <a id="8619" class="Symbol">(</a><a id="8620" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="8623" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="8626" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="8630" class="Symbol">)</a> <a id="8632" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8634" class="Symbol">(</a><a id="8635" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="8637" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="8639" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="8641" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="8643" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8645" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="8650" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="8654" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8656" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="8661" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="8664" href="Categories.Category.Core.html#630" class="Function">id</a><a id="8666" class="Symbol">)</a> <a id="8668" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8670" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="8684" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8686" class="Symbol">(</a><a id="8687" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="8690" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="8692" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a><a id="8693" class="Symbol">)</a> <a id="8695" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="8697" class="Symbol">((</a><a id="8699" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="8701" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="8703" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="8705" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="8707" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8709" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="8714" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="8718" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="8721" href="Categories.Category.Core.html#630" class="Function">id</a><a id="8723" class="Symbol">)</a> <a id="8725" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8727" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="8741" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8743" class="Symbol">(</a><a id="8744" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a> <a id="8746" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="8748" href="Categories.Category.Core.html#630" class="Function">id</a><a id="8750" class="Symbol">))</a> <a id="8753" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8755" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a>
<a id="8766" href="Algebra.Elgot.Stable.html#8610" class="Function">by-uni</a> <a id="8773" class="Symbol">=</a> <a id="8775" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="8790" class="Symbol">(</a><a id="8791" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="8794" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="8797" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="8801" class="Symbol">)</a> <a id="8803" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8805" class="Symbol">(</a><a id="8806" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="8808" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="8810" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="8812" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="8814" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8816" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="8821" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="8825" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8827" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="8832" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="8835" href="Categories.Category.Core.html#630" class="Function">id</a><a id="8837" class="Symbol">)</a> <a id="8839" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8841" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="8855" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8857" class="Symbol">(</a><a id="8858" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="8861" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="8863" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a><a id="8864" class="Symbol">)</a> <a id="8866" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8869" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="8875" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a> <a id="8881" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="8892" class="Symbol">(</a><a id="8893" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="8896" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8898" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="8900" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="8902" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="8904" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="8906" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8908" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="8913" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="8917" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8919" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="8924" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="8927" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="8932" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8934" href="Categories.Category.Core.html#630" class="Function">id</a><a id="8936" class="Symbol">)</a> <a id="8938" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8940" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="8954" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="8956" class="Symbol">(</a><a id="8957" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="8960" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="8962" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a><a id="8963" class="Symbol">)</a> <a id="8965" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8968" class="Symbol">(</a><a id="8969" href="Categories.Category.Cocartesian.html#2622" class="Function">+₁-cong₂</a> <a id="8978" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a> <a id="8988" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a><a id="8995" class="Symbol">)</a> <a id="8997" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="9005" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="9016" class="Symbol">(</a><a id="9017" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="9019" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="9021" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="9023" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="9025" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9027" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9032" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="9036" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9038" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9043" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="9046" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="9049" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9051" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="9055" class="Symbol">)</a> <a id="9057" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9059" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="9073" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9075" class="Symbol">(</a><a id="9076" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="9079" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="9081" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a><a id="9082" class="Symbol">)</a> <a id="9084" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="9087" class="Symbol">(</a><a id="9088" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="9092" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a><a id="9097" class="Symbol">)</a> <a id="9099" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="9107" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="9118" class="Symbol">((</a><a id="9120" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="9122" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="9124" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="9126" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="9128" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9130" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9135" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="9139" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="9142" href="Categories.Category.Core.html#630" class="Function">id</a><a id="9144" class="Symbol">)</a> <a id="9146" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9148" class="Symbol">(</a><a id="9149" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9154" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="9157" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="9161" class="Symbol">))</a> <a id="9164" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9166" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="9180" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9182" class="Symbol">(</a><a id="9183" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="9186" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="9188" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a><a id="9189" class="Symbol">)</a> <a id="9191" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="9194" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="9200" class="Symbol">(</a><a id="9201" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="9207" class="Symbol">(</a><a id="9208" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="9212" href="Categories.Category.Distributive.Properties.html#6487" class="Function">distributeʳ⁻¹∘swap</a><a id="9230" class="Symbol">))</a> <a id="9233" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="9243" class="Symbol">(</a><a id="9244" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="9246" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="9248" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="9250" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="9252" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9254" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9259" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="9263" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="9266" href="Categories.Category.Core.html#630" class="Function">id</a><a id="9268" class="Symbol">)</a> <a id="9270" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9272" class="Symbol">(</a><a id="9273" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="9287" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9289" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="9293" class="Symbol">)</a> <a id="9295" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9297" class="Symbol">(</a><a id="9298" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="9301" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="9303" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a><a id="9304" class="Symbol">)</a> <a id="9306" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="9309" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="9317" class="Symbol">(</a><a id="9318" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="9324" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a><a id="9330" class="Symbol">)</a> <a id="9332" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="9343" class="Symbol">(</a><a id="9344" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="9346" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="9348" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="9350" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="9352" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9354" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9359" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="9363" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="9366" href="Categories.Category.Core.html#630" class="Function">id</a><a id="9368" class="Symbol">)</a> <a id="9370" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9372" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="9386" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9388" class="Symbol">(</a><a id="9389" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a> <a id="9391" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="9393" href="Categories.Category.Core.html#630" class="Function">id</a><a id="9395" class="Symbol">)</a> <a id="9397" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9399" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9404" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="9408" href="Categories.Category.Core.html#715" class="Function">assoc</a> <a id="9414" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="9416" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="9424" href="Categories.Category.Core.html#715" class="Function">assoc</a> <a id="9430" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="9441" class="Symbol">((</a><a id="9443" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="9445" href="Algebra.Elgot.Stable.html#8012" class="Bound">B</a> <a id="9447" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="9449" href="Algebra.Elgot.Stable.html#8015" class="Bound">f</a> <a id="9451" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9453" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9458" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="9462" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="9465" href="Categories.Category.Core.html#630" class="Function">id</a><a id="9467" class="Symbol">)</a> <a id="9469" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9471" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="9485" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9487" class="Symbol">(</a><a id="9488" href="Algebra.Elgot.Stable.html#8021" class="Bound">h</a> <a id="9490" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="9492" href="Categories.Category.Core.html#630" class="Function">id</a><a id="9494" class="Symbol">))</a> <a id="9497" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9499" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9504" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="9509" href="Algebra.Elgot.Stable.html#3117" class="Field">IsStableFreeElgotAlgebra.♯-unique</a> <a id="9543" class="Symbol">(</a><a id="9544" href="Algebra.Elgot.Stable.html#7211" class="Function">isStableˡ⇒isStable</a> <a id="9563" class="Symbol">{</a><a id="9564" href="Algebra.Elgot.Stable.html#9564" class="Bound">Y</a><a id="9565" class="Symbol">}</a> <a id="9567" href="Algebra.Elgot.Stable.html#9567" class="Bound">fe</a> <a id="9570" href="Algebra.Elgot.Stable.html#9570" class="Bound">isStableˡ</a><a id="9579" class="Symbol">)</a> <a id="9581" class="Symbol">{</a><a id="9582" href="Algebra.Elgot.Stable.html#9582" class="Bound">X</a><a id="9583" class="Symbol">}</a> <a id="9585" class="Symbol">{</a><a id="9586" href="Algebra.Elgot.Stable.html#9586" class="Bound">B</a><a id="9587" class="Symbol">}</a> <a id="9589" href="Algebra.Elgot.Stable.html#9589" class="Bound">f</a> <a id="9591" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="9593" href="Algebra.Elgot.Stable.html#9593" class="Bound">g-law</a> <a id="9599" href="Algebra.Elgot.Stable.html#9599" class="Bound">g-preserving</a> <a id="9612" class="Symbol">=</a> <a id="9614" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="9625" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="9627" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="9630" href="Categories.Morphism.Reasoning.Core.html#2899" class="Function">introʳ</a> <a id="9637" href="Categories.Category.BinaryProducts.html#4688" class="Function">swap∘swap</a> <a id="9647" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="9654" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="9656" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9658" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9663" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9665" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9670" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="9673" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="9679" class="Symbol">(</a><a id="9680" href="Algebra.Elgot.Stable.html#2117" class="Function">♯ˡ-unique</a> <a id="9690" class="Symbol">(</a><a id="9691" href="Algebra.Elgot.Stable.html#9589" class="Bound">f</a> <a id="9693" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9695" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="9699" class="Symbol">)</a> <a id="9701" class="Symbol">(</a><a id="9702" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="9704" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9706" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="9710" class="Symbol">)</a> <a id="9712" href="Algebra.Elgot.Stable.html#10010" class="Function">helper₁</a> <a id="9720" href="Algebra.Elgot.Stable.html#10250" class="Function">helper₂</a><a id="9727" class="Symbol">)</a> <a id="9729" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="9736" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">[</a> <a id="9738" href="Algebra.Elgot.Stable.html#9586" class="Bound">B</a> <a id="9740" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">,</a> <a id="9742" href="Algebra.Elgot.Stable.html#9589" class="Bound">f</a> <a id="9744" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9746" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9751" href="Algebra.Elgot.Stable.html#1658" class="Function Operator">]♯ˡ</a> <a id="9755" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="9757" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="9762" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="9768" class="Keyword">where</a>
<a id="9781" class="Keyword">open</a> <a id="9786" href="Algebra.Elgot.Stable.html#1438" class="Module">IsStableFreeElgotAlgebraˡ</a> <a id="9812" href="Algebra.Elgot.Stable.html#9570" class="Bound">isStableˡ</a>
<a id="9828" class="Keyword">open</a> <a id="9833" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="9844" href="Algebra.Elgot.Stable.html#9567" class="Bound">fe</a> <a id="9847" class="Keyword">using</a> <a id="9853" class="Symbol">(</a><a id="9854" href="Categories.FreeObjects.Free.html#854" class="Field">η</a><a id="9855" class="Symbol">)</a> <a id="9857" class="Keyword">renaming</a> <a id="9866" class="Symbol">(</a><a id="9867" href="Categories.FreeObjects.Free.html#838" class="Field">FX</a> <a id="9870" class="Symbol">to</a> <a id="9873" class="Field">FY</a><a id="9875" class="Symbol">)</a>
<a id="9883" class="Keyword">open</a> <a id="9888" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="9902" href="Algebra.Elgot.Stable.html#9586" class="Bound">B</a> <a id="9904" class="Keyword">using</a> <a id="9910" class="Symbol">()</a> <a id="9913" class="Keyword">renaming</a> <a id="9922" class="Symbol">(</a><a id="9923" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a> <a id="9926" class="Symbol">to</a> <a id="9929" class="Function Operator">_#ᵇ</a><a id="9932" class="Symbol">;</a> <a id="9934" href="Algebra.Elgot.html#2086" class="Function">#-Uniformity</a> <a id="9947" class="Symbol">to</a> <a id="9950" class="Function">#ᵇ-Uniformity</a><a id="9963" class="Symbol">)</a>
<a id="9971" class="Keyword">open</a> <a id="9976" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="9990" href="Algebra.Elgot.Stable.html#9873" class="Function">FY</a> <a id="9993" class="Keyword">using</a> <a id="9999" class="Symbol">(</a><a id="10000" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a><a id="10002" class="Symbol">)</a>
<a id="10010" href="Algebra.Elgot.Stable.html#10010" class="Function">helper₁</a> <a id="10018" class="Symbol">:</a> <a id="10020" href="Algebra.Elgot.Stable.html#9589" class="Bound">f</a> <a id="10022" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10024" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="10029" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="10031" class="Symbol">(</a><a id="10032" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10034" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10036" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="10040" class="Symbol">)</a> <a id="10042" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10044" class="Symbol">(</a><a id="10045" href="Categories.FreeObjects.Free.html#854" class="Function">η</a> <a id="10047" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10049" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10051" class="Symbol">)</a>
<a id="10059" href="Algebra.Elgot.Stable.html#10010" class="Function">helper₁</a> <a id="10067" class="Symbol">=</a> <a id="10069" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="10084" href="Algebra.Elgot.Stable.html#9589" class="Bound">f</a> <a id="10086" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10088" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="10093" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="10096" href="Algebra.Elgot.Stable.html#9593" class="Bound">g-law</a> <a id="10102" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="10110" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="10121" class="Symbol">(</a><a id="10122" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10124" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10126" class="Symbol">(</a><a id="10127" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="10130" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10132" href="Categories.FreeObjects.Free.html#854" class="Function">η</a><a id="10133" class="Symbol">))</a> <a id="10136" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10138" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="10143" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="10146" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="10152" class="Symbol">(</a><a id="10153" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="10157" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a><a id="10163" class="Symbol">)</a> <a id="10165" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="10176" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10178" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10180" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="10185" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10187" class="Symbol">(</a><a id="10188" href="Categories.FreeObjects.Free.html#854" class="Function">η</a> <a id="10190" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10192" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10194" class="Symbol">)</a> <a id="10196" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="10199" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="10209" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="10220" class="Symbol">(</a><a id="10221" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10223" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10225" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="10229" class="Symbol">)</a> <a id="10231" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10233" class="Symbol">(</a><a id="10234" href="Categories.FreeObjects.Free.html#854" class="Function">η</a> <a id="10236" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10238" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10240" class="Symbol">)</a> <a id="10242" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="10250" href="Algebra.Elgot.Stable.html#10250" class="Function">helper₂</a> <a id="10258" class="Symbol">:</a> <a id="10260" class="Symbol"></a> <a id="10262" class="Symbol">{</a><a id="10263" href="Algebra.Elgot.Stable.html#10263" class="Bound">Z</a> <a id="10265" class="Symbol">:</a> <a id="10267" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="10270" class="Symbol">}</a> <a id="10272" class="Symbol">(</a><a id="10273" href="Algebra.Elgot.Stable.html#10273" class="Bound">h</a> <a id="10275" class="Symbol">:</a> <a id="10277" href="Algebra.Elgot.Stable.html#10263" class="Bound">Z</a> <a id="10279" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="10281" href="Algebra.Elgot.html#16018" class="Field">Elgot-Algebra.A</a> <a id="10297" href="Algebra.Elgot.Stable.html#9873" class="Function">FY</a> <a id="10300" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="10302" href="Algebra.Elgot.Stable.html#10263" class="Bound">Z</a><a id="10303" class="Symbol">)</a> <a id="10305" class="Symbol"></a> <a id="10307" class="Symbol">(</a><a id="10308" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10310" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10312" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="10316" class="Symbol">)</a> <a id="10318" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10320" class="Symbol">(</a><a id="10321" href="Algebra.Elgot.Stable.html#10273" class="Bound">h</a> <a id="10323" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="10325" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10327" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10329" class="Symbol">)</a> <a id="10331" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="10333" class="Symbol">((</a><a id="10335" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10337" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10339" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="10344" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="10347" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10349" class="Symbol">)</a> <a id="10351" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10353" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="10367" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10369" class="Symbol">(</a><a id="10370" href="Algebra.Elgot.Stable.html#10273" class="Bound">h</a> <a id="10372" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10374" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10376" class="Symbol">))</a> <a id="10379" href="Algebra.Elgot.Stable.html#9929" class="Function Operator">#ᵇ</a>
<a id="10388" href="Algebra.Elgot.Stable.html#10250" class="Function">helper₂</a> <a id="10396" class="Symbol">{</a><a id="10397" href="Algebra.Elgot.Stable.html#10397" class="Bound">Z</a><a id="10398" class="Symbol">}</a> <a id="10400" href="Algebra.Elgot.Stable.html#10400" class="Bound">h</a> <a id="10402" class="Symbol">=</a> <a id="10404" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="10419" class="Symbol">(</a><a id="10420" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10422" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10424" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="10428" class="Symbol">)</a> <a id="10430" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10432" class="Symbol">(</a><a id="10433" href="Algebra.Elgot.Stable.html#10400" class="Bound">h</a> <a id="10435" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="10437" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10439" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10441" class="Symbol">)</a> <a id="10443" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="10446" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="10452" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a> <a id="10459" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="10470" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10472" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10474" class="Symbol">(</a><a id="10475" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="10478" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10480" href="Algebra.Elgot.Stable.html#10400" class="Bound">h</a> <a id="10482" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="10483" class="Symbol">)</a> <a id="10485" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10487" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="10492" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="10495" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="10501" class="Symbol">(</a><a id="10502" href="Algebra.Elgot.Stable.html#9599" class="Bound">g-preserving</a> <a id="10515" href="Algebra.Elgot.Stable.html#10400" class="Bound">h</a><a id="10516" class="Symbol">)</a> <a id="10518" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="10529" class="Symbol">((</a><a id="10531" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10533" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="10536" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10538" class="Symbol">)</a> <a id="10540" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10542" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="10556" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10558" class="Symbol">(</a><a id="10559" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="10562" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10564" href="Algebra.Elgot.Stable.html#10400" class="Bound">h</a><a id="10565" class="Symbol">))</a> <a id="10568" href="Algebra.Elgot.Stable.html#9929" class="Function Operator">#ᵇ</a> <a id="10571" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10573" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="10578" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="10581" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="10585" class="Symbol">(</a><a id="10586" href="Algebra.Elgot.Stable.html#9950" class="Function">#ᵇ-Uniformity</a> <a id="10600" href="Algebra.Elgot.Stable.html#10698" class="Function">uni-helper</a><a id="10610" class="Symbol">)</a> <a id="10612" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="10623" class="Symbol">((</a><a id="10625" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10627" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10629" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="10634" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="10637" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10639" class="Symbol">)</a> <a id="10641" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10643" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="10657" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10659" class="Symbol">(</a><a id="10660" href="Algebra.Elgot.Stable.html#10400" class="Bound">h</a> <a id="10662" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10664" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10666" class="Symbol">))</a> <a id="10669" href="Algebra.Elgot.Stable.html#9929" class="Function Operator">#ᵇ</a> <a id="10672" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="10682" class="Keyword">where</a>
<a id="10698" href="Algebra.Elgot.Stable.html#10698" class="Function">uni-helper</a> <a id="10709" class="Symbol">:</a> <a id="10711" class="Symbol">(</a><a id="10712" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="10715" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="10718" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a><a id="10722" class="Symbol">)</a> <a id="10724" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10726" class="Symbol">(</a><a id="10727" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10729" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10731" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a> <a id="10736" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="10739" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10741" class="Symbol">)</a> <a id="10743" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10745" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="10759" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10761" class="Symbol">(</a><a id="10762" href="Algebra.Elgot.Stable.html#10400" class="Bound">h</a> <a id="10764" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10766" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10768" class="Symbol">)</a> <a id="10770" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="10772" class="Symbol">((</a><a id="10774" href="Algebra.Elgot.Stable.html#9591" class="Bound">g</a> <a id="10776" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="10779" href="Categories.Category.Core.html#630" class="Function">id</a><a id="10781" class="Symbol">)</a> <a id="10783" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10785" href="Categories.Category.Distributive.html#3168" class="Function">distributeˡ⁻¹</a> <a id="10799" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10801" class="Symbol">(</a><a id="10802" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="10805" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="10807" href="Algebra.Elgot.Stable.html#10400" class="Bound">h</a><a id="10808" class="Symbol">))</a> <a id="10811" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="10813" href="Categories.Category.BinaryProducts.html#2048" class="Function">swap</a>
<a id="10828" href="Algebra.Elgot.Stable.html#10698" class="Function">uni-helper</a> <a id="10839" class="Symbol">=</a> <a id="10841" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="10847" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a> <a id="10853" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="10855" class="Symbol">(</a><a id="10856" href="Categories.Category.Cocartesian.html#2622" class="Function">+₁-cong₂</a> <a id="10865" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a> <a id="10875" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a><a id="10882" class="Symbol">)</a> <a id="10884" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="10892" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="10894" class="Symbol">(</a><a id="10895" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="10899" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a><a id="10904" class="Symbol">)</a> <a id="10906" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="10914" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="10916" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="10922" class="Symbol">(</a><a id="10923" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="10929" class="Symbol">(</a><a id="10930" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="10934" href="Categories.Category.Distributive.Properties.html#5762" class="Function">distributeˡ⁻¹∘swap</a><a id="10952" class="Symbol">))</a> <a id="10955" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="10957" class="Symbol">(</a><a id="10958" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="10966" class="Symbol">(</a><a id="10967" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="10973" href="Categories.Category.BinaryProducts.html#4512" class="Function">swap∘⁂</a> <a id="10980" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="10982" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a><a id="10991" class="Symbol">))</a> <a id="10994" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="10996" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a>
<a id="11009" class="Keyword">record</a> <a id="StableFreeElgotAlgebra"></a><a id="11016" href="Algebra.Elgot.Stable.html#11016" class="Record">StableFreeElgotAlgebra</a> <a id="11039" class="Symbol">:</a> <a id="11041" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="11045" class="Symbol">(</a><a id="11046" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="11050" href="Algebra.Elgot.Stable.html#788" class="Bound">o</a> <a id="11052" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="11054" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="11058" href="Algebra.Elgot.Stable.html#790" class="Bound"></a> <a id="11060" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="11062" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="11066" href="Algebra.Elgot.Stable.html#792" class="Bound">e</a><a id="11067" class="Symbol">)</a> <a id="11069" class="Keyword">where</a>
<a id="11080" class="Keyword">field</a>
<a id="StableFreeElgotAlgebra.Y"></a><a id="11092" href="Algebra.Elgot.Stable.html#11092" class="Field">Y</a> <a id="11094" class="Symbol">:</a> <a id="11096" href="Categories.Category.Core.html#559" class="Function">Obj</a>
<a id="StableFreeElgotAlgebra.freeElgot"></a><a id="11106" href="Algebra.Elgot.Stable.html#11106" class="Field">freeElgot</a> <a id="11116" class="Symbol">:</a> <a id="11118" href="Algebra.Elgot.Free.html#1441" class="Function">FreeElgotAlgebra</a> <a id="11135" href="Algebra.Elgot.Stable.html#11092" class="Field">Y</a>
<a id="StableFreeElgotAlgebra.isStableFreeElgotAlgebra"></a><a id="11143" href="Algebra.Elgot.Stable.html#11143" class="Field">isStableFreeElgotAlgebra</a> <a id="11168" class="Symbol">:</a> <a id="11170" href="Algebra.Elgot.Stable.html#2437" class="Record">IsStableFreeElgotAlgebra</a> <a id="11195" href="Algebra.Elgot.Stable.html#11106" class="Field">freeElgot</a>
<a id="11214" class="Keyword">open</a> <a id="11219" href="Algebra.Elgot.Stable.html#2437" class="Module">IsStableFreeElgotAlgebra</a> <a id="11244" href="Algebra.Elgot.Stable.html#11143" class="Field">isStableFreeElgotAlgebra</a> <a id="11269" class="Keyword">public</a>
</pre>
</body>
</html>