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

112 lines
65 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.Properties</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="9" class="Keyword">open</a> <a id="14" class="Keyword">import</a> <a id="21" href="Level.html" class="Module">Level</a>
<a id="27" class="Keyword">open</a> <a id="32" class="Keyword">import</a> <a id="39" href="Categories.FreeObjects.Free.html" class="Module">Categories.FreeObjects.Free</a>
<a id="67" class="Keyword">open</a> <a id="72" class="Keyword">import</a> <a id="79" href="Categories.Functor.Core.html" class="Module">Categories.Functor.Core</a>
<a id="103" class="Keyword">open</a> <a id="108" class="Keyword">import</a> <a id="115" href="Categories.Functor.Algebra.html" class="Module">Categories.Functor.Algebra</a>
<a id="142" class="Keyword">open</a> <a id="147" class="Keyword">import</a> <a id="154" href="Categories.Functor.Coalgebra.html" class="Module">Categories.Functor.Coalgebra</a>
<a id="183" class="Keyword">open</a> <a id="188" class="Keyword">import</a> <a id="195" href="Categories.Object.Terminal.html" class="Module">Categories.Object.Terminal</a>
<a id="222" class="Keyword">open</a> <a id="227" class="Keyword">import</a> <a id="234" href="Categories.Object.Exponential.html" class="Module">Categories.Object.Exponential</a>
<a id="264" class="Keyword">open</a> <a id="269" class="Keyword">import</a> <a id="276" href="Categories.Category.Core.html" class="Module">Categories.Category.Core</a> <a id="301" class="Keyword">using</a> <a id="307" class="Symbol">(</a><a id="308" href="Categories.Category.Core.html#442" class="Record">Category</a><a id="316" class="Symbol">)</a>
<a id="318" class="Keyword">open</a> <a id="323" class="Keyword">import</a> <a id="330" href="Categories.Category.Distributive.html" class="Module">Categories.Category.Distributive</a> <a id="363" class="Keyword">using</a> <a id="369" class="Symbol">(</a><a id="370" href="Categories.Category.Distributive.html#712" class="Record">Distributive</a><a id="382" class="Symbol">)</a>
<a id="384" class="Keyword">open</a> <a id="389" class="Keyword">import</a> <a id="396" href="Categories.Category.CartesianClosed.html" class="Module">Categories.Category.CartesianClosed</a> <a id="432" class="Keyword">using</a> <a id="438" class="Symbol">(</a><a id="439" href="Categories.Category.CartesianClosed.html#1233" class="Record">CartesianClosed</a><a id="454" class="Symbol">)</a>
<a id="456" class="Keyword">open</a> <a id="461" class="Keyword">import</a> <a id="468" href="Categories.Category.Cocartesian.html" class="Module">Categories.Category.Cocartesian</a> <a id="500" class="Keyword">using</a> <a id="506" class="Symbol">(</a><a id="507" href="Categories.Category.Cocartesian.html#3385" class="Record">Cocartesian</a><a id="518" class="Symbol">)</a>
<a id="520" class="Keyword">open</a> <a id="525" class="Keyword">import</a> <a id="532" href="Categories.Category.Cartesian.html" class="Module">Categories.Category.Cartesian</a> <a id="562" class="Keyword">using</a> <a id="568" class="Symbol">(</a><a id="569" href="Categories.Category.Cartesian.html#727" class="Record">Cartesian</a><a id="578" class="Symbol">)</a>
<a id="580" class="Keyword">open</a> <a id="585" class="Keyword">import</a> <a id="592" href="Categories.Category.BinaryProducts.html" class="Module">Categories.Category.BinaryProducts</a> <a id="627" class="Keyword">using</a> <a id="633" class="Symbol">(</a><a id="634" href="Categories.Category.BinaryProducts.html#848" class="Record">BinaryProducts</a><a id="648" class="Symbol">)</a>
<a id="651" class="Keyword">import</a> <a id="658" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="678" class="Symbol">as</a> <a id="681" class="Module">M</a>
<a id="683" class="Keyword">import</a> <a id="690" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="720" class="Symbol">as</a> <a id="723" class="Module">MR</a>
</pre>
<p>In a CCC free elgot algebras are automatically stable.</p>
<pre class="Agda"><a id="795" class="Keyword">module</a> <a id="802" href="Algebra.Elgot.Properties.html" class="Module">Algebra.Elgot.Properties</a> <a id="827" class="Symbol">{</a><a id="828" href="Algebra.Elgot.Properties.html#828" class="Bound">o</a> <a id="830" href="Algebra.Elgot.Properties.html#830" class="Bound"></a> <a id="832" href="Algebra.Elgot.Properties.html#832" class="Bound">e</a><a id="833" class="Symbol">}</a> <a id="835" class="Symbol">{</a><a id="836" href="Algebra.Elgot.Properties.html#836" class="Bound">C</a> <a id="838" class="Symbol">:</a> <a id="840" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="849" href="Algebra.Elgot.Properties.html#828" class="Bound">o</a> <a id="851" href="Algebra.Elgot.Properties.html#830" class="Bound"></a> <a id="853" href="Algebra.Elgot.Properties.html#832" class="Bound">e</a><a id="854" class="Symbol">}</a> <a id="856" class="Symbol">(</a><a id="857" href="Algebra.Elgot.Properties.html#857" class="Bound">distributive</a> <a id="870" class="Symbol">:</a> <a id="872" href="Categories.Category.Distributive.html#712" class="Record">Distributive</a> <a id="885" href="Algebra.Elgot.Properties.html#836" class="Bound">C</a><a id="886" class="Symbol">)</a> <a id="888" class="Symbol">(</a><a id="889" href="Algebra.Elgot.Properties.html#889" class="Bound">expos</a> <a id="895" class="Symbol">:</a> <a id="897" class="Symbol"></a> <a id="899" class="Symbol">{</a><a id="900" href="Algebra.Elgot.Properties.html#900" class="Bound">A</a> <a id="902" href="Algebra.Elgot.Properties.html#902" class="Bound">B</a><a id="903" class="Symbol">}</a> <a id="905" class="Symbol"></a> <a id="907" href="Categories.Object.Exponential.html#583" class="Record">Exponential</a> <a id="919" href="Algebra.Elgot.Properties.html#836" class="Bound">C</a> <a id="921" href="Algebra.Elgot.Properties.html#900" class="Bound">A</a> <a id="923" href="Algebra.Elgot.Properties.html#902" class="Bound">B</a><a id="924" class="Symbol">)</a> <a id="926" class="Keyword">where</a>
<a id="934" class="Keyword">open</a> <a id="939" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="948" href="Algebra.Elgot.Properties.html#836" class="Bound">C</a>
<a id="952" class="Keyword">open</a> <a id="957" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="972" class="Keyword">open</a> <a id="977" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
<a id="985" class="Keyword">open</a> <a id="990" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="993" href="Algebra.Elgot.Properties.html#836" class="Bound">C</a>
<a id="997" class="Keyword">open</a> <a id="1002" href="Categories.Category.Distributive.html#712" class="Module">Distributive</a> <a id="1015" href="Algebra.Elgot.Properties.html#857" class="Bound">distributive</a>
<a id="1030" class="Keyword">open</a> <a id="1035" class="Keyword">import</a> <a id="1042" href="Categories.Category.Distributive.Properties.html" class="Module">Categories.Category.Distributive.Properties</a> <a id="1086" href="Algebra.Elgot.Properties.html#857" class="Bound">distributive</a>
<a id="1101" class="Keyword">open</a> <a id="1106" href="Categories.Category.Cartesian.html#727" class="Module">Cartesian</a> <a id="1116" href="Categories.Category.Distributive.html#765" class="Function">cartesian</a>
<a id="1128" class="Keyword">open</a> <a id="1133" href="Categories.Category.BinaryProducts.html#848" class="Module">BinaryProducts</a> <a id="1148" href="Categories.Category.Cartesian.html#801" class="Function">products</a> <a id="1157" class="Keyword">hiding</a> <a id="1164" class="Symbol">(</a><a id="1165" href="Categories.Object.Product.Core.html#797" class="Function">η</a><a id="1166" class="Symbol">)</a> <a id="1168" class="Keyword">renaming</a> <a id="1177" class="Symbol">(</a><a id="1178" href="Categories.Object.Product.Core.html#671" class="Function">unique</a> <a id="1185" class="Symbol">to</a> <a id="1188" class="Function">⟨⟩-unique</a><a id="1197" class="Symbol">)</a>
<a id="1201" class="Keyword">open</a> <a id="1206" href="Categories.Category.Cocartesian.html#3385" class="Module">Cocartesian</a> <a id="1218" href="Categories.Category.Distributive.html#793" class="Function">cocartesian</a>
<a id="1232" class="Keyword">private</a>
<a id="ccc"></a><a id="1244" href="Algebra.Elgot.Properties.html#1244" class="Function">ccc</a> <a id="1248" class="Symbol">:</a> <a id="1250" href="Categories.Category.CartesianClosed.html#1233" class="Record">CartesianClosed</a> <a id="1266" href="Algebra.Elgot.Properties.html#836" class="Bound">C</a>
<a id="1272" href="Algebra.Elgot.Properties.html#1244" class="Function">ccc</a> <a id="1276" class="Symbol">=</a> <a id="1278" class="Keyword">record</a> <a id="1285" class="Symbol">{</a> <a id="1287" href="Categories.Category.CartesianClosed.html#1408" class="Field">cartesian</a> <a id="1297" class="Symbol">=</a> <a id="1299" href="Categories.Category.Distributive.html#765" class="Function">cartesian</a> <a id="1309" class="Symbol">;</a> <a id="1311" href="Categories.Category.CartesianClosed.html#1434" class="Field">exp</a> <a id="1315" class="Symbol">=</a> <a id="1317" href="Algebra.Elgot.Properties.html#889" class="Bound">expos</a> <a id="1323" class="Symbol">}</a>
<a id="1328" class="Keyword">open</a> <a id="1333" href="Categories.Category.CartesianClosed.html#1233" class="Module">CartesianClosed</a> <a id="1349" href="Algebra.Elgot.Properties.html#1244" class="Function">ccc</a> <a id="1353" class="Keyword">hiding</a> <a id="1360" class="Symbol">(</a><a id="1361" href="Categories.Category.CartesianClosed.html#1434" class="Field">exp</a><a id="1364" class="Symbol">;</a> <a id="1366" href="Categories.Category.CartesianClosed.html#1408" class="Field">cartesian</a><a id="1375" class="Symbol">)</a>
<a id="1380" class="Keyword">open</a> <a id="1385" class="Keyword">import</a> <a id="1392" href="Category.Construction.ElgotAlgebras.html" class="Module">Category.Construction.ElgotAlgebras</a> <a id="1428" href="Categories.Category.Distributive.html#793" class="Function">cocartesian</a>
<a id="1442" class="Keyword">open</a> <a id="1447" class="Keyword">import</a> <a id="1454" href="Category.Construction.ElgotAlgebras.Exponentials.html" class="Module">Category.Construction.ElgotAlgebras.Exponentials</a> <a id="1503" href="Algebra.Elgot.Properties.html#857" class="Bound">distributive</a> <a id="1516" href="Algebra.Elgot.Properties.html#889" class="Bound">expos</a>
<a id="1524" class="Keyword">open</a> <a id="1529" class="Keyword">import</a> <a id="1536" href="Algebra.Elgot.html" class="Module">Algebra.Elgot</a> <a id="1550" href="Categories.Category.Distributive.html#793" class="Function">cocartesian</a>
<a id="1564" class="Keyword">open</a> <a id="1569" class="Keyword">import</a> <a id="1576" href="Algebra.Elgot.Free.html" class="Module">Algebra.Elgot.Free</a> <a id="1595" href="Categories.Category.Distributive.html#793" class="Function">cocartesian</a>
<a id="1609" class="Keyword">open</a> <a id="1614" class="Keyword">import</a> <a id="1621" href="Algebra.Elgot.Stable.html" class="Module">Algebra.Elgot.Stable</a> <a id="1642" href="Algebra.Elgot.Properties.html#857" class="Bound">distributive</a>
<a id="1658" class="Keyword">open</a> <a id="1663" href="Category.Construction.ElgotAlgebras.html#727" class="Module">Elgot-Algebra-Morphism</a> <a id="1686" class="Keyword">renaming</a> <a id="1695" class="Symbol">(</a><a id="1696" href="Category.Construction.ElgotAlgebras.html#794" class="Field">h</a> <a id="1698" class="Symbol">to</a> <a id="1701" class="Field">&lt;_&gt;</a><a id="1704" class="Symbol">)</a>
<a id="free-isStableˡ"></a><a id="1709" href="Algebra.Elgot.Properties.html#1709" class="Function">free-isStableˡ</a> <a id="1724" class="Symbol">:</a> <a id="1726" class="Symbol"></a> <a id="1728" class="Symbol">{</a><a id="1729" href="Algebra.Elgot.Properties.html#1729" class="Bound">Y</a><a id="1730" class="Symbol">}</a> <a id="1732" class="Symbol">(</a><a id="1733" href="Algebra.Elgot.Properties.html#1733" class="Bound">fe</a> <a id="1736" class="Symbol">:</a> <a id="1738" href="Algebra.Elgot.Free.html#1441" class="Function">FreeElgotAlgebra</a> <a id="1755" href="Algebra.Elgot.Properties.html#1729" class="Bound">Y</a><a id="1756" class="Symbol">)</a> <a id="1758" class="Symbol"></a> <a id="1760" href="Algebra.Elgot.Stable.html#1438" class="Record">IsStableFreeElgotAlgebraˡ</a> <a id="1786" href="Algebra.Elgot.Properties.html#1733" class="Bound">fe</a>
<a id="1791" href="Algebra.Elgot.Stable.html#1658" class="Field Operator">IsStableFreeElgotAlgebraˡ.[_,_]♯ˡ</a> <a id="1825" class="Symbol">(</a><a id="1826" href="Algebra.Elgot.Properties.html#1709" class="Function">free-isStableˡ</a> <a id="1841" class="Symbol">{</a><a id="1842" href="Algebra.Elgot.Properties.html#1842" class="Bound">Y</a><a id="1843" class="Symbol">}</a> <a id="1845" href="Algebra.Elgot.Properties.html#1845" class="Bound">fe</a><a id="1847" class="Symbol">)</a> <a id="1849" class="Symbol">{</a><a id="1850" href="Algebra.Elgot.Properties.html#1850" class="Bound">X</a><a id="1851" class="Symbol">}</a> <a id="1853" href="Algebra.Elgot.Properties.html#1853" class="Bound">A</a> <a id="1855" href="Algebra.Elgot.Properties.html#1855" class="Bound">f</a> <a id="1857" class="Symbol">=</a> <a id="1859" class="Symbol">(</a><a id="1860" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="1866" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="1868" class="Symbol">(</a><a id="1869" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="1871" href="Categories.FreeObjects.Free.html#880" class="Field Operator">FreeObject._*</a> <a id="1885" href="Algebra.Elgot.Properties.html#1845" class="Bound">fe</a> <a id="1888" class="Symbol">{</a><a id="1889" href="Category.Construction.ElgotAlgebras.Exponentials.html#1639" class="Function">Exponential-Elgot-Algebra</a> <a id="1915" class="Symbol">{</a><a id="1916" href="Algebra.Elgot.Properties.html#1853" class="Bound">A</a><a id="1917" class="Symbol">}</a> <a id="1919" class="Symbol">{</a><a id="1920" href="Algebra.Elgot.Properties.html#1850" class="Bound">X</a><a id="1921" class="Symbol">}}</a> <a id="1924" class="Symbol">(</a><a id="1925" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="1928" href="Algebra.Elgot.Properties.html#1855" class="Bound">f</a><a id="1929" class="Symbol">)</a> <a id="1931" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="1933" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="1935" href="Categories.Category.Core.html#630" class="Function">id</a><a id="1937" class="Symbol">))</a>
<a id="1944" class="Keyword">where</a> <a id="1950" class="Keyword">open</a> <a id="1955" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="1966" href="Algebra.Elgot.Properties.html#1845" class="Bound">fe</a>
<a id="1971" href="Algebra.Elgot.Stable.html#1783" class="Field">IsStableFreeElgotAlgebraˡ.♯ˡ-law</a> <a id="2004" class="Symbol">(</a><a id="2005" href="Algebra.Elgot.Properties.html#1709" class="Function">free-isStableˡ</a> <a id="2020" class="Symbol">{</a><a id="2021" href="Algebra.Elgot.Properties.html#2021" class="Bound">Y</a><a id="2022" class="Symbol">}</a> <a id="2024" href="Algebra.Elgot.Properties.html#2024" class="Bound">fe</a><a id="2026" class="Symbol">)</a> <a id="2028" class="Symbol">{</a><a id="2029" href="Algebra.Elgot.Properties.html#2029" class="Bound">X</a><a id="2030" class="Symbol">}</a> <a id="2032" class="Symbol">{</a><a id="2033" href="Algebra.Elgot.Properties.html#2033" class="Bound">A</a><a id="2034" class="Symbol">}</a> <a id="2036" href="Algebra.Elgot.Properties.html#2036" class="Bound">f</a> <a id="2038" class="Symbol">=</a> <a id="2040" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="2044" class="Symbol">(</a><a id="2045" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="2056" class="Symbol">(</a><a id="2057" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="2063" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2065" class="Symbol">(</a><a id="2066" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="2068" class="Symbol">(</a><a id="2069" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="2072" href="Algebra.Elgot.Properties.html#2036" class="Bound">f</a><a id="2073" class="Symbol">)</a><a id="2074" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="2076" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="2078" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2080" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2082" class="Symbol">))</a> <a id="2085" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2087" class="Symbol">(</a><a id="2088" href="Categories.FreeObjects.Free.html#854" class="Function">η</a> <a id="2090" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2092" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2094" class="Symbol">)</a> <a id="2096" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2099" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="2105" href="Categories.Category.BinaryProducts.html#2881" class="Function">⁂∘⁂</a> <a id="2109" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2116" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="2122" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2124" class="Symbol">((</a><a id="2126" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="2128" class="Symbol">(</a><a id="2129" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="2132" href="Algebra.Elgot.Properties.html#2036" class="Bound">f</a><a id="2133" class="Symbol">)</a><a id="2134" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="2136" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="2138" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2140" href="Categories.FreeObjects.Free.html#854" class="Function">η</a><a id="2141" class="Symbol">)</a> <a id="2143" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2145" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="2148" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2150" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2152" class="Symbol">)</a> <a id="2156" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2159" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="2167" class="Symbol">(</a><a id="2168" href="Categories.Category.BinaryProducts.html#2515" class="Function">⁂-cong₂</a> <a id="2176" class="Symbol">(</a><a id="2177" href="Categories.FreeObjects.Free.html#937" class="Function">*-lift</a> <a id="2184" class="Symbol">(</a><a id="2185" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="2188" href="Algebra.Elgot.Properties.html#2036" class="Bound">f</a><a id="2189" class="Symbol">))</a> <a id="2192" href="Categories.Category.Core.html#1339" class="Function">identity²</a><a id="2201" class="Symbol">)</a> <a id="2203" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2210" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="2216" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2218" class="Symbol">(</a><a id="2219" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="2222" href="Algebra.Elgot.Properties.html#2036" class="Bound">f</a> <a id="2224" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2226" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2228" class="Symbol">)</a> <a id="2250" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2253" href="Categories.Category.CartesianClosed.html#4217" class="Function">β′</a> <a id="2256" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2263" href="Algebra.Elgot.Properties.html#2036" class="Bound">f</a> <a id="2303" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a><a id="2304" class="Symbol">)</a>
<a id="2310" class="Keyword">where</a> <a id="2316" class="Keyword">open</a> <a id="2321" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="2332" href="Algebra.Elgot.Properties.html#2024" class="Bound">fe</a>
<a id="2337" href="Algebra.Elgot.Stable.html#1891" class="Field">IsStableFreeElgotAlgebraˡ.♯ˡ-preserving</a> <a id="2377" class="Symbol">(</a><a id="2378" href="Algebra.Elgot.Properties.html#1709" class="Function">free-isStableˡ</a> <a id="2393" class="Symbol">{</a><a id="2394" href="Algebra.Elgot.Properties.html#2394" class="Bound">Y</a><a id="2395" class="Symbol">}</a> <a id="2397" href="Algebra.Elgot.Properties.html#2397" class="Bound">fe</a><a id="2399" class="Symbol">)</a> <a id="2401" class="Symbol">{</a><a id="2402" href="Algebra.Elgot.Properties.html#2402" class="Bound">X</a><a id="2403" class="Symbol">}</a> <a id="2405" class="Symbol">{</a><a id="2406" href="Algebra.Elgot.Properties.html#2406" class="Bound">B</a><a id="2407" class="Symbol">}</a> <a id="2409" href="Algebra.Elgot.Properties.html#2409" class="Bound">f</a> <a id="2411" class="Symbol">{</a><a id="2412" href="Algebra.Elgot.Properties.html#2412" class="Bound">Z</a><a id="2413" class="Symbol">}</a> <a id="2415" href="Algebra.Elgot.Properties.html#2415" class="Bound">h</a> <a id="2417" class="Symbol">=</a> <a id="2419" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="2430" class="Symbol">(</a><a id="2431" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="2437" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2439" class="Symbol">(</a><a id="2440" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="2442" class="Symbol">(</a><a id="2443" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="2446" href="Algebra.Elgot.Properties.html#2409" class="Bound">f</a><a id="2447" class="Symbol">)</a><a id="2448" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="2450" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="2452" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2454" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2456" class="Symbol">))</a> <a id="2459" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2461" class="Symbol">(</a><a id="2462" href="Algebra.Elgot.Properties.html#2415" class="Bound">h</a> <a id="2464" href="Algebra.Elgot.Properties.html#3589" class="Function Operator"></a> <a id="2467" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2469" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2471" class="Symbol">)</a> <a id="2518" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2521" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="2527" href="Categories.Category.BinaryProducts.html#2881" class="Function">⁂∘⁂</a> <a id="2531" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2538" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="2544" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2546" class="Symbol">(</a><a id="2547" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="2549" class="Symbol">(</a><a id="2550" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="2553" href="Algebra.Elgot.Properties.html#2409" class="Bound">f</a><a id="2554" class="Symbol">)</a><a id="2555" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="2557" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="2559" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2561" href="Algebra.Elgot.Properties.html#2415" class="Bound">h</a> <a id="2563" href="Algebra.Elgot.Properties.html#3589" class="Function Operator"></a> <a id="2566" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2568" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="2571" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2573" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2575" class="Symbol">)</a> <a id="2626" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2629" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="2637" class="Symbol">(</a><a id="2638" href="Categories.Category.BinaryProducts.html#2515" class="Function">⁂-cong₂</a> <a id="2646" class="Symbol">(</a><a id="2647" href="Category.Construction.ElgotAlgebras.html#812" class="Field">preserves</a> <a id="2657" class="Symbol">((</a><a id="2659" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="2662" href="Algebra.Elgot.Properties.html#2409" class="Bound">f</a><a id="2663" class="Symbol">)</a><a id="2664" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a><a id="2665" class="Symbol">))</a> <a id="2668" href="Categories.Category.Core.html#1339" class="Function">identity²</a><a id="2677" class="Symbol">)</a> <a id="2679" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2686" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="2692" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2694" class="Symbol">(</a><a id="2695" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="2698" class="Symbol">(((</a><a id="2701" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="2707" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="2710" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2712" class="Symbol">)</a> <a id="2714" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2716" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="2730" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2732" class="Symbol">((</a><a id="2734" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="2736" class="Symbol">(</a><a id="2737" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="2740" href="Algebra.Elgot.Properties.html#2409" class="Bound">f</a><a id="2741" class="Symbol">)</a><a id="2742" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="2744" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="2746" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="2749" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2751" class="Symbol">)</a> <a id="2753" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2755" href="Algebra.Elgot.Properties.html#2415" class="Bound">h</a> <a id="2757" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2759" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2761" class="Symbol">))</a> <a id="2764" href="Algebra.Elgot.Properties.html#3508" class="Function Operator">#ᵇ</a><a id="2766" class="Symbol">)</a> <a id="2768" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2770" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2772" class="Symbol">)</a> <a id="2774" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2777" href="Categories.Category.CartesianClosed.html#4217" class="Function">β′</a> <a id="2780" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2787" class="Symbol">((</a><a id="2789" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="2795" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="2798" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2800" class="Symbol">)</a> <a id="2802" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2804" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="2818" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2820" class="Symbol">((</a><a id="2822" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="2824" class="Symbol">(</a><a id="2825" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="2828" href="Algebra.Elgot.Properties.html#2409" class="Bound">f</a><a id="2829" class="Symbol">)</a><a id="2830" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="2832" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="2834" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="2837" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2839" class="Symbol">)</a> <a id="2841" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2843" href="Algebra.Elgot.Properties.html#2415" class="Bound">h</a> <a id="2845" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="2847" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2849" class="Symbol">))</a> <a id="2852" href="Algebra.Elgot.Properties.html#3508" class="Function Operator">#ᵇ</a> <a id="2875" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="2879" href="Algebra.Elgot.Properties.html#3525" class="Function">#ᵇ-resp-≈</a> <a id="2889" class="Symbol">(</a><a id="2890" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="2898" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="2906" class="Symbol">(</a><a id="2907" href="Categories.Category.BinaryProducts.html#2881" class="Function">⁂∘⁂</a> <a id="2911" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="2913" href="Categories.Category.BinaryProducts.html#2515" class="Function">⁂-cong₂</a> <a id="2921" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="2926" href="Categories.Category.Core.html#1339" class="Function">identity²</a><a id="2935" class="Symbol">))</a> <a id="2938" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="2945" class="Symbol">((</a><a id="2947" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="2953" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="2956" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2958" class="Symbol">)</a> <a id="2960" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2962" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="2976" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="2978" class="Symbol">((</a><a id="2980" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="2982" class="Symbol">(</a><a id="2983" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="2986" href="Algebra.Elgot.Properties.html#2409" class="Bound">f</a><a id="2987" class="Symbol">)</a><a id="2988" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="2990" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="2992" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="2995" href="Categories.Category.Core.html#630" class="Function">id</a><a id="2997" class="Symbol">)</a> <a id="2999" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3001" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3003" class="Symbol">)</a> <a id="3005" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3007" class="Symbol">(</a><a id="3008" href="Algebra.Elgot.Properties.html#2415" class="Bound">h</a> <a id="3010" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3012" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3014" class="Symbol">))</a> <a id="3017" href="Algebra.Elgot.Properties.html#3508" class="Function Operator">#ᵇ</a> <a id="3033" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3036" href="Algebra.Elgot.Properties.html#3525" class="Function">#ᵇ-resp-≈</a> <a id="3046" class="Symbol">(</a><a id="3047" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="3055" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="3061" class="Symbol">(</a><a id="3062" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="3066" class="Symbol">(</a><a id="3067" href="Categories.Category.Distributive.Properties.html#4502" class="Function">distributeʳ⁻¹-natural</a> <a id="3089" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="3092" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="3094" class="Symbol">(</a><a id="3095" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="3098" href="Algebra.Elgot.Properties.html#2409" class="Bound">f</a><a id="3099" class="Symbol">)</a> <a id="3101" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="3103" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="3105" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3107" class="Symbol">)))</a> <a id="3111" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="3118" class="Symbol">((</a><a id="3120" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="3126" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="3129" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3131" class="Symbol">)</a> <a id="3133" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3135" class="Symbol">((</a><a id="3137" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="3139" class="Symbol">(</a><a id="3140" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="3143" href="Algebra.Elgot.Properties.html#2409" class="Bound">f</a><a id="3144" class="Symbol">)</a><a id="3145" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="3147" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="3149" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3151" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="3154" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="3157" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="3160" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3162" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3164" class="Symbol">)</a> <a id="3166" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3168" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a><a id="3181" class="Symbol">)</a> <a id="3183" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3185" class="Symbol">(</a><a id="3186" href="Algebra.Elgot.Properties.html#2415" class="Bound">h</a> <a id="3188" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3190" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3192" class="Symbol">))</a> <a id="3195" href="Algebra.Elgot.Properties.html#3508" class="Function Operator">#ᵇ</a> <a id="3206" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3209" href="Algebra.Elgot.Properties.html#3525" class="Function">#ᵇ-resp-≈</a> <a id="3219" class="Symbol">(</a><a id="3220" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="3228" href="Categories.Category.Core.html#715" class="Function">assoc</a> <a id="3234" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="3236" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="3242" class="Symbol">(</a><a id="3243" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a> <a id="3249" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="3251" href="Categories.Category.Cocartesian.html#2622" class="Function">+₁-cong₂</a> <a id="3260" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="3265" class="Symbol">(</a><a id="3266" href="Categories.Morphism.Reasoning.Core.html#2786" class="Function">elimʳ</a> <a id="3272" class="Symbol">(</a><a id="3273" href="Algebra.Elgot.Properties.html#1188" class="Function">⟨⟩-unique</a> <a id="3283" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a> <a id="3291" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a><a id="3298" class="Symbol">))))</a> <a id="3303" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="3310" class="Symbol">((</a><a id="3312" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="3318" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3320" class="Symbol">(</a><a id="3321" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="3323" class="Symbol">(</a><a id="3324" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="3327" href="Algebra.Elgot.Properties.html#2409" class="Bound">f</a><a id="3328" class="Symbol">)</a><a id="3329" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="3331" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="3333" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3335" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3337" class="Symbol">)</a> <a id="3339" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="3342" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3344" class="Symbol">)</a> <a id="3346" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3348" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="3362" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3364" class="Symbol">(</a><a id="3365" href="Algebra.Elgot.Properties.html#2415" class="Bound">h</a> <a id="3367" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3369" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3371" class="Symbol">))</a> <a id="3374" href="Algebra.Elgot.Properties.html#3508" class="Function Operator">#ᵇ</a> <a id="3398" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="3404" class="Keyword">where</a>
<a id="3417" class="Keyword">open</a> <a id="3422" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="3433" href="Algebra.Elgot.Properties.html#2397" class="Bound">fe</a> <a id="3436" class="Keyword">renaming</a> <a id="3445" class="Symbol">(</a><a id="3446" href="Categories.FreeObjects.Free.html#838" class="Field">FX</a> <a id="3449" class="Symbol">to</a> <a id="3452" class="Field">KY</a><a id="3454" class="Symbol">)</a>
<a id="3462" class="Keyword">open</a> <a id="3467" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="3481" href="Algebra.Elgot.Properties.html#2406" class="Bound">B</a> <a id="3483" class="Keyword">using</a> <a id="3489" class="Symbol">()</a> <a id="3492" class="Keyword">renaming</a> <a id="3501" class="Symbol">(</a><a id="3502" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a> <a id="3505" class="Symbol">to</a> <a id="3508" class="Function Operator">_#ᵇ</a><a id="3511" class="Symbol">;</a> <a id="3513" href="Algebra.Elgot.html#2331" class="Function">#-resp-≈</a> <a id="3522" class="Symbol">to</a> <a id="3525" class="Function">#ᵇ-resp-≈</a><a id="3534" class="Symbol">)</a>
<a id="3542" class="Keyword">open</a> <a id="3547" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="3561" href="Algebra.Elgot.Properties.html#3452" class="Function">KY</a> <a id="3564" class="Keyword">using</a> <a id="3570" class="Symbol">()</a> <a id="3573" class="Keyword">renaming</a> <a id="3582" class="Symbol">(</a><a id="3583" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a> <a id="3586" class="Symbol">to</a> <a id="3589" class="Function Operator">_#ʸ</a><a id="3592" class="Symbol">)</a>
<a id="3596" href="Algebra.Elgot.Stable.html#2117" class="Field">IsStableFreeElgotAlgebraˡ.♯ˡ-unique</a> <a id="3632" class="Symbol">(</a><a id="3633" href="Algebra.Elgot.Properties.html#1709" class="Function">free-isStableˡ</a> <a id="3648" class="Symbol">{</a><a id="3649" href="Algebra.Elgot.Properties.html#3649" class="Bound">Y</a><a id="3650" class="Symbol">}</a> <a id="3652" href="Algebra.Elgot.Properties.html#3652" class="Bound">fe</a><a id="3654" class="Symbol">)</a> <a id="3656" class="Symbol">{</a><a id="3657" href="Algebra.Elgot.Properties.html#3657" class="Bound">X</a><a id="3658" class="Symbol">}</a> <a id="3660" class="Symbol">{</a><a id="3661" href="Algebra.Elgot.Properties.html#3661" class="Bound">B</a><a id="3662" class="Symbol">}</a> <a id="3664" href="Algebra.Elgot.Properties.html#3664" class="Bound">f</a> <a id="3666" href="Algebra.Elgot.Properties.html#3666" class="Bound">g</a> <a id="3668" href="Algebra.Elgot.Properties.html#3668" class="Bound">eq₁</a> <a id="3672" href="Algebra.Elgot.Properties.html#3672" class="Bound">eq₂</a> <a id="3676" class="Symbol">=</a> <a id="3678" href="Categories.Category.CartesianClosed.html#2254" class="Function">λ-inj</a> <a id="3684" class="Symbol">(</a><a id="3685" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="3695" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="3698" href="Algebra.Elgot.Properties.html#3666" class="Bound">g</a> <a id="3700" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3703" href="Categories.FreeObjects.Free.html#1017" class="Function">*-uniq</a> <a id="3710" class="Symbol">(</a><a id="3711" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="3714" href="Algebra.Elgot.Properties.html#3664" class="Bound">f</a><a id="3715" class="Symbol">)</a> <a id="3717" class="Symbol">(</a><a id="3718" class="Keyword">record</a> <a id="3725" class="Symbol">{</a> <a id="3727" href="Category.Construction.ElgotAlgebras.html#794" class="Field">h</a> <a id="3729" class="Symbol">=</a> <a id="3731" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="3734" href="Algebra.Elgot.Properties.html#3666" class="Bound">g</a> <a id="3736" class="Symbol">;</a> <a id="3738" href="Category.Construction.ElgotAlgebras.html#812" class="Field">preserves</a> <a id="3748" class="Symbol">=</a> <a id="3750" class="Symbol">λ</a> <a id="3752" class="Symbol">{</a><a id="3753" href="Algebra.Elgot.Properties.html#3753" class="Bound">D</a><a id="3754" class="Symbol">}</a> <a id="3756" class="Symbol">{</a><a id="3757" href="Algebra.Elgot.Properties.html#3757" class="Bound">h</a><a id="3758" class="Symbol">}</a> <a id="3760" class="Symbol"></a> <a id="3762" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="3775" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="3778" href="Algebra.Elgot.Properties.html#3666" class="Bound">g</a> <a id="3780" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3782" class="Symbol">(</a><a id="3783" href="Algebra.Elgot.Properties.html#3757" class="Bound">h</a> <a id="3785" href="Algebra.Elgot.Properties.html#4683" class="Function Operator"></a><a id="3787" class="Symbol">)</a> <a id="3789" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3792" href="Categories.Category.CartesianClosed.html#2454" class="Function">subst</a> <a id="3798" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="3807" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="3810" class="Symbol">(</a><a id="3811" href="Algebra.Elgot.Properties.html#3666" class="Bound">g</a> <a id="3813" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3815" class="Symbol">(</a><a id="3816" href="Algebra.Elgot.Properties.html#3757" class="Bound">h</a> <a id="3818" href="Algebra.Elgot.Properties.html#4683" class="Function Operator"></a> <a id="3821" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3823" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3825" class="Symbol">))</a> <a id="3828" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3831" href="Categories.Category.CartesianClosed.html#2186" class="Function">λ-cong</a> <a id="3838" class="Symbol">(</a><a id="3839" href="Algebra.Elgot.Properties.html#3672" class="Bound">eq₂</a> <a id="3843" href="Algebra.Elgot.Properties.html#3757" class="Bound">h</a><a id="3844" class="Symbol">)</a> <a id="3846" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="3854" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="3857" class="Symbol">(((</a><a id="3860" href="Algebra.Elgot.Properties.html#3666" class="Bound">g</a> <a id="3862" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="3865" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3867" class="Symbol">)</a> <a id="3869" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3871" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="3885" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3887" class="Symbol">(</a><a id="3888" href="Algebra.Elgot.Properties.html#3757" class="Bound">h</a> <a id="3890" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="3892" href="Categories.Category.Core.html#630" class="Function">id</a><a id="3894" class="Symbol">))</a> <a id="3897" href="Algebra.Elgot.Properties.html#4602" class="Function Operator">#ᵇ</a><a id="3899" class="Symbol">)</a> <a id="3901" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="3905" href="Categories.Category.CartesianClosed.html#2186" class="Function">λ-cong</a> <a id="3912" class="Symbol">(</a><a id="3913" href="Algebra.Elgot.Properties.html#4619" class="Function">#ᵇ-resp-≈</a> <a id="3923" class="Symbol">(</a><a id="3924" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="3930" class="Symbol">(</a><a id="3931" href="Categories.Category.Cocartesian.html#2699" class="Function">+₁∘+₁</a> <a id="3937" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="3939" href="Categories.Category.Cocartesian.html#2622" class="Function">+₁-cong₂</a> <a id="3948" href="Categories.Category.CartesianClosed.html#4217" class="Function">β′</a> <a id="3951" class="Symbol">(</a><a id="3952" href="Categories.Morphism.Reasoning.Core.html#2786" class="Function">elimʳ</a> <a id="3958" class="Symbol">(</a><a id="3959" href="Algebra.Elgot.Properties.html#1188" class="Function">⟨⟩-unique</a> <a id="3969" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a> <a id="3977" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a><a id="3984" class="Symbol">)))))</a> <a id="3990" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="3998" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="4001" class="Symbol">(((</a><a id="4004" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="4010" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4013" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4015" class="Symbol">)</a> <a id="4017" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4019" class="Symbol">(</a><a id="4020" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="4023" href="Algebra.Elgot.Properties.html#3666" class="Bound">g</a> <a id="4025" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4027" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="4030" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4033" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="4036" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4038" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4040" class="Symbol">)</a> <a id="4042" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4044" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="4058" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4060" class="Symbol">(</a><a id="4061" href="Algebra.Elgot.Properties.html#3757" class="Bound">h</a> <a id="4063" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4065" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4067" class="Symbol">))</a> <a id="4070" href="Algebra.Elgot.Properties.html#4602" class="Function Operator">#ᵇ</a><a id="4072" class="Symbol">)</a> <a id="4074" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="4078" href="Categories.Category.CartesianClosed.html#2186" class="Function">λ-cong</a> <a id="4085" class="Symbol">(</a><a id="4086" href="Algebra.Elgot.Properties.html#4619" class="Function">#ᵇ-resp-≈</a> <a id="4096" class="Symbol">(</a><a id="4097" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4105" class="Symbol">(</a><a id="4106" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4112" class="Symbol">(</a><a id="4113" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="4117" class="Symbol">(</a><a id="4118" href="Categories.Category.Distributive.Properties.html#4502" class="Function">distributeʳ⁻¹-natural</a> <a id="4140" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="4143" class="Symbol">(</a><a id="4144" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="4147" href="Algebra.Elgot.Properties.html#3666" class="Bound">g</a><a id="4148" class="Symbol">)</a> <a id="4150" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4152" class="Symbol">))</a> <a id="4155" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="4157" href="Categories.Category.Core.html#715" class="Function">assoc</a><a id="4162" class="Symbol">)))</a> <a id="4166" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="4174" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="4177" class="Symbol">(((</a><a id="4180" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="4186" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4189" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4191" class="Symbol">)</a> <a id="4193" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4195" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="4209" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4211" class="Symbol">((</a><a id="4213" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="4216" href="Algebra.Elgot.Properties.html#3666" class="Bound">g</a> <a id="4218" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4221" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4223" class="Symbol">)</a> <a id="4225" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4227" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4229" class="Symbol">)</a> <a id="4231" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4233" class="Symbol">(</a><a id="4234" href="Algebra.Elgot.Properties.html#3757" class="Bound">h</a> <a id="4236" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4238" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4240" class="Symbol">))</a> <a id="4243" href="Algebra.Elgot.Properties.html#4602" class="Function Operator">#ᵇ</a><a id="4245" class="Symbol">)</a> <a id="4247" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4250" href="Categories.Category.CartesianClosed.html#2186" class="Function">λ-cong</a> <a id="4257" class="Symbol">(</a><a id="4258" href="Algebra.Elgot.Properties.html#4619" class="Function">#ᵇ-resp-≈</a> <a id="4268" class="Symbol">(</a><a id="4269" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4277" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4285" class="Symbol">(</a><a id="4286" href="Categories.Category.BinaryProducts.html#2881" class="Function">⁂∘⁂</a> <a id="4290" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="4292" href="Categories.Category.BinaryProducts.html#2515" class="Function">⁂-cong₂</a> <a id="4300" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="4305" href="Categories.Category.Core.html#1339" class="Function">identity²</a><a id="4314" class="Symbol">)))</a> <a id="4318" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4326" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="4329" class="Symbol">(((</a><a id="4332" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="4338" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4341" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4343" class="Symbol">)</a> <a id="4345" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4347" href="Categories.Category.Distributive.html#3272" class="Function">distributeʳ⁻¹</a> <a id="4361" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4363" class="Symbol">((</a><a id="4365" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="4368" href="Algebra.Elgot.Properties.html#3666" class="Bound">g</a> <a id="4370" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="4373" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4375" class="Symbol">)</a> <a id="4377" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4379" href="Algebra.Elgot.Properties.html#3757" class="Bound">h</a> <a id="4381" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4383" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4385" class="Symbol">))</a> <a id="4388" href="Algebra.Elgot.Properties.html#4602" class="Function Operator">#ᵇ</a><a id="4390" class="Symbol">)</a> <a id="4392" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a> <a id="4394" class="Symbol">})</a> <a id="4397" class="Symbol">(</a><a id="4398" href="Categories.Category.CartesianClosed.html#2454" class="Function">subst</a> <a id="4404" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="4406" href="Categories.Category.CartesianClosed.html#2186" class="Function">λ-cong</a> <a id="4413" class="Symbol">(</a><a id="4414" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="4418" href="Algebra.Elgot.Properties.html#3668" class="Bound">eq₁</a><a id="4421" class="Symbol">))</a> <a id="4424" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4430" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="4432" class="Symbol">(</a><a id="4433" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="4436" href="Algebra.Elgot.Properties.html#3664" class="Bound">f</a><a id="4437" class="Symbol">)</a><a id="4438" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="4440" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="4442" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="4446" href="Categories.Category.CartesianClosed.html#4406" class="Function">η-exp</a> <a id="4453" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="4459" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="4462" class="Symbol">(</a><a id="4463" href="Categories.Category.CartesianClosed.html#3883" class="Function">eval</a> <a id="4469" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4471" class="Symbol">(</a><a id="4472" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&lt;</a> <a id="4474" class="Symbol">(</a><a id="4475" href="Categories.Category.CartesianClosed.html#2130" class="Function">λg</a> <a id="4478" href="Algebra.Elgot.Properties.html#3664" class="Bound">f</a><a id="4479" class="Symbol">)</a><a id="4480" href="Categories.FreeObjects.Free.html#880" class="Function Operator">*</a> <a id="4482" href="Algebra.Elgot.Properties.html#1701" class="Field Operator">&gt;</a> <a id="4484" href="Categories.Category.BinaryProducts.html#1465" class="Function Operator"></a> <a id="4486" href="Categories.Category.Core.html#630" class="Function">id</a><a id="4488" class="Symbol">))</a> <a id="4491" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a><a id="4492" class="Symbol">)</a>
<a id="4498" class="Keyword">where</a>
<a id="4511" class="Keyword">open</a> <a id="4516" href="Categories.FreeObjects.Free.html#485" class="Module">FreeObject</a> <a id="4527" href="Algebra.Elgot.Properties.html#3652" class="Bound">fe</a> <a id="4530" class="Keyword">renaming</a> <a id="4539" class="Symbol">(</a><a id="4540" href="Categories.FreeObjects.Free.html#838" class="Field">FX</a> <a id="4543" class="Symbol">to</a> <a id="4546" class="Field">KY</a><a id="4548" class="Symbol">)</a>
<a id="4556" class="Keyword">open</a> <a id="4561" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="4575" href="Algebra.Elgot.Properties.html#3661" class="Bound">B</a> <a id="4577" class="Keyword">using</a> <a id="4583" class="Symbol">()</a> <a id="4586" class="Keyword">renaming</a> <a id="4595" class="Symbol">(</a><a id="4596" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a> <a id="4599" class="Symbol">to</a> <a id="4602" class="Function Operator">_#ᵇ</a><a id="4605" class="Symbol">;</a> <a id="4607" href="Algebra.Elgot.html#2331" class="Function">#-resp-≈</a> <a id="4616" class="Symbol">to</a> <a id="4619" class="Function">#ᵇ-resp-≈</a><a id="4628" class="Symbol">)</a>
<a id="4636" class="Keyword">open</a> <a id="4641" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="4655" href="Algebra.Elgot.Properties.html#4546" class="Function">KY</a> <a id="4658" class="Keyword">using</a> <a id="4664" class="Symbol">()</a> <a id="4667" class="Keyword">renaming</a> <a id="4676" class="Symbol">(</a><a id="4677" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a> <a id="4680" class="Symbol">to</a> <a id="4683" class="Function Operator">_#ʸ</a><a id="4686" class="Symbol">)</a>
<a id="free-isStable"></a><a id="4691" href="Algebra.Elgot.Properties.html#4691" class="Function">free-isStable</a> <a id="4705" class="Symbol">:</a> <a id="4707" class="Symbol"></a> <a id="4709" class="Symbol">{</a><a id="4710" href="Algebra.Elgot.Properties.html#4710" class="Bound">Y</a><a id="4711" class="Symbol">}</a> <a id="4713" class="Symbol">(</a><a id="4714" href="Algebra.Elgot.Properties.html#4714" class="Bound">fe</a> <a id="4717" class="Symbol">:</a> <a id="4719" href="Algebra.Elgot.Free.html#1441" class="Function">FreeElgotAlgebra</a> <a id="4736" href="Algebra.Elgot.Properties.html#4710" class="Bound">Y</a><a id="4737" class="Symbol">)</a> <a id="4739" class="Symbol"></a> <a id="4741" href="Algebra.Elgot.Stable.html#2437" class="Record">IsStableFreeElgotAlgebra</a> <a id="4766" href="Algebra.Elgot.Properties.html#4714" class="Bound">fe</a>
<a id="4771" href="Algebra.Elgot.Properties.html#4691" class="Function">free-isStable</a> <a id="4785" class="Symbol">{</a><a id="4786" href="Algebra.Elgot.Properties.html#4786" class="Bound">Y</a><a id="4787" class="Symbol">}</a> <a id="4789" href="Algebra.Elgot.Properties.html#4789" class="Bound">fe</a> <a id="4792" class="Symbol">=</a> <a id="4794" href="Algebra.Elgot.Stable.html#7211" class="Function">isStableˡ⇒isStable</a> <a id="4813" href="Algebra.Elgot.Properties.html#4789" class="Bound">fe</a> <a id="4816" class="Symbol">(</a><a id="4817" href="Algebra.Elgot.Properties.html#1709" class="Function">free-isStableˡ</a> <a id="4832" href="Algebra.Elgot.Properties.html#4789" class="Bound">fe</a><a id="4834" class="Symbol">)</a>
</pre>
</body>
</html>