bsc-leon-vatthauer/agda/bsc-thesis/Monad.Instance.Setoids.K.md
2024-02-09 17:53:52 +01:00

391 lines
No EOL
436 KiB
Markdown
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.

<!--
<pre class="Agda"><a id="14" class="Symbol">{-#</a> <a id="18" class="Keyword">OPTIONS</a> <a id="26" class="Pragma">--guardedness</a> <a id="40" class="Symbol">#-}</a>
<a id="44" class="Keyword">open</a> <a id="49" class="Keyword">import</a> <a id="56" href="Level.html" class="Module">Level</a> <a id="62" class="Keyword">renaming</a> <a id="71" class="Symbol">(</a><a id="72" href="Agda.Primitive.html#915" class="Primitive">zero</a> <a id="77" class="Symbol">to</a> <a id="80" class="Primitive">-zero</a><a id="86" class="Symbol">;</a> <a id="88" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="92" class="Symbol">to</a> <a id="95" class="Primitive">-suc</a><a id="100" class="Symbol">)</a>
<a id="103" class="Keyword">open</a> <a id="108" class="Keyword">import</a> <a id="115" href="Relation.Binary.html" class="Module">Relation.Binary</a>
<a id="131" class="Keyword">open</a> <a id="136" class="Keyword">import</a> <a id="143" href="Data.Sum.html" class="Module">Data.Sum</a> <a id="152" class="Keyword">using</a> <a id="158" class="Symbol">(</a><a id="159" href="Data.Sum.Base.html#625" class="Datatype Operator">_⊎_</a><a id="162" class="Symbol">;</a> <a id="164" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a><a id="168" class="Symbol">;</a> <a id="170" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a><a id="174" class="Symbol">;</a> <a id="176" href="Data.Sum.Base.html#811" class="Function Operator">[_,_]</a><a id="181" class="Symbol">;</a> <a id="183" href="Data.Sum.Base.html#980" class="Function Operator">[_,_]</a><a id="189" class="Symbol">)</a>
<a id="191" class="Keyword">open</a> <a id="196" class="Keyword">import</a> <a id="203" href="Data.Sum.Function.Setoid.html" class="Module">Data.Sum.Function.Setoid</a>
<a id="228" class="Keyword">open</a> <a id="233" class="Keyword">import</a> <a id="240" href="Data.Sum.Relation.Binary.Pointwise.html" class="Module">Data.Sum.Relation.Binary.Pointwise</a>
<a id="275" class="Keyword">open</a> <a id="280" class="Keyword">import</a> <a id="287" href="Function.Bundles.html" class="Module">Function.Bundles</a> <a id="304" class="Keyword">using</a> <a id="310" class="Symbol">(</a><a id="311" href="Function.Bundles.html#15133" class="Function Operator">_⟨$⟩_</a><a id="316" class="Symbol">)</a> <a id="318" class="Keyword">renaming</a> <a id="327" class="Symbol">(</a><a id="328" href="Function.Bundles.html#2043" class="Record">Func</a> <a id="333" class="Symbol">to</a> <a id="336" class="Record">_⟶_</a><a id="339" class="Symbol">)</a>
<a id="341" class="Keyword">open</a> <a id="346" class="Keyword">import</a> <a id="353" href="Function.Construct.Identity.html" class="Module">Function.Construct.Identity</a> <a id="381" class="Keyword">renaming</a> <a id="390" class="Symbol">(</a><a id="391" href="Function.Construct.Identity.html#2813" class="Function">function</a> <a id="400" class="Symbol">to</a> <a id="403" class="Function">idₛ</a><a id="406" class="Symbol">)</a>
<a id="408" class="Keyword">open</a> <a id="413" class="Keyword">import</a> <a id="420" href="Function.Construct.Setoid.html" class="Module">Function.Construct.Setoid</a> <a id="446" class="Keyword">renaming</a> <a id="455" class="Symbol">(</a><a id="456" href="Function.Construct.Setoid.html#376" class="Function">setoid</a> <a id="463" class="Symbol">to</a> <a id="466" class="Function">_⇨_</a><a id="469" class="Symbol">;</a> <a id="471" href="Function.Construct.Setoid.html#888" class="Function Operator">_∙_</a> <a id="475" class="Symbol">to</a> <a id="478" class="Function Operator">_∘_</a><a id="481" class="Symbol">)</a>
<a id="483" class="Keyword">open</a> <a id="488" class="Keyword">import</a> <a id="495" href="Function.html" class="Module">Function</a> <a id="504" class="Keyword">using</a> <a id="510" class="Symbol">(</a><a id="511" href="Function.Base.html#3626" class="Function Operator">_∘_</a><a id="515" class="Symbol">;</a> <a id="517" href="Function.Base.html#704" class="Function">id</a><a id="519" class="Symbol">)</a> <a id="521" class="Keyword">renaming</a> <a id="530" class="Symbol">(</a><a id="531" href="Function.Base.html#1115" class="Function Operator">_∘_</a> <a id="535" class="Symbol">to</a> <a id="538" class="Function Operator">_∘f_</a><a id="542" class="Symbol">)</a>
<a id="544" class="Keyword">import</a> <a id="551" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a> <a id="589" class="Symbol">as</a> <a id="592" class="Module">Eq</a>
<a id="595" class="Keyword">open</a> <a id="600" href="Relation.Binary.PropositionalEquality.html" class="Module">Eq</a> <a id="603" class="Keyword">using</a> <a id="609" class="Symbol">(</a><a id="610" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a><a id="613" class="Symbol">)</a> <a id="615" class="Keyword">renaming</a> <a id="624" class="Symbol">(</a><a id="625" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="629" class="Symbol">to</a> <a id="632" class="Function">≣-sym</a><a id="637" class="Symbol">;</a> <a id="639" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a> <a id="644" class="Symbol">to</a> <a id="647" class="InductiveConstructor">≣-refl</a><a id="653" class="Symbol">;</a> <a id="655" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="661" class="Symbol">to</a> <a id="664" class="Function">≣-trans</a><a id="671" class="Symbol">)</a>
<a id="673" class="Keyword">open</a> <a id="678" class="Keyword">import</a> <a id="685" href="Categories.FreeObjects.Free.html" class="Module">Categories.FreeObjects.Free</a>
<a id="713" class="Keyword">open</a> <a id="718" class="Keyword">import</a> <a id="725" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html" class="Module">Data.Product.Relation.Binary.Pointwise.NonDependent</a> <a id="777" class="Keyword">using</a> <a id="783" class="Symbol">(</a><a id="784" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">_×ₛ_</a><a id="788" class="Symbol">)</a>
<a id="790" class="Keyword">open</a> <a id="795" class="Keyword">import</a> <a id="802" href="Data.Product.Function.NonDependent.Setoid.html" class="Module">Data.Product.Function.NonDependent.Setoid</a> <a id="844" class="Keyword">using</a> <a id="850" class="Symbol">(</a><a id="851" href="Data.Product.Function.NonDependent.Setoid.html#766" class="Function">proj₁ₛ</a><a id="857" class="Symbol">)</a>
<a id="859" class="Keyword">open</a> <a id="864" class="Keyword">import</a> <a id="871" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html" class="Module">Data.Product.Relation.Binary.Pointwise.NonDependent</a>
<a id="923" class="Keyword">open</a> <a id="928" class="Keyword">import</a> <a id="935" href="Data.Product.html" class="Module">Data.Product</a>
<a id="948" class="Keyword">open</a> <a id="953" class="Keyword">import</a> <a id="960" href="Category.Ambient.html" class="Module">Category.Ambient</a> <a id="977" class="Keyword">using</a> <a id="983" class="Symbol">(</a><a id="984" href="Category.Ambient.html#1681" class="Record">Ambient</a><a id="991" class="Symbol">)</a>
<a id="993" class="Keyword">open</a> <a id="998" class="Keyword">import</a> <a id="1005" href="Categories.Category.CartesianClosed.html" class="Module">Categories.Category.CartesianClosed</a>
<a id="1041" class="Keyword">open</a> <a id="1046" class="Keyword">import</a> <a id="1053" href="Categories.Category.Instance.Setoids.html" class="Module">Categories.Category.Instance.Setoids</a>
<a id="1090" class="Keyword">open</a> <a id="1095" class="Keyword">import</a> <a id="1102" href="Categories.Category.Instance.Properties.Setoids.CCC.html" class="Module">Categories.Category.Instance.Properties.Setoids.CCC</a> <a id="1154" class="Keyword">using</a> <a id="1160" class="Symbol">(</a><a id="1161" href="Categories.Category.Instance.Properties.Setoids.CCC.html#2117" class="Function">Setoids-CCC</a><a id="1172" class="Symbol">)</a>
</pre>-->
# The delay monad on the category of setoids is an instance of K
<pre class="Agda"><a id="1258" class="Keyword">module</a> <a id="1265" href="Monad.Instance.Setoids.K.html" class="Module">Monad.Instance.Setoids.K</a> <a id="1290" class="Symbol">{</a><a id="1291" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="1293" class="Symbol">:</a> <a id="1295" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="1300" class="Symbol">}</a> <a id="1302" class="Keyword">where</a>
<a id="1310" class="Keyword">open</a> <a id="1315" href="Monad.Instance.Setoids.K.html#336" class="Module">_⟶_</a> <a id="1319" class="Keyword">using</a> <a id="1325" class="Symbol">(</a><a id="1326" href="Function.Bundles.html#2113" class="Field">cong</a><a id="1330" class="Symbol">)</a>
<a id="1334" class="Keyword">open</a> <a id="1339" class="Keyword">import</a> <a id="1346" href="Category.Ambient.Setoids.html" class="Module">Category.Ambient.Setoids</a>
<a id="1373" class="Keyword">open</a> <a id="1378" href="Category.Ambient.html#1681" class="Module">Ambient</a> <a id="1386" class="Symbol">(</a><a id="1387" href="Category.Ambient.Setoids.html#4545" class="Function">setoidAmbient</a> <a id="1401" class="Symbol">{</a><a id="1402" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="1403" class="Symbol">})</a> <a id="1406" class="Keyword">using</a> <a id="1412" class="Symbol">(</a><a id="1413" href="Categories.Category.Extensive.html#734" class="Function">cocartesian</a><a id="1424" class="Symbol">;</a> <a id="1426" href="Category.Ambient.html#2762" class="Function">distributive</a><a id="1438" class="Symbol">)</a>
<a id="1442" class="Keyword">open</a> <a id="1447" class="Keyword">import</a> <a id="1454" href="Monad.Instance.Setoids.Delay.html" class="Module">Monad.Instance.Setoids.Delay</a> <a id="1483" class="Symbol">{</a><a id="1484" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="1485" class="Symbol">}</a> <a id="1487" class="Symbol">{</a><a id="1488" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="1489" class="Symbol">}</a>
<a id="1493" class="Keyword">open</a> <a id="1498" class="Keyword">import</a> <a id="1505" href="Monad.Instance.K.html" class="Module">Monad.Instance.K</a> <a id="1522" class="Symbol">(</a><a id="1523" href="Category.Ambient.Setoids.html#4545" class="Function">setoidAmbient</a> <a id="1537" class="Symbol">{</a><a id="1538" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="1539" class="Symbol">})</a>
<a id="1544" class="Keyword">open</a> <a id="1549" class="Keyword">import</a> <a id="1556" href="Algebra.Elgot.html" class="Module">Algebra.Elgot</a> <a id="1570" href="Categories.Category.Extensive.html#734" class="Function">cocartesian</a>
<a id="1584" class="Keyword">open</a> <a id="1589" class="Keyword">import</a> <a id="1596" href="Algebra.Elgot.Free.html" class="Module">Algebra.Elgot.Free</a> <a id="1615" href="Categories.Category.Extensive.html#734" class="Function">cocartesian</a>
<a id="1629" class="Keyword">open</a> <a id="1634" class="Keyword">import</a> <a id="1641" href="Algebra.Elgot.Stable.html" class="Module">Algebra.Elgot.Stable</a> <a id="1662" href="Category.Ambient.html#2762" class="Function">distributive</a>
<a id="1677" class="Keyword">open</a> <a id="1682" class="Keyword">import</a> <a id="1689" href="Category.Construction.ElgotAlgebras.html" class="Module">Category.Construction.ElgotAlgebras</a> <a id="1725" class="Symbol">{</a><a id="1726" class="Argument">C</a> <a id="1728" class="Symbol">=</a> <a id="1730" href="Categories.Category.Instance.Setoids.html#555" class="Function">Setoids</a> <a id="1738" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="1740" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="1741" class="Symbol">}</a> <a id="1743" href="Categories.Category.Extensive.html#734" class="Function">cocartesian</a>
<a id="1757" class="Keyword">open</a> <a id="1762" class="Keyword">import</a> <a id="1769" href="Monad.PreElgot.html" class="Module">Monad.PreElgot</a> <a id="1784" class="Symbol">(</a><a id="1785" href="Category.Ambient.Setoids.html#4545" class="Function">setoidAmbient</a> <a id="1799" class="Symbol">{</a><a id="1800" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="1801" class="Symbol">})</a>
<a id="1806" class="Keyword">open</a> <a id="1811" href="Monad.Instance.Setoids.Delay.html#1234" class="Module">Bisimilarity</a> <a id="1824" class="Keyword">renaming</a> <a id="1833" class="Symbol">(</a><a id="1834" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">_≈_</a> <a id="1838" class="Symbol">to</a> <a id="1841" class="Datatype Operator">[_][_≈_]</a><a id="1849" class="Symbol">;</a> <a id="1851" href="Monad.Instance.Setoids.Delay.html#3534" class="Record Operator">_≈_</a> <a id="1856" class="Symbol">to</a> <a id="1859" class="Record Operator">[_][_≈_]</a><a id="1868" class="Symbol">;</a> <a id="1870" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">__</a> <a id="1874" class="Symbol">to</a> <a id="1877" class="Datatype Operator">[_][__]</a><a id="1885" class="Symbol">;</a> <a id="1887" href="Monad.Instance.Setoids.Delay.html#1839" class="Record Operator">__</a> <a id="1892" class="Symbol">to</a> <a id="1895" class="Record Operator">[_][__]</a><a id="1904" class="Symbol">;</a> <a id="1906" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">_↓_</a> <a id="1910" class="Symbol">to</a> <a id="1913" class="Datatype Operator">[_][_↓_]</a><a id="1921" class="Symbol">)</a>
<a id="1925" class="Keyword">open</a> <a id="1930" href="Monad.Instance.Setoids.Delay.html#5804" class="Module">DelayMonad</a>
<a id="1943" class="Keyword">open</a> <a id="1948" href="Monad.Instance.Setoids.Delay.html#17842" class="Module">extra</a>
<a id="1956" class="Keyword">open</a> <a id="1961" href="Relation.Binary.Bundles.html#1080" class="Module">Setoid</a> <a id="1968" class="Keyword">using</a> <a id="1974" class="Symbol">()</a> <a id="1977" class="Keyword">renaming</a> <a id="1986" class="Symbol">(</a><a id="1987" href="Relation.Binary.Bundles.html#1143" class="Field">Carrier</a> <a id="1995" class="Symbol">to</a> <a id="1998" class="Field">_</a><a id="2001" class="Symbol">;</a> <a id="2003" href="Relation.Binary.Bundles.html#1169" class="Field Operator">_≈_</a> <a id="2007" class="Symbol">to</a> <a id="2010" class="Field Operator">[_][_≡_]</a><a id="2018" class="Symbol">)</a>
<a id="2022" class="Keyword">open</a> <a id="2027" href="Monad.Instance.Setoids.Delay.html#870" class="Module">eq</a> <a id="2030" class="Keyword">using</a> <a id="2036" class="Symbol">()</a> <a id="2039" class="Keyword">renaming</a> <a id="2048" class="Symbol">(</a><a id="2049" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="2054" class="Symbol">to</a> <a id="2057" class="Function">≡-refl</a><a id="2063" class="Symbol">;</a> <a id="2065" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="2069" class="Symbol">to</a> <a id="2072" class="Function">≡-sym</a><a id="2077" class="Symbol">;</a> <a id="2079" href="Relation.Binary.Structures.html#1648" class="Function">trans</a> <a id="2085" class="Symbol">to</a> <a id="2088" class="Function">≡-trans</a><a id="2095" class="Symbol">)</a>
<a id="≡→≡"></a><a id="2100" href="Monad.Instance.Setoids.K.html#2100" class="Function">≡→≡</a> <a id="2104" class="Symbol">:</a> <a id="2106" class="Symbol"></a> <a id="2108" class="Symbol">{</a><a id="2109" href="Monad.Instance.Setoids.K.html#2109" class="Bound">A</a> <a id="2111" class="Symbol">:</a> <a id="2113" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="2120" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="2122" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="2123" class="Symbol">}</a> <a id="2125" class="Symbol">{</a><a id="2126" href="Monad.Instance.Setoids.K.html#2126" class="Bound">x</a> <a id="2128" href="Monad.Instance.Setoids.K.html#2128" class="Bound">y</a> <a id="2130" class="Symbol">:</a> <a id="2132" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2134" href="Monad.Instance.Setoids.K.html#2109" class="Bound">A</a> <a id="2136" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="2137" class="Symbol">}</a> <a id="2139" class="Symbol"></a> <a id="2141" href="Monad.Instance.Setoids.K.html#2126" class="Bound">x</a> <a id="2143" href="Agda.Builtin.Equality.html#150" class="Datatype Operator"></a> <a id="2145" href="Monad.Instance.Setoids.K.html#2128" class="Bound">y</a> <a id="2147" class="Symbol"></a> <a id="2149" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="2151" href="Monad.Instance.Setoids.K.html#2109" class="Bound">A</a> <a id="2153" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="2156" href="Monad.Instance.Setoids.K.html#2126" class="Bound">x</a> <a id="2158" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="2160" href="Monad.Instance.Setoids.K.html#2128" class="Bound">y</a> <a id="2162" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="2166" href="Monad.Instance.Setoids.K.html#2100" class="Function">≡→≡</a> <a id="2170" class="Symbol">{</a><a id="2171" href="Monad.Instance.Setoids.K.html#2171" class="Bound">A</a><a id="2172" class="Symbol">}</a> <a id="2174" class="Symbol">{</a><a id="2175" href="Monad.Instance.Setoids.K.html#2175" class="Bound">x</a><a id="2176" class="Symbol">}</a> <a id="2178" class="Symbol">{</a><a id="2179" href="Monad.Instance.Setoids.K.html#2179" class="Bound">y</a><a id="2180" class="Symbol">}</a> <a id="2182" href="Monad.Instance.Setoids.K.html#2182" class="Bound">eq</a> <a id="2185" class="Keyword">rewrite</a> <a id="2193" href="Monad.Instance.Setoids.K.html#2182" class="Bound">eq</a> <a id="2196" class="Symbol">=</a> <a id="2198" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="2205" href="Monad.Instance.Setoids.K.html#2171" class="Bound">A</a>
<a id="iter"></a><a id="2210" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="2215" class="Symbol">:</a> <a id="2217" class="Symbol"></a> <a id="2219" class="Symbol">{</a><a id="2220" href="Monad.Instance.Setoids.K.html#2220" class="Bound">A</a> <a id="2222" href="Monad.Instance.Setoids.K.html#2222" class="Bound">X</a> <a id="2224" class="Symbol">:</a> <a id="2226" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="2233" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="2235" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="2236" class="Symbol">}</a> <a id="2238" class="Symbol"></a> <a id="2240" class="Symbol">(</a><a id="2241" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2243" href="Monad.Instance.Setoids.K.html#2222" class="Bound">X</a> <a id="2245" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2247" class="Symbol"></a> <a id="2249" class="Symbol">(</a><a id="2250" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="2256" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2258" href="Monad.Instance.Setoids.K.html#2220" class="Bound">A</a> <a id="2260" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2262" href="Data.Sum.Base.html#625" class="Datatype Operator"></a> <a id="2264" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2266" href="Monad.Instance.Setoids.K.html#2222" class="Bound">X</a> <a id="2268" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="2269" class="Symbol">))</a> <a id="2272" class="Symbol"></a> <a id="2274" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2276" href="Monad.Instance.Setoids.K.html#2222" class="Bound">X</a> <a id="2278" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2280" class="Symbol"></a> <a id="2282" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="2288" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2290" href="Monad.Instance.Setoids.K.html#2220" class="Bound">A</a> <a id="2292" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a>
<a id="iter"></a><a id="2296" href="Monad.Instance.Setoids.K.html#2296" class="Function">iter</a> <a id="2302" class="Symbol">:</a> <a id="2304" class="Symbol"></a> <a id="2306" class="Symbol">{</a><a id="2307" href="Monad.Instance.Setoids.K.html#2307" class="Bound">A</a> <a id="2309" href="Monad.Instance.Setoids.K.html#2309" class="Bound">X</a> <a id="2311" class="Symbol">:</a> <a id="2313" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="2320" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="2322" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="2323" class="Symbol">}</a> <a id="2325" class="Symbol"></a> <a id="2327" class="Symbol">(</a><a id="2328" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2330" href="Monad.Instance.Setoids.K.html#2309" class="Bound">X</a> <a id="2332" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2334" class="Symbol"></a> <a id="2336" class="Symbol">(</a><a id="2337" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="2343" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2345" href="Monad.Instance.Setoids.K.html#2307" class="Bound">A</a> <a id="2347" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2349" href="Data.Sum.Base.html#625" class="Datatype Operator"></a> <a id="2351" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2353" href="Monad.Instance.Setoids.K.html#2309" class="Bound">X</a> <a id="2355" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="2356" class="Symbol">))</a> <a id="2359" class="Symbol"></a> <a id="2361" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2363" href="Monad.Instance.Setoids.K.html#2309" class="Bound">X</a> <a id="2365" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2367" class="Symbol"></a> <a id="2369" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay</a> <a id="2376" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2378" href="Monad.Instance.Setoids.K.html#2307" class="Bound">A</a> <a id="2380" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a>
<a id="2384" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="2390" class="Symbol">(</a><a id="2391" href="Monad.Instance.Setoids.K.html#2296" class="Function">iter</a> <a id="2397" class="Symbol">{</a><a id="2398" href="Monad.Instance.Setoids.K.html#2398" class="Bound">A</a><a id="2399" class="Symbol">}</a> <a id="2401" class="Symbol">{</a><a id="2402" href="Monad.Instance.Setoids.K.html#2402" class="Bound">X</a><a id="2403" class="Symbol">}</a> <a id="2405" href="Monad.Instance.Setoids.K.html#2405" class="Bound">f</a> <a id="2407" href="Monad.Instance.Setoids.K.html#2407" class="Bound">x</a><a id="2408" class="Symbol">)</a> <a id="2410" class="Symbol">=</a> <a id="2412" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="2417" class="Symbol">{</a><a id="2418" href="Monad.Instance.Setoids.K.html#2398" class="Bound">A</a><a id="2419" class="Symbol">}</a> <a id="2421" class="Symbol">{</a><a id="2422" href="Monad.Instance.Setoids.K.html#2402" class="Bound">X</a><a id="2423" class="Symbol">}</a> <a id="2425" href="Monad.Instance.Setoids.K.html#2405" class="Bound">f</a> <a id="2427" href="Monad.Instance.Setoids.K.html#2407" class="Bound">x</a>
<a id="2431" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="2436" class="Symbol">{</a><a id="2437" href="Monad.Instance.Setoids.K.html#2437" class="Bound">A</a><a id="2438" class="Symbol">}</a> <a id="2440" class="Symbol">{</a><a id="2441" href="Monad.Instance.Setoids.K.html#2441" class="Bound">X</a><a id="2442" class="Symbol">}</a> <a id="2444" href="Monad.Instance.Setoids.K.html#2444" class="Bound">f</a> <a id="2446" href="Monad.Instance.Setoids.K.html#2446" class="Bound">x</a> <a id="2448" class="Keyword">with</a> <a id="2453" href="Monad.Instance.Setoids.K.html#2444" class="Bound">f</a> <a id="2455" href="Monad.Instance.Setoids.K.html#2446" class="Bound">x</a>
<a id="2460" class="Symbol">...</a> <a id="2477" class="Symbol">|</a> <a id="2479" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2484" href="Monad.Instance.Setoids.K.html#2484" class="Bound">a</a> <a id="2486" class="Symbol">=</a> <a id="2488" href="Monad.Instance.Setoids.K.html#2484" class="Bound">a</a>
<a id="2492" class="Symbol">...</a> <a id="2509" class="Symbol">|</a> <a id="2511" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="2516" href="Monad.Instance.Setoids.K.html#2516" class="Bound">b</a> <a id="2518" class="Symbol">=</a> <a id="2520" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="2526" class="Symbol">(</a><a id="2527" href="Monad.Instance.Setoids.K.html#2296" class="Function">iter</a> <a id="2533" class="Symbol">{</a><a id="2534" class="Bound">A</a><a id="2535" class="Symbol">}</a> <a id="2537" class="Symbol">{</a><a id="2538" class="Bound">X</a><a id="2539" class="Symbol">}</a> <a id="2541" class="Bound">f</a> <a id="2543" href="Monad.Instance.Setoids.K.html#2516" class="Bound">b</a><a id="2544" class="Symbol">)</a>
<a id="conflict"></a><a id="2549" href="Monad.Instance.Setoids.K.html#2549" class="Function">conflict</a> <a id="2558" class="Symbol">:</a> <a id="2560" class="Symbol"></a> <a id="2562" class="Symbol">{</a><a id="2563" href="Monad.Instance.Setoids.K.html#2563" class="Bound">&#39;&#39;</a><a id="2566" class="Symbol">}</a> <a id="2568" class="Symbol">(</a><a id="2569" href="Monad.Instance.Setoids.K.html#2569" class="Bound">X</a> <a id="2571" href="Monad.Instance.Setoids.K.html#2571" class="Bound">Y</a> <a id="2573" class="Symbol">:</a> <a id="2575" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="2582" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="2584" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="2585" class="Symbol">)</a> <a id="2587" class="Symbol">{</a><a id="2588" href="Monad.Instance.Setoids.K.html#2588" class="Bound">Z</a> <a id="2590" class="Symbol">:</a> <a id="2592" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2596" href="Monad.Instance.Setoids.K.html#2563" class="Bound">&#39;&#39;</a><a id="2599" class="Symbol">}</a>
<a id="2605" class="Symbol">{</a><a id="2606" href="Monad.Instance.Setoids.K.html#2606" class="Bound">x</a> <a id="2608" class="Symbol">:</a> <a id="2610" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2612" href="Monad.Instance.Setoids.K.html#2569" class="Bound">X</a> <a id="2614" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="2615" class="Symbol">}</a> <a id="2617" class="Symbol">{</a><a id="2618" href="Monad.Instance.Setoids.K.html#2618" class="Bound">y</a> <a id="2620" class="Symbol">:</a> <a id="2622" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2624" href="Monad.Instance.Setoids.K.html#2571" class="Bound">Y</a> <a id="2626" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="2627" class="Symbol">}</a> <a id="2629" class="Symbol"></a> <a id="2631" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="2633" href="Monad.Instance.Setoids.K.html#2569" class="Bound">X</a> <a id="2635" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="2638" href="Monad.Instance.Setoids.K.html#2571" class="Bound">Y</a> <a id="2640" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="2643" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2648" href="Monad.Instance.Setoids.K.html#2606" class="Bound">x</a> <a id="2650" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="2652" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="2657" href="Monad.Instance.Setoids.K.html#2618" class="Bound">y</a> <a id="2659" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="2661" class="Symbol"></a> <a id="2663" href="Monad.Instance.Setoids.K.html#2588" class="Bound">Z</a>
<a id="2667" href="Monad.Instance.Setoids.K.html#2549" class="Function">conflict</a> <a id="2676" href="Monad.Instance.Setoids.K.html#2676" class="Bound">X</a> <a id="2678" href="Monad.Instance.Setoids.K.html#2678" class="Bound">Y</a> <a id="2680" class="Symbol">()</a>
<a id="inj₁-helper"></a><a id="2686" href="Monad.Instance.Setoids.K.html#2686" class="Function">inj₁-helper</a> <a id="2698" class="Symbol">:</a> <a id="2700" class="Symbol"></a> <a id="2702" class="Symbol">{</a><a id="2703" href="Monad.Instance.Setoids.K.html#2703" class="Bound">X</a> <a id="2705" href="Monad.Instance.Setoids.K.html#2705" class="Bound">Y</a> <a id="2707" class="Symbol">:</a> <a id="2709" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="2716" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="2718" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="2719" class="Symbol">}</a> <a id="2721" class="Symbol">(</a><a id="2722" href="Monad.Instance.Setoids.K.html#2722" class="Bound">f</a> <a id="2724" class="Symbol">:</a> <a id="2726" href="Monad.Instance.Setoids.K.html#2703" class="Bound">X</a> <a id="2728" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="2730" class="Symbol">(</a><a id="2731" href="Monad.Instance.Setoids.K.html#2705" class="Bound">Y</a> <a id="2733" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="2736" href="Monad.Instance.Setoids.K.html#2703" class="Bound">X</a><a id="2737" class="Symbol">))</a> <a id="2740" class="Symbol">{</a><a id="2741" href="Monad.Instance.Setoids.K.html#2741" class="Bound">x</a> <a id="2743" href="Monad.Instance.Setoids.K.html#2743" class="Bound">y</a> <a id="2745" class="Symbol">:</a> <a id="2747" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2749" href="Monad.Instance.Setoids.K.html#2703" class="Bound">X</a> <a id="2751" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="2752" class="Symbol">}</a> <a id="2754" class="Symbol">{</a><a id="2755" href="Monad.Instance.Setoids.K.html#2755" class="Bound">a</a> <a id="2757" href="Monad.Instance.Setoids.K.html#2757" class="Bound">b</a> <a id="2759" class="Symbol">:</a> <a id="2761" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="2763" href="Monad.Instance.Setoids.K.html#2705" class="Bound">Y</a> <a id="2765" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="2766" class="Symbol">}</a> <a id="2768" class="Symbol"></a> <a id="2770" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="2772" href="Monad.Instance.Setoids.K.html#2703" class="Bound">X</a> <a id="2774" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="2777" href="Monad.Instance.Setoids.K.html#2741" class="Bound">x</a> <a id="2779" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="2781" href="Monad.Instance.Setoids.K.html#2743" class="Bound">y</a> <a id="2783" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="2785" class="Symbol"></a> <a id="2787" href="Monad.Instance.Setoids.K.html#2722" class="Bound">f</a> <a id="2789" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="2793" href="Monad.Instance.Setoids.K.html#2741" class="Bound">x</a> <a id="2795" href="Agda.Builtin.Equality.html#150" class="Datatype Operator"></a> <a id="2797" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2802" href="Monad.Instance.Setoids.K.html#2755" class="Bound">a</a> <a id="2804" class="Symbol"></a> <a id="2806" href="Monad.Instance.Setoids.K.html#2722" class="Bound">f</a> <a id="2808" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="2812" href="Monad.Instance.Setoids.K.html#2743" class="Bound">y</a> <a id="2814" href="Agda.Builtin.Equality.html#150" class="Datatype Operator"></a> <a id="2816" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2821" href="Monad.Instance.Setoids.K.html#2757" class="Bound">b</a> <a id="2823" class="Symbol"></a> <a id="2825" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="2827" href="Monad.Instance.Setoids.K.html#2705" class="Bound">Y</a> <a id="2829" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="2832" href="Monad.Instance.Setoids.K.html#2755" class="Bound">a</a> <a id="2834" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="2836" href="Monad.Instance.Setoids.K.html#2757" class="Bound">b</a> <a id="2838" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="2842" href="Monad.Instance.Setoids.K.html#2686" class="Function">inj₁-helper</a> <a id="2854" class="Symbol">{</a><a id="2855" href="Monad.Instance.Setoids.K.html#2855" class="Bound">X</a><a id="2856" class="Symbol">}</a> <a id="2858" class="Symbol">{</a><a id="2859" href="Monad.Instance.Setoids.K.html#2859" class="Bound">Y</a><a id="2860" class="Symbol">}</a> <a id="2862" href="Monad.Instance.Setoids.K.html#2862" class="Bound">f</a> <a id="2864" class="Symbol">{</a><a id="2865" href="Monad.Instance.Setoids.K.html#2865" class="Bound">x</a><a id="2866" class="Symbol">}</a> <a id="2868" class="Symbol">{</a><a id="2869" href="Monad.Instance.Setoids.K.html#2869" class="Bound">y</a><a id="2870" class="Symbol">}</a> <a id="2872" class="Symbol">{</a><a id="2873" href="Monad.Instance.Setoids.K.html#2873" class="Bound">a</a><a id="2874" class="Symbol">}</a> <a id="2876" class="Symbol">{</a><a id="2877" href="Monad.Instance.Setoids.K.html#2877" class="Bound">b</a><a id="2878" class="Symbol">}</a> <a id="2880" href="Monad.Instance.Setoids.K.html#2880" class="Bound">x≡y</a> <a id="2884" href="Monad.Instance.Setoids.K.html#2884" class="Bound">fi₁</a> <a id="2888" href="Monad.Instance.Setoids.K.html#2888" class="Bound">fi₂</a> <a id="2892" class="Symbol">=</a> <a id="2894" href="Data.Sum.Relation.Binary.Pointwise.html#1666" class="Function">drop-inj₁</a> <a id="2904" class="Symbol">{</a><a id="2905" class="Argument">x</a> <a id="2907" class="Symbol">=</a> <a id="2909" href="Monad.Instance.Setoids.K.html#2873" class="Bound">a</a><a id="2910" class="Symbol">}</a> <a id="2912" class="Symbol">{</a><a id="2913" class="Argument">y</a> <a id="2915" class="Symbol">=</a> <a id="2917" href="Monad.Instance.Setoids.K.html#2877" class="Bound">b</a><a id="2918" class="Symbol">}</a> <a id="2920" href="Monad.Instance.Setoids.K.html#2943" class="Function">helper</a>
<a id="2931" class="Keyword">where</a>
<a id="2943" href="Monad.Instance.Setoids.K.html#2943" class="Function">helper</a> <a id="2950" class="Symbol">:</a> <a id="2952" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="2954" href="Monad.Instance.Setoids.K.html#2859" class="Bound">Y</a> <a id="2956" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="2959" href="Monad.Instance.Setoids.K.html#2855" class="Bound">X</a> <a id="2961" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="2964" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2969" href="Monad.Instance.Setoids.K.html#2873" class="Bound">a</a> <a id="2971" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="2973" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="2978" href="Monad.Instance.Setoids.K.html#2877" class="Bound">b</a> <a id="2980" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="2988" href="Monad.Instance.Setoids.K.html#2943" class="Function">helper</a> <a id="2995" class="Keyword">rewrite</a> <a id="3003" class="Symbol">(</a><a id="3004" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="3010" href="Monad.Instance.Setoids.K.html#2884" class="Bound">fi₁</a><a id="3013" class="Symbol">)</a> <a id="3015" class="Symbol">|</a> <a id="3017" class="Symbol">(</a><a id="3018" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="3024" href="Monad.Instance.Setoids.K.html#2888" class="Bound">fi₂</a><a id="3027" class="Symbol">)</a> <a id="3029" class="Symbol">=</a> <a id="3031" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="3036" href="Monad.Instance.Setoids.K.html#2862" class="Bound">f</a> <a id="3038" href="Monad.Instance.Setoids.K.html#2880" class="Bound">x≡y</a>
<a id="inj₂-helper"></a><a id="3045" href="Monad.Instance.Setoids.K.html#3045" class="Function">inj₂-helper</a> <a id="3057" class="Symbol">:</a> <a id="3059" class="Symbol"></a> <a id="3061" class="Symbol">{</a><a id="3062" href="Monad.Instance.Setoids.K.html#3062" class="Bound">X</a> <a id="3064" href="Monad.Instance.Setoids.K.html#3064" class="Bound">Y</a> <a id="3066" class="Symbol">:</a> <a id="3068" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="3075" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="3077" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="3078" class="Symbol">}</a> <a id="3080" class="Symbol">(</a><a id="3081" href="Monad.Instance.Setoids.K.html#3081" class="Bound">f</a> <a id="3083" class="Symbol">:</a> <a id="3085" href="Monad.Instance.Setoids.K.html#3062" class="Bound">X</a> <a id="3087" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="3089" class="Symbol">(</a><a id="3090" href="Monad.Instance.Setoids.K.html#3064" class="Bound">Y</a> <a id="3092" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="3095" href="Monad.Instance.Setoids.K.html#3062" class="Bound">X</a><a id="3096" class="Symbol">))</a> <a id="3099" class="Symbol">{</a><a id="3100" href="Monad.Instance.Setoids.K.html#3100" class="Bound">x</a> <a id="3102" href="Monad.Instance.Setoids.K.html#3102" class="Bound">y</a> <a id="3104" class="Symbol">:</a> <a id="3106" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="3108" href="Monad.Instance.Setoids.K.html#3062" class="Bound">X</a> <a id="3110" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="3111" class="Symbol">}</a> <a id="3113" class="Symbol">{</a><a id="3114" href="Monad.Instance.Setoids.K.html#3114" class="Bound">a</a> <a id="3116" href="Monad.Instance.Setoids.K.html#3116" class="Bound">b</a> <a id="3118" class="Symbol">:</a> <a id="3120" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="3122" href="Monad.Instance.Setoids.K.html#3062" class="Bound">X</a> <a id="3124" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="3125" class="Symbol">}</a> <a id="3127" class="Symbol"></a> <a id="3129" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="3131" href="Monad.Instance.Setoids.K.html#3062" class="Bound">X</a> <a id="3133" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="3136" href="Monad.Instance.Setoids.K.html#3100" class="Bound">x</a> <a id="3138" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="3140" href="Monad.Instance.Setoids.K.html#3102" class="Bound">y</a> <a id="3142" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="3144" class="Symbol"></a> <a id="3146" href="Monad.Instance.Setoids.K.html#3081" class="Bound">f</a> <a id="3148" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="3152" href="Monad.Instance.Setoids.K.html#3100" class="Bound">x</a> <a id="3154" href="Agda.Builtin.Equality.html#150" class="Datatype Operator"></a> <a id="3156" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="3161" href="Monad.Instance.Setoids.K.html#3114" class="Bound">a</a> <a id="3163" class="Symbol"></a> <a id="3165" href="Monad.Instance.Setoids.K.html#3081" class="Bound">f</a> <a id="3167" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="3171" href="Monad.Instance.Setoids.K.html#3102" class="Bound">y</a> <a id="3173" href="Agda.Builtin.Equality.html#150" class="Datatype Operator"></a> <a id="3175" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="3180" href="Monad.Instance.Setoids.K.html#3116" class="Bound">b</a> <a id="3182" class="Symbol"></a> <a id="3184" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="3186" href="Monad.Instance.Setoids.K.html#3062" class="Bound">X</a> <a id="3188" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="3191" href="Monad.Instance.Setoids.K.html#3114" class="Bound">a</a> <a id="3193" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="3195" href="Monad.Instance.Setoids.K.html#3116" class="Bound">b</a> <a id="3197" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="3201" href="Monad.Instance.Setoids.K.html#3045" class="Function">inj₂-helper</a> <a id="3213" class="Symbol">{</a><a id="3214" href="Monad.Instance.Setoids.K.html#3214" class="Bound">X</a><a id="3215" class="Symbol">}</a> <a id="3217" class="Symbol">{</a><a id="3218" href="Monad.Instance.Setoids.K.html#3218" class="Bound">Y</a><a id="3219" class="Symbol">}</a> <a id="3221" href="Monad.Instance.Setoids.K.html#3221" class="Bound">f</a> <a id="3223" class="Symbol">{</a><a id="3224" href="Monad.Instance.Setoids.K.html#3224" class="Bound">x</a><a id="3225" class="Symbol">}</a> <a id="3227" class="Symbol">{</a><a id="3228" href="Monad.Instance.Setoids.K.html#3228" class="Bound">y</a><a id="3229" class="Symbol">}</a> <a id="3231" class="Symbol">{</a><a id="3232" href="Monad.Instance.Setoids.K.html#3232" class="Bound">a</a><a id="3233" class="Symbol">}</a> <a id="3235" class="Symbol">{</a><a id="3236" href="Monad.Instance.Setoids.K.html#3236" class="Bound">b</a><a id="3237" class="Symbol">}</a> <a id="3239" href="Monad.Instance.Setoids.K.html#3239" class="Bound">x≡y</a> <a id="3243" href="Monad.Instance.Setoids.K.html#3243" class="Bound">fi₁</a> <a id="3247" href="Monad.Instance.Setoids.K.html#3247" class="Bound">fi₂</a> <a id="3251" class="Symbol">=</a> <a id="3253" href="Data.Sum.Relation.Binary.Pointwise.html#1752" class="Function">drop-inj₂</a> <a id="3263" class="Symbol">{</a><a id="3264" class="Argument">x</a> <a id="3266" class="Symbol">=</a> <a id="3268" href="Monad.Instance.Setoids.K.html#3232" class="Bound">a</a><a id="3269" class="Symbol">}</a> <a id="3271" class="Symbol">{</a><a id="3272" class="Argument">y</a> <a id="3274" class="Symbol">=</a> <a id="3276" href="Monad.Instance.Setoids.K.html#3236" class="Bound">b</a><a id="3277" class="Symbol">}</a> <a id="3279" href="Monad.Instance.Setoids.K.html#3302" class="Function">helper</a>
<a id="3290" class="Keyword">where</a>
<a id="3302" href="Monad.Instance.Setoids.K.html#3302" class="Function">helper</a> <a id="3309" class="Symbol">:</a> <a id="3311" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="3313" href="Monad.Instance.Setoids.K.html#3218" class="Bound">Y</a> <a id="3315" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="3318" href="Monad.Instance.Setoids.K.html#3214" class="Bound">X</a> <a id="3320" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="3323" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="3328" href="Monad.Instance.Setoids.K.html#3232" class="Bound">a</a> <a id="3330" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="3332" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="3337" href="Monad.Instance.Setoids.K.html#3236" class="Bound">b</a> <a id="3339" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="3347" href="Monad.Instance.Setoids.K.html#3302" class="Function">helper</a> <a id="3354" class="Keyword">rewrite</a> <a id="3362" class="Symbol">(</a><a id="3363" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="3369" href="Monad.Instance.Setoids.K.html#3243" class="Bound">fi₁</a><a id="3372" class="Symbol">)</a> <a id="3374" class="Symbol">|</a> <a id="3376" class="Symbol">(</a><a id="3377" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="3383" href="Monad.Instance.Setoids.K.html#3247" class="Bound">fi₂</a><a id="3386" class="Symbol">)</a> <a id="3388" class="Symbol">=</a> <a id="3390" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="3395" href="Monad.Instance.Setoids.K.html#3221" class="Bound">f</a> <a id="3397" href="Monad.Instance.Setoids.K.html#3239" class="Bound">x≡y</a>
<a id="absurd-helper"></a><a id="3404" href="Monad.Instance.Setoids.K.html#3404" class="Function">absurd-helper</a> <a id="3418" class="Symbol">:</a> <a id="3420" class="Symbol"></a> <a id="3422" class="Symbol">{</a><a id="3423" href="Monad.Instance.Setoids.K.html#3423" class="Bound">&#39;</a><a id="3425" class="Symbol">}</a> <a id="3427" class="Symbol">{</a><a id="3428" href="Monad.Instance.Setoids.K.html#3428" class="Bound">X</a> <a id="3430" href="Monad.Instance.Setoids.K.html#3430" class="Bound">Y</a> <a id="3432" class="Symbol">:</a> <a id="3434" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="3441" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="3443" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="3444" class="Symbol">}</a> <a id="3446" class="Symbol">{</a><a id="3447" href="Monad.Instance.Setoids.K.html#3447" class="Bound">A</a> <a id="3449" class="Symbol">:</a> <a id="3451" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3455" href="Monad.Instance.Setoids.K.html#3423" class="Bound">&#39;</a><a id="3457" class="Symbol">}</a> <a id="3459" class="Symbol">(</a><a id="3460" href="Monad.Instance.Setoids.K.html#3460" class="Bound">f</a> <a id="3462" class="Symbol">:</a> <a id="3464" href="Monad.Instance.Setoids.K.html#3428" class="Bound">X</a> <a id="3466" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="3468" class="Symbol">(</a><a id="3469" href="Monad.Instance.Setoids.K.html#3430" class="Bound">Y</a> <a id="3471" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="3474" href="Monad.Instance.Setoids.K.html#3428" class="Bound">X</a><a id="3475" class="Symbol">))</a> <a id="3478" class="Symbol">{</a><a id="3479" href="Monad.Instance.Setoids.K.html#3479" class="Bound">x</a> <a id="3481" href="Monad.Instance.Setoids.K.html#3481" class="Bound">y</a> <a id="3483" class="Symbol">:</a> <a id="3485" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="3487" href="Monad.Instance.Setoids.K.html#3428" class="Bound">X</a> <a id="3489" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="3490" class="Symbol">}</a> <a id="3492" class="Symbol">{</a><a id="3493" href="Monad.Instance.Setoids.K.html#3493" class="Bound">a</a> <a id="3495" class="Symbol">:</a> <a id="3497" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="3499" href="Monad.Instance.Setoids.K.html#3430" class="Bound">Y</a> <a id="3501" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="3502" class="Symbol">}</a> <a id="3504" class="Symbol">{</a><a id="3505" href="Monad.Instance.Setoids.K.html#3505" class="Bound">b</a> <a id="3507" class="Symbol">:</a> <a id="3509" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="3511" href="Monad.Instance.Setoids.K.html#3428" class="Bound">X</a> <a id="3513" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="3514" class="Symbol">}</a> <a id="3516" class="Symbol"></a> <a id="3518" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="3520" href="Monad.Instance.Setoids.K.html#3428" class="Bound">X</a> <a id="3522" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="3525" href="Monad.Instance.Setoids.K.html#3479" class="Bound">x</a> <a id="3527" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="3529" href="Monad.Instance.Setoids.K.html#3481" class="Bound">y</a> <a id="3531" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="3533" class="Symbol"></a> <a id="3535" href="Monad.Instance.Setoids.K.html#3460" class="Bound">f</a> <a id="3537" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="3541" href="Monad.Instance.Setoids.K.html#3479" class="Bound">x</a> <a id="3543" href="Agda.Builtin.Equality.html#150" class="Datatype Operator"></a> <a id="3545" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="3550" href="Monad.Instance.Setoids.K.html#3493" class="Bound">a</a> <a id="3552" class="Symbol"></a> <a id="3554" href="Monad.Instance.Setoids.K.html#3460" class="Bound">f</a> <a id="3556" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="3560" href="Monad.Instance.Setoids.K.html#3481" class="Bound">y</a> <a id="3562" href="Agda.Builtin.Equality.html#150" class="Datatype Operator"></a> <a id="3564" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="3569" href="Monad.Instance.Setoids.K.html#3505" class="Bound">b</a> <a id="3571" class="Symbol"></a> <a id="3573" href="Monad.Instance.Setoids.K.html#3447" class="Bound">A</a>
<a id="3577" href="Monad.Instance.Setoids.K.html#3404" class="Function">absurd-helper</a> <a id="3591" class="Symbol">{</a><a id="3592" href="Monad.Instance.Setoids.K.html#3592" class="Bound">&#39;</a><a id="3594" class="Symbol">}</a> <a id="3596" class="Symbol">{</a><a id="3597" href="Monad.Instance.Setoids.K.html#3597" class="Bound">X</a><a id="3598" class="Symbol">}</a> <a id="3600" class="Symbol">{</a><a id="3601" href="Monad.Instance.Setoids.K.html#3601" class="Bound">Y</a><a id="3602" class="Symbol">}</a> <a id="3604" class="Symbol">{</a><a id="3605" href="Monad.Instance.Setoids.K.html#3605" class="Bound">A</a><a id="3606" class="Symbol">}</a> <a id="3608" href="Monad.Instance.Setoids.K.html#3608" class="Bound">f</a> <a id="3610" class="Symbol">{</a><a id="3611" href="Monad.Instance.Setoids.K.html#3611" class="Bound">x</a><a id="3612" class="Symbol">}</a> <a id="3614" class="Symbol">{</a><a id="3615" href="Monad.Instance.Setoids.K.html#3615" class="Bound">y</a><a id="3616" class="Symbol">}</a> <a id="3618" class="Symbol">{</a><a id="3619" href="Monad.Instance.Setoids.K.html#3619" class="Bound">a</a><a id="3620" class="Symbol">}</a> <a id="3622" class="Symbol">{</a><a id="3623" href="Monad.Instance.Setoids.K.html#3623" class="Bound">b</a><a id="3624" class="Symbol">}</a> <a id="3626" href="Monad.Instance.Setoids.K.html#3626" class="Bound">x≡y</a> <a id="3630" href="Monad.Instance.Setoids.K.html#3630" class="Bound">fi₁</a> <a id="3634" href="Monad.Instance.Setoids.K.html#3634" class="Bound">fi₂</a> <a id="3638" class="Symbol">=</a> <a id="3640" href="Monad.Instance.Setoids.K.html#2549" class="Function">conflict</a> <a id="3649" href="Monad.Instance.Setoids.K.html#3601" class="Bound">Y</a> <a id="3651" href="Monad.Instance.Setoids.K.html#3597" class="Bound">X</a> <a id="3653" href="Monad.Instance.Setoids.K.html#3676" class="Function">helper</a>
<a id="3664" class="Keyword">where</a>
<a id="3676" href="Monad.Instance.Setoids.K.html#3676" class="Function">helper</a> <a id="3683" class="Symbol">:</a> <a id="3685" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="3687" href="Monad.Instance.Setoids.K.html#3601" class="Bound">Y</a> <a id="3689" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="3692" href="Monad.Instance.Setoids.K.html#3597" class="Bound">X</a> <a id="3694" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="3697" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="3702" href="Monad.Instance.Setoids.K.html#3619" class="Bound">a</a> <a id="3704" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="3706" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="3711" href="Monad.Instance.Setoids.K.html#3623" class="Bound">b</a> <a id="3713" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="3721" href="Monad.Instance.Setoids.K.html#3676" class="Function">helper</a> <a id="3728" class="Keyword">rewrite</a> <a id="3736" class="Symbol">(</a><a id="3737" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="3743" href="Monad.Instance.Setoids.K.html#3630" class="Bound">fi₁</a><a id="3746" class="Symbol">)</a> <a id="3748" class="Symbol">|</a> <a id="3750" class="Symbol">(</a><a id="3751" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="3757" href="Monad.Instance.Setoids.K.html#3634" class="Bound">fi₂</a><a id="3760" class="Symbol">)</a> <a id="3762" class="Symbol">=</a> <a id="3764" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="3769" href="Monad.Instance.Setoids.K.html#3608" class="Bound">f</a> <a id="3771" href="Monad.Instance.Setoids.K.html#3626" class="Bound">x≡y</a>
<a id="iter-cong"></a><a id="3778" href="Monad.Instance.Setoids.K.html#3778" class="Function">iter-cong</a> <a id="3789" class="Symbol">:</a> <a id="3791" class="Symbol"></a> <a id="3793" class="Symbol">{</a><a id="3794" href="Monad.Instance.Setoids.K.html#3794" class="Bound">A</a> <a id="3796" href="Monad.Instance.Setoids.K.html#3796" class="Bound">X</a> <a id="3798" class="Symbol">:</a> <a id="3800" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="3807" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="3809" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="3810" class="Symbol">}</a> <a id="3812" class="Symbol">(</a><a id="3813" href="Monad.Instance.Setoids.K.html#3813" class="Bound">f</a> <a id="3815" class="Symbol">:</a> <a id="3817" href="Monad.Instance.Setoids.K.html#3796" class="Bound">X</a> <a id="3819" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="3821" class="Symbol">(</a><a id="3822" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="3830" href="Monad.Instance.Setoids.K.html#3794" class="Bound">A</a> <a id="3832" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="3835" href="Monad.Instance.Setoids.K.html#3796" class="Bound">X</a><a id="3836" class="Symbol">))</a> <a id="3839" class="Symbol">{</a><a id="3840" href="Monad.Instance.Setoids.K.html#3840" class="Bound">x</a> <a id="3842" href="Monad.Instance.Setoids.K.html#3842" class="Bound">y</a> <a id="3844" class="Symbol">:</a> <a id="3846" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="3848" href="Monad.Instance.Setoids.K.html#3796" class="Bound">X</a> <a id="3850" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="3851" class="Symbol">}</a> <a id="3853" class="Symbol"></a> <a id="3855" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="3857" href="Monad.Instance.Setoids.K.html#3796" class="Bound">X</a> <a id="3859" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="3862" href="Monad.Instance.Setoids.K.html#3840" class="Bound">x</a> <a id="3864" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="3866" href="Monad.Instance.Setoids.K.html#3842" class="Bound">y</a> <a id="3868" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="3870" class="Symbol"></a> <a id="3872" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">[</a> <a id="3874" href="Monad.Instance.Setoids.K.html#3794" class="Bound">A</a> <a id="3876" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">][</a> <a id="3879" class="Symbol">(</a><a id="3880" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="3885" class="Symbol">{</a><a id="3886" href="Monad.Instance.Setoids.K.html#3794" class="Bound">A</a><a id="3887" class="Symbol">}</a> <a id="3889" class="Symbol">{</a><a id="3890" href="Monad.Instance.Setoids.K.html#3796" class="Bound">X</a><a id="3891" class="Symbol">}</a> <a id="3893" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="3895" href="Monad.Instance.Setoids.K.html#3813" class="Bound">f</a> <a id="3897" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="3899" href="Monad.Instance.Setoids.K.html#3840" class="Bound">x</a><a id="3900" class="Symbol">)</a> <a id="3902" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator"></a> <a id="3904" class="Symbol">(</a><a id="3905" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="3910" class="Symbol">{</a><a id="3911" href="Monad.Instance.Setoids.K.html#3794" class="Bound">A</a><a id="3912" class="Symbol">}</a> <a id="3914" class="Symbol">{</a><a id="3915" href="Monad.Instance.Setoids.K.html#3796" class="Bound">X</a><a id="3916" class="Symbol">}</a> <a id="3918" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="3920" href="Monad.Instance.Setoids.K.html#3813" class="Bound">f</a> <a id="3922" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="3924" href="Monad.Instance.Setoids.K.html#3842" class="Bound">y</a><a id="3925" class="Symbol">)</a> <a id="3927" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">]</a>
<a id="iter-cong"></a><a id="3931" href="Monad.Instance.Setoids.K.html#3931" class="Function">iter-cong</a> <a id="3943" class="Symbol">:</a> <a id="3945" class="Symbol"></a> <a id="3947" class="Symbol">{</a><a id="3948" href="Monad.Instance.Setoids.K.html#3948" class="Bound">A</a> <a id="3950" href="Monad.Instance.Setoids.K.html#3950" class="Bound">X</a> <a id="3952" class="Symbol">:</a> <a id="3954" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="3961" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="3963" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="3964" class="Symbol">}</a> <a id="3966" class="Symbol">(</a><a id="3967" href="Monad.Instance.Setoids.K.html#3967" class="Bound">f</a> <a id="3969" class="Symbol">:</a> <a id="3971" href="Monad.Instance.Setoids.K.html#3950" class="Bound">X</a> <a id="3973" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="3975" class="Symbol">(</a><a id="3976" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="3984" href="Monad.Instance.Setoids.K.html#3948" class="Bound">A</a> <a id="3986" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="3989" href="Monad.Instance.Setoids.K.html#3950" class="Bound">X</a><a id="3990" class="Symbol">))</a> <a id="3993" class="Symbol">{</a><a id="3994" href="Monad.Instance.Setoids.K.html#3994" class="Bound">x</a> <a id="3996" href="Monad.Instance.Setoids.K.html#3996" class="Bound">y</a> <a id="3998" class="Symbol">:</a> <a id="4000" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="4002" href="Monad.Instance.Setoids.K.html#3950" class="Bound">X</a> <a id="4004" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="4005" class="Symbol">}</a> <a id="4007" class="Symbol"></a> <a id="4009" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="4011" href="Monad.Instance.Setoids.K.html#3950" class="Bound">X</a> <a id="4013" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="4016" href="Monad.Instance.Setoids.K.html#3994" class="Bound">x</a> <a id="4018" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="4020" href="Monad.Instance.Setoids.K.html#3996" class="Bound">y</a> <a id="4022" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="4024" class="Symbol"></a> <a id="4026" href="Monad.Instance.Setoids.K.html#1895" class="Record Operator">[</a> <a id="4028" href="Monad.Instance.Setoids.K.html#3948" class="Bound">A</a> <a id="4030" href="Monad.Instance.Setoids.K.html#1895" class="Record Operator">][</a> <a id="4033" class="Symbol">(</a><a id="4034" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="4039" class="Symbol">{</a><a id="4040" href="Monad.Instance.Setoids.K.html#3948" class="Bound">A</a><a id="4041" class="Symbol">}</a> <a id="4043" class="Symbol">{</a><a id="4044" href="Monad.Instance.Setoids.K.html#3950" class="Bound">X</a><a id="4045" class="Symbol">}</a> <a id="4047" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="4049" href="Monad.Instance.Setoids.K.html#3967" class="Bound">f</a> <a id="4051" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="4053" href="Monad.Instance.Setoids.K.html#3994" class="Bound">x</a><a id="4054" class="Symbol">)</a> <a id="4056" href="Monad.Instance.Setoids.K.html#1895" class="Record Operator"></a> <a id="4059" class="Symbol">(</a><a id="4060" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="4065" class="Symbol">{</a><a id="4066" href="Monad.Instance.Setoids.K.html#3948" class="Bound">A</a><a id="4067" class="Symbol">}</a> <a id="4069" class="Symbol">{</a><a id="4070" href="Monad.Instance.Setoids.K.html#3950" class="Bound">X</a><a id="4071" class="Symbol">}</a> <a id="4073" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="4075" href="Monad.Instance.Setoids.K.html#3967" class="Bound">f</a> <a id="4077" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="4079" href="Monad.Instance.Setoids.K.html#3996" class="Bound">y</a><a id="4080" class="Symbol">)</a> <a id="4082" href="Monad.Instance.Setoids.K.html#1895" class="Record Operator">]</a>
<a id="4086" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force</a> <a id="4093" class="Symbol">(</a><a id="4094" href="Monad.Instance.Setoids.K.html#3931" class="Function">iter-cong</a> <a id="4106" class="Symbol">{</a><a id="4107" href="Monad.Instance.Setoids.K.html#4107" class="Bound">A</a><a id="4108" class="Symbol">}</a> <a id="4110" class="Symbol">{</a><a id="4111" href="Monad.Instance.Setoids.K.html#4111" class="Bound">X</a><a id="4112" class="Symbol">}</a> <a id="4114" href="Monad.Instance.Setoids.K.html#4114" class="Bound">f</a> <a id="4116" class="Symbol">{</a><a id="4117" href="Monad.Instance.Setoids.K.html#4117" class="Bound">x</a><a id="4118" class="Symbol">}</a> <a id="4120" class="Symbol">{</a><a id="4121" href="Monad.Instance.Setoids.K.html#4121" class="Bound">y</a><a id="4122" class="Symbol">}</a> <a id="4124" href="Monad.Instance.Setoids.K.html#4124" class="Bound">x≡y</a><a id="4127" class="Symbol">)</a> <a id="4129" class="Symbol">=</a> <a id="4131" href="Monad.Instance.Setoids.K.html#3778" class="Function">iter-cong</a> <a id="4142" href="Monad.Instance.Setoids.K.html#4114" class="Bound">f</a> <a id="4144" href="Monad.Instance.Setoids.K.html#4124" class="Bound">x≡y</a>
<a id="4150" href="Monad.Instance.Setoids.K.html#3778" class="Function">iter-cong</a> <a id="4161" class="Symbol">{</a><a id="4162" href="Monad.Instance.Setoids.K.html#4162" class="Bound">A</a><a id="4163" class="Symbol">}</a> <a id="4165" class="Symbol">{</a><a id="4166" href="Monad.Instance.Setoids.K.html#4166" class="Bound">X</a><a id="4167" class="Symbol">}</a> <a id="4169" href="Monad.Instance.Setoids.K.html#4169" class="Bound">f</a> <a id="4171" class="Symbol">{</a><a id="4172" href="Monad.Instance.Setoids.K.html#4172" class="Bound">x</a><a id="4173" class="Symbol">}</a> <a id="4175" class="Symbol">{</a><a id="4176" href="Monad.Instance.Setoids.K.html#4176" class="Bound">y</a><a id="4177" class="Symbol">}</a> <a id="4179" href="Monad.Instance.Setoids.K.html#4179" class="Bound">x≡y</a> <a id="4183" class="Keyword">with</a> <a id="4188" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="4190" href="Monad.Instance.Setoids.K.html#4169" class="Bound">f</a> <a id="4192" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="4194" href="Monad.Instance.Setoids.K.html#4172" class="Bound">x</a> <a id="4196" class="Keyword">in</a> <a id="4199" class="Argument">eqx</a> <a id="4203" class="Symbol">|</a> <a id="4205" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="4207" href="Monad.Instance.Setoids.K.html#4169" class="Bound">f</a> <a id="4209" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="4211" href="Monad.Instance.Setoids.K.html#4176" class="Bound">y</a> <a id="4213" class="Keyword">in</a> <a id="4216" class="Argument">eqy</a>
<a id="4222" class="Symbol">...</a> <a id="4254" class="Symbol">|</a> <a id="4256" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="4261" href="Monad.Instance.Setoids.K.html#4261" class="Bound">a</a> <a id="4274" class="Symbol">|</a> <a id="4276" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="4281" href="Monad.Instance.Setoids.K.html#4281" class="Bound">b</a> <a id="4290" class="Symbol">=</a> <a id="4292" href="Monad.Instance.Setoids.K.html#2686" class="Function">inj₁-helper</a> <a id="4304" class="Bound">f</a> <a id="4306" class="Bound">x≡y</a> <a id="4310" href="Monad.Instance.Setoids.K.html#4199" class="Bound">eqx</a> <a id="4314" href="Monad.Instance.Setoids.K.html#4216" class="Bound">eqy</a>
<a id="4320" class="Symbol">...</a> <a id="4352" class="Symbol">|</a> <a id="4354" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="4359" href="Monad.Instance.Setoids.K.html#4359" class="Bound">a</a> <a id="4372" class="Symbol">|</a> <a id="4374" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="4379" href="Monad.Instance.Setoids.K.html#4379" class="Bound">b</a> <a id="4388" class="Symbol">=</a> <a id="4390" href="Monad.Instance.Setoids.K.html#3404" class="Function">absurd-helper</a> <a id="4404" class="Bound">f</a> <a id="4406" class="Bound">x≡y</a> <a id="4410" href="Monad.Instance.Setoids.K.html#4199" class="Bound">eqx</a> <a id="4414" href="Monad.Instance.Setoids.K.html#4216" class="Bound">eqy</a>
<a id="4420" class="Symbol">...</a> <a id="4452" class="Symbol">|</a> <a id="4454" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="4459" href="Monad.Instance.Setoids.K.html#4459" class="Bound">a</a> <a id="4472" class="Symbol">|</a> <a id="4474" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="4479" href="Monad.Instance.Setoids.K.html#4479" class="Bound">b</a> <a id="4488" class="Symbol">=</a> <a id="4490" href="Monad.Instance.Setoids.K.html#3404" class="Function">absurd-helper</a> <a id="4504" class="Bound">f</a> <a id="4506" class="Symbol">(</a><a id="4507" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="4513" class="Bound">X</a> <a id="4515" class="Bound">x≡y</a><a id="4518" class="Symbol">)</a> <a id="4520" href="Monad.Instance.Setoids.K.html#4216" class="Bound">eqy</a> <a id="4524" href="Monad.Instance.Setoids.K.html#4199" class="Bound">eqx</a>
<a id="4530" class="Symbol">...</a> <a id="4562" class="Symbol">|</a> <a id="4564" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="4569" href="Monad.Instance.Setoids.K.html#4569" class="Bound">a</a> <a id="4582" class="Symbol">|</a> <a id="4584" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="4589" href="Monad.Instance.Setoids.K.html#4589" class="Bound">b</a> <a id="4598" class="Symbol">=</a> <a id="4600" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later</a> <a id="4607" class="Symbol">(</a><a id="4608" href="Monad.Instance.Setoids.K.html#3931" class="Function">iter-cong</a> <a id="4620" class="Symbol">{</a><a id="4621" class="Bound">A</a><a id="4622" class="Symbol">}</a> <a id="4624" class="Symbol">{</a><a id="4625" class="Bound">X</a><a id="4626" class="Symbol">}</a> <a id="4628" class="Bound">f</a> <a id="4630" class="Symbol">(</a><a id="4631" href="Monad.Instance.Setoids.K.html#3045" class="Function">inj₂-helper</a> <a id="4643" class="Bound">f</a> <a id="4645" class="Bound">x≡y</a> <a id="4649" href="Monad.Instance.Setoids.K.html#4199" class="Bound">eqx</a> <a id="4653" href="Monad.Instance.Setoids.K.html#4216" class="Bound">eqy</a><a id="4656" class="Symbol">))</a>
<a id="iter-cong"></a><a id="4662" href="Monad.Instance.Setoids.K.html#4662" class="Function">iter-cong</a> <a id="4672" class="Symbol">:</a> <a id="4674" class="Symbol"></a> <a id="4676" class="Symbol">{</a><a id="4677" href="Monad.Instance.Setoids.K.html#4677" class="Bound">A</a> <a id="4679" href="Monad.Instance.Setoids.K.html#4679" class="Bound">X</a> <a id="4681" class="Symbol">:</a> <a id="4683" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="4690" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="4692" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="4693" class="Symbol">}</a> <a id="4695" class="Symbol">(</a><a id="4696" href="Monad.Instance.Setoids.K.html#4696" class="Bound">f</a> <a id="4698" class="Symbol">:</a> <a id="4700" href="Monad.Instance.Setoids.K.html#4679" class="Bound">X</a> <a id="4702" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="4704" class="Symbol">(</a><a id="4705" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="4712" href="Monad.Instance.Setoids.K.html#4677" class="Bound">A</a> <a id="4714" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="4717" href="Monad.Instance.Setoids.K.html#4679" class="Bound">X</a><a id="4718" class="Symbol">))</a> <a id="4721" class="Symbol">{</a><a id="4722" href="Monad.Instance.Setoids.K.html#4722" class="Bound">x</a> <a id="4724" href="Monad.Instance.Setoids.K.html#4724" class="Bound">y</a> <a id="4726" class="Symbol">:</a> <a id="4728" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="4730" href="Monad.Instance.Setoids.K.html#4679" class="Bound">X</a> <a id="4732" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="4733" class="Symbol">}</a> <a id="4735" class="Symbol"></a> <a id="4737" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="4739" href="Monad.Instance.Setoids.K.html#4679" class="Bound">X</a> <a id="4741" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="4744" href="Monad.Instance.Setoids.K.html#4722" class="Bound">x</a> <a id="4746" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="4748" href="Monad.Instance.Setoids.K.html#4724" class="Bound">y</a> <a id="4750" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="4752" class="Symbol"></a> <a id="4754" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">[</a> <a id="4756" href="Monad.Instance.Setoids.K.html#4677" class="Bound">A</a> <a id="4758" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">][</a> <a id="4761" class="Symbol">(</a><a id="4762" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="4767" class="Symbol">{</a><a id="4768" href="Monad.Instance.Setoids.K.html#4677" class="Bound">A</a><a id="4769" class="Symbol">}</a> <a id="4771" class="Symbol">{</a><a id="4772" href="Monad.Instance.Setoids.K.html#4679" class="Bound">X</a><a id="4773" class="Symbol">}</a> <a id="4775" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="4777" href="Monad.Instance.Setoids.K.html#4696" class="Bound">f</a> <a id="4779" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="4781" href="Monad.Instance.Setoids.K.html#4722" class="Bound">x</a><a id="4782" class="Symbol">)</a> <a id="4784" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator"></a> <a id="4786" class="Symbol">(</a><a id="4787" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="4792" class="Symbol">{</a><a id="4793" href="Monad.Instance.Setoids.K.html#4677" class="Bound">A</a><a id="4794" class="Symbol">}</a> <a id="4796" class="Symbol">{</a><a id="4797" href="Monad.Instance.Setoids.K.html#4679" class="Bound">X</a><a id="4798" class="Symbol">}</a> <a id="4800" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="4802" href="Monad.Instance.Setoids.K.html#4696" class="Bound">f</a> <a id="4804" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="4806" href="Monad.Instance.Setoids.K.html#4724" class="Bound">y</a><a id="4807" class="Symbol">)</a> <a id="4809" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">]</a>
<a id="iter-cong"></a><a id="4813" href="Monad.Instance.Setoids.K.html#4813" class="Function">iter-cong</a> <a id="4824" class="Symbol">:</a> <a id="4826" class="Symbol"></a> <a id="4828" class="Symbol">{</a><a id="4829" href="Monad.Instance.Setoids.K.html#4829" class="Bound">A</a> <a id="4831" href="Monad.Instance.Setoids.K.html#4831" class="Bound">X</a> <a id="4833" class="Symbol">:</a> <a id="4835" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="4842" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="4844" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="4845" class="Symbol">}</a> <a id="4847" class="Symbol">(</a><a id="4848" href="Monad.Instance.Setoids.K.html#4848" class="Bound">f</a> <a id="4850" class="Symbol">:</a> <a id="4852" href="Monad.Instance.Setoids.K.html#4831" class="Bound">X</a> <a id="4854" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="4856" class="Symbol">(</a><a id="4857" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="4864" href="Monad.Instance.Setoids.K.html#4829" class="Bound">A</a> <a id="4866" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="4869" href="Monad.Instance.Setoids.K.html#4831" class="Bound">X</a><a id="4870" class="Symbol">))</a> <a id="4873" class="Symbol">{</a><a id="4874" href="Monad.Instance.Setoids.K.html#4874" class="Bound">x</a> <a id="4876" href="Monad.Instance.Setoids.K.html#4876" class="Bound">y</a> <a id="4878" class="Symbol">:</a> <a id="4880" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="4882" href="Monad.Instance.Setoids.K.html#4831" class="Bound">X</a> <a id="4884" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="4885" class="Symbol">}</a> <a id="4887" class="Symbol"></a> <a id="4889" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="4891" href="Monad.Instance.Setoids.K.html#4831" class="Bound">X</a> <a id="4893" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="4896" href="Monad.Instance.Setoids.K.html#4874" class="Bound">x</a> <a id="4898" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="4900" href="Monad.Instance.Setoids.K.html#4876" class="Bound">y</a> <a id="4902" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="4904" class="Symbol"></a> <a id="4906" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">[</a> <a id="4908" href="Monad.Instance.Setoids.K.html#4829" class="Bound">A</a> <a id="4910" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">][</a> <a id="4913" class="Symbol">(</a><a id="4914" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="4919" class="Symbol">{</a><a id="4920" href="Monad.Instance.Setoids.K.html#4829" class="Bound">A</a><a id="4921" class="Symbol">}</a> <a id="4923" class="Symbol">{</a><a id="4924" href="Monad.Instance.Setoids.K.html#4831" class="Bound">X</a><a id="4925" class="Symbol">}</a> <a id="4927" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="4929" href="Monad.Instance.Setoids.K.html#4848" class="Bound">f</a> <a id="4931" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="4933" href="Monad.Instance.Setoids.K.html#4874" class="Bound">x</a><a id="4934" class="Symbol">)</a> <a id="4936" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">≈′</a> <a id="4939" class="Symbol">(</a><a id="4940" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="4945" class="Symbol">{</a><a id="4946" href="Monad.Instance.Setoids.K.html#4829" class="Bound">A</a><a id="4947" class="Symbol">}</a> <a id="4949" class="Symbol">{</a><a id="4950" href="Monad.Instance.Setoids.K.html#4831" class="Bound">X</a><a id="4951" class="Symbol">}</a> <a id="4953" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="4955" href="Monad.Instance.Setoids.K.html#4848" class="Bound">f</a> <a id="4957" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="4959" href="Monad.Instance.Setoids.K.html#4876" class="Bound">y</a><a id="4960" class="Symbol">)</a> <a id="4962" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">]</a>
<a id="4966" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="4973" class="Symbol">(</a><a id="4974" href="Monad.Instance.Setoids.K.html#4813" class="Function">iter-cong</a> <a id="4985" class="Symbol">{</a><a id="4986" href="Monad.Instance.Setoids.K.html#4986" class="Bound">A</a><a id="4987" class="Symbol">}</a> <a id="4989" class="Symbol">{</a><a id="4990" href="Monad.Instance.Setoids.K.html#4990" class="Bound">X</a><a id="4991" class="Symbol">}</a> <a id="4993" href="Monad.Instance.Setoids.K.html#4993" class="Bound">f</a> <a id="4995" class="Symbol">{</a><a id="4996" href="Monad.Instance.Setoids.K.html#4996" class="Bound">x</a><a id="4997" class="Symbol">}</a> <a id="4999" class="Symbol">{</a><a id="5000" href="Monad.Instance.Setoids.K.html#5000" class="Bound">y</a><a id="5001" class="Symbol">}</a> <a id="5003" href="Monad.Instance.Setoids.K.html#5003" class="Bound">x≡y</a><a id="5006" class="Symbol">)</a> <a id="5008" class="Symbol">=</a> <a id="5010" href="Monad.Instance.Setoids.K.html#4662" class="Function">iter-cong</a> <a id="5020" href="Monad.Instance.Setoids.K.html#4993" class="Bound">f</a> <a id="5022" href="Monad.Instance.Setoids.K.html#5003" class="Bound">x≡y</a>
<a id="5028" href="Monad.Instance.Setoids.K.html#4662" class="Function">iter-cong</a> <a id="5038" class="Symbol">{</a><a id="5039" href="Monad.Instance.Setoids.K.html#5039" class="Bound">A</a><a id="5040" class="Symbol">}</a> <a id="5042" class="Symbol">{</a><a id="5043" href="Monad.Instance.Setoids.K.html#5043" class="Bound">X</a><a id="5044" class="Symbol">}</a> <a id="5046" href="Monad.Instance.Setoids.K.html#5046" class="Bound">f</a> <a id="5048" class="Symbol">{</a><a id="5049" href="Monad.Instance.Setoids.K.html#5049" class="Bound">x</a><a id="5050" class="Symbol">}</a> <a id="5052" class="Symbol">{</a><a id="5053" href="Monad.Instance.Setoids.K.html#5053" class="Bound">y</a><a id="5054" class="Symbol">}</a> <a id="5056" href="Monad.Instance.Setoids.K.html#5056" class="Bound">x≡y</a> <a id="5060" class="Keyword">with</a> <a id="5065" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="5067" href="Monad.Instance.Setoids.K.html#5046" class="Bound">f</a> <a id="5069" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="5071" href="Monad.Instance.Setoids.K.html#5049" class="Bound">x</a> <a id="5073" class="Keyword">in</a> <a id="5076" class="Argument">eqx</a> <a id="5080" class="Symbol">|</a> <a id="5082" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="5084" href="Monad.Instance.Setoids.K.html#5046" class="Bound">f</a> <a id="5086" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="5088" href="Monad.Instance.Setoids.K.html#5053" class="Bound">y</a> <a id="5090" class="Keyword">in</a> <a id="5093" class="Argument">eqy</a>
<a id="5100" class="Symbol">...</a> <a id="5132" class="Symbol">|</a> <a id="5134" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="5139" href="Monad.Instance.Setoids.K.html#5139" class="Bound">a</a> <a id="5152" class="Symbol">|</a> <a id="5154" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="5159" href="Monad.Instance.Setoids.K.html#5159" class="Bound">b</a> <a id="5168" class="Symbol">=</a> <a id="5170" href="Monad.Instance.Setoids.K.html#2686" class="Function">inj₁-helper</a> <a id="5182" class="Bound">f</a> <a id="5184" class="Bound">x≡y</a> <a id="5188" href="Monad.Instance.Setoids.K.html#5076" class="Bound">eqx</a> <a id="5192" href="Monad.Instance.Setoids.K.html#5093" class="Bound">eqy</a>
<a id="5198" class="Symbol">...</a> <a id="5230" class="Symbol">|</a> <a id="5232" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="5237" href="Monad.Instance.Setoids.K.html#5237" class="Bound">a</a> <a id="5250" class="Symbol">|</a> <a id="5252" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="5257" href="Monad.Instance.Setoids.K.html#5257" class="Bound">b</a> <a id="5266" class="Symbol">=</a> <a id="5268" href="Monad.Instance.Setoids.K.html#3404" class="Function">absurd-helper</a> <a id="5282" class="Bound">f</a> <a id="5284" class="Bound">x≡y</a> <a id="5288" href="Monad.Instance.Setoids.K.html#5076" class="Bound">eqx</a> <a id="5292" href="Monad.Instance.Setoids.K.html#5093" class="Bound">eqy</a>
<a id="5298" class="Symbol">...</a> <a id="5330" class="Symbol">|</a> <a id="5332" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="5337" href="Monad.Instance.Setoids.K.html#5337" class="Bound">a</a> <a id="5350" class="Symbol">|</a> <a id="5352" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="5357" href="Monad.Instance.Setoids.K.html#5357" class="Bound">b</a> <a id="5366" class="Symbol">=</a> <a id="5368" href="Monad.Instance.Setoids.K.html#3404" class="Function">absurd-helper</a> <a id="5382" class="Bound">f</a> <a id="5384" class="Symbol">(</a><a id="5385" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="5391" class="Bound">X</a> <a id="5393" class="Bound">x≡y</a><a id="5396" class="Symbol">)</a> <a id="5398" href="Monad.Instance.Setoids.K.html#5093" class="Bound">eqy</a> <a id="5402" href="Monad.Instance.Setoids.K.html#5076" class="Bound">eqx</a>
<a id="5408" class="Symbol">...</a> <a id="5440" class="Symbol">|</a> <a id="5442" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="5447" href="Monad.Instance.Setoids.K.html#5447" class="Bound">a</a> <a id="5460" class="Symbol">|</a> <a id="5462" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="5467" href="Monad.Instance.Setoids.K.html#5467" class="Bound">b</a> <a id="5476" class="Symbol">=</a> <a id="5478" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="5485" class="Symbol">(</a><a id="5486" href="Monad.Instance.Setoids.K.html#4813" class="Function">iter-cong</a> <a id="5497" class="Symbol">{</a><a id="5498" class="Bound">A</a><a id="5499" class="Symbol">}</a> <a id="5501" class="Symbol">{</a><a id="5502" class="Bound">X</a><a id="5503" class="Symbol">}</a> <a id="5505" class="Bound">f</a> <a id="5507" class="Symbol">(</a><a id="5508" href="Monad.Instance.Setoids.K.html#3045" class="Function">inj₂-helper</a> <a id="5520" class="Bound">f</a> <a id="5522" class="Bound">x≡y</a> <a id="5526" href="Monad.Instance.Setoids.K.html#5076" class="Bound">eqx</a> <a id="5530" href="Monad.Instance.Setoids.K.html#5093" class="Bound">eqy</a><a id="5533" class="Symbol">))</a>
<a id="iterₛ"></a><a id="5539" href="Monad.Instance.Setoids.K.html#5539" class="Function">iterₛ</a> <a id="5546" class="Symbol">:</a> <a id="5548" class="Symbol"></a> <a id="5550" class="Symbol">{</a><a id="5551" href="Monad.Instance.Setoids.K.html#5551" class="Bound">A</a> <a id="5553" href="Monad.Instance.Setoids.K.html#5553" class="Bound">X</a> <a id="5555" class="Symbol">:</a> <a id="5557" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="5564" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="5566" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="5567" class="Symbol">}</a> <a id="5569" class="Symbol"></a> <a id="5571" class="Symbol">(</a><a id="5572" href="Monad.Instance.Setoids.K.html#5553" class="Bound">X</a> <a id="5574" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="5576" class="Symbol">(</a><a id="5577" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="5585" href="Monad.Instance.Setoids.K.html#5551" class="Bound">A</a> <a id="5587" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="5590" href="Monad.Instance.Setoids.K.html#5553" class="Bound">X</a><a id="5591" class="Symbol">))</a> <a id="5594" class="Symbol"></a> <a id="5596" href="Monad.Instance.Setoids.K.html#5553" class="Bound">X</a> <a id="5598" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="5600" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="5608" href="Monad.Instance.Setoids.K.html#5551" class="Bound">A</a>
<a id="5612" href="Monad.Instance.Setoids.K.html#5539" class="Function">iterₛ</a> <a id="5619" class="Symbol">{</a><a id="5620" href="Monad.Instance.Setoids.K.html#5620" class="Bound">A</a><a id="5621" class="Symbol">}</a> <a id="5623" class="Symbol">{</a><a id="5624" href="Monad.Instance.Setoids.K.html#5624" class="Bound">X</a><a id="5625" class="Symbol">}</a> <a id="5627" href="Monad.Instance.Setoids.K.html#5627" class="Bound">f</a> <a id="5629" class="Symbol">=</a> <a id="5631" class="Keyword">record</a> <a id="5638" class="Symbol">{</a> <a id="5640" href="Function.Bundles.html#2094" class="Field">to</a> <a id="5643" class="Symbol">=</a> <a id="5645" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="5650" class="Symbol">{</a><a id="5651" href="Monad.Instance.Setoids.K.html#5620" class="Bound">A</a><a id="5652" class="Symbol">}</a> <a id="5654" class="Symbol">{</a><a id="5655" href="Monad.Instance.Setoids.K.html#5624" class="Bound">X</a><a id="5656" class="Symbol">}</a> <a id="5658" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="5660" href="Monad.Instance.Setoids.K.html#5627" class="Bound">f</a> <a id="5662" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="5664" class="Symbol">;</a> <a id="5666" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="5671" class="Symbol">=</a> <a id="5673" href="Monad.Instance.Setoids.K.html#3778" class="Function">iter-cong</a> <a id="5684" class="Symbol">{</a><a id="5685" href="Monad.Instance.Setoids.K.html#5620" class="Bound">A</a><a id="5686" class="Symbol">}</a> <a id="5688" class="Symbol">{</a><a id="5689" href="Monad.Instance.Setoids.K.html#5624" class="Bound">X</a><a id="5690" class="Symbol">}</a> <a id="5692" href="Monad.Instance.Setoids.K.html#5627" class="Bound">f</a> <a id="5694" class="Symbol">}</a>
<a id="iterₛ"></a><a id="5699" href="Monad.Instance.Setoids.K.html#5699" class="Function">iterₛ</a> <a id="5705" class="Symbol">:</a> <a id="5707" class="Symbol"></a> <a id="5709" class="Symbol">{</a><a id="5710" href="Monad.Instance.Setoids.K.html#5710" class="Bound">A</a> <a id="5712" href="Monad.Instance.Setoids.K.html#5712" class="Bound">X</a> <a id="5714" class="Symbol">:</a> <a id="5716" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="5723" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="5725" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="5726" class="Symbol">}</a> <a id="5728" class="Symbol"></a> <a id="5730" class="Symbol">(</a><a id="5731" href="Monad.Instance.Setoids.K.html#5712" class="Bound">X</a> <a id="5733" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="5735" class="Symbol">(</a><a id="5736" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="5743" href="Monad.Instance.Setoids.K.html#5710" class="Bound">A</a> <a id="5745" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="5748" href="Monad.Instance.Setoids.K.html#5712" class="Bound">X</a><a id="5749" class="Symbol">))</a> <a id="5752" class="Symbol"></a> <a id="5754" href="Monad.Instance.Setoids.K.html#5712" class="Bound">X</a> <a id="5756" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="5758" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="5765" href="Monad.Instance.Setoids.K.html#5710" class="Bound">A</a>
<a id="5769" href="Monad.Instance.Setoids.K.html#5699" class="Function">iterₛ</a> <a id="5775" class="Symbol">{</a><a id="5776" href="Monad.Instance.Setoids.K.html#5776" class="Bound">A</a><a id="5777" class="Symbol">}</a> <a id="5779" class="Symbol">{</a><a id="5780" href="Monad.Instance.Setoids.K.html#5780" class="Bound">X</a><a id="5781" class="Symbol">}</a> <a id="5783" href="Monad.Instance.Setoids.K.html#5783" class="Bound">f</a> <a id="5785" class="Symbol">=</a> <a id="5787" class="Keyword">record</a> <a id="5794" class="Symbol">{</a> <a id="5796" href="Function.Bundles.html#2094" class="Field">to</a> <a id="5799" class="Symbol">=</a> <a id="5801" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="5806" class="Symbol">{</a><a id="5807" href="Monad.Instance.Setoids.K.html#5776" class="Bound">A</a><a id="5808" class="Symbol">}</a> <a id="5810" class="Symbol">{</a><a id="5811" href="Monad.Instance.Setoids.K.html#5780" class="Bound">X</a><a id="5812" class="Symbol">}</a> <a id="5814" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="5816" href="Monad.Instance.Setoids.K.html#5783" class="Bound">f</a> <a id="5818" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="5820" class="Symbol">;</a> <a id="5822" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="5827" class="Symbol">=</a> <a id="5829" href="Monad.Instance.Setoids.K.html#4662" class="Function">iter-cong</a> <a id="5839" class="Symbol">{</a><a id="5840" href="Monad.Instance.Setoids.K.html#5776" class="Bound">A</a><a id="5841" class="Symbol">}</a> <a id="5843" class="Symbol">{</a><a id="5844" href="Monad.Instance.Setoids.K.html#5780" class="Bound">X</a><a id="5845" class="Symbol">}</a> <a id="5847" href="Monad.Instance.Setoids.K.html#5783" class="Bound">f</a> <a id="5849" class="Symbol">}</a>
<a id="iter-fixpoint"></a><a id="5854" href="Monad.Instance.Setoids.K.html#5854" class="Function">iter-fixpoint</a> <a id="5868" class="Symbol">:</a> <a id="5870" class="Symbol"></a> <a id="5872" class="Symbol">{</a><a id="5873" href="Monad.Instance.Setoids.K.html#5873" class="Bound">A</a> <a id="5875" href="Monad.Instance.Setoids.K.html#5875" class="Bound">X</a> <a id="5877" class="Symbol">:</a> <a id="5879" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="5886" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="5888" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="5889" class="Symbol">}</a> <a id="5891" class="Symbol">{</a><a id="5892" href="Monad.Instance.Setoids.K.html#5892" class="Bound">f</a> <a id="5894" class="Symbol">:</a> <a id="5896" href="Monad.Instance.Setoids.K.html#5875" class="Bound">X</a> <a id="5898" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="5900" class="Symbol">(</a><a id="5901" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="5908" href="Monad.Instance.Setoids.K.html#5873" class="Bound">A</a> <a id="5910" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="5913" href="Monad.Instance.Setoids.K.html#5875" class="Bound">X</a><a id="5914" class="Symbol">)}</a> <a id="5917" class="Symbol">{</a><a id="5918" href="Monad.Instance.Setoids.K.html#5918" class="Bound">x</a> <a id="5920" class="Symbol">:</a> <a id="5922" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="5924" href="Monad.Instance.Setoids.K.html#5875" class="Bound">X</a> <a id="5926" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="5927" class="Symbol">}</a> <a id="5929" class="Symbol"></a> <a id="5931" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">[</a> <a id="5933" href="Monad.Instance.Setoids.K.html#5873" class="Bound">A</a> <a id="5935" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">][</a> <a id="5938" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="5943" class="Symbol">{</a><a id="5944" href="Monad.Instance.Setoids.K.html#5873" class="Bound">A</a><a id="5945" class="Symbol">}</a> <a id="5947" class="Symbol">{</a><a id="5948" href="Monad.Instance.Setoids.K.html#5875" class="Bound">X</a><a id="5949" class="Symbol">}</a> <a id="5951" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="5953" href="Monad.Instance.Setoids.K.html#5892" class="Bound">f</a> <a id="5955" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="5957" href="Monad.Instance.Setoids.K.html#5918" class="Bound">x</a> <a id="5959" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator"></a> <a id="5961" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="5963" href="Function.Base.html#704" class="Function">Function.id</a> <a id="5975" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="5977" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="5982" class="Symbol">{</a><a id="5983" href="Monad.Instance.Setoids.K.html#5873" class="Bound">A</a><a id="5984" class="Symbol">}</a> <a id="5986" class="Symbol">{</a><a id="5987" href="Monad.Instance.Setoids.K.html#5875" class="Bound">X</a><a id="5988" class="Symbol">}</a> <a id="5990" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="5992" href="Monad.Instance.Setoids.K.html#5892" class="Bound">f</a> <a id="5994" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="5996" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="5998" class="Symbol">(</a><a id="5999" href="Monad.Instance.Setoids.K.html#5892" class="Bound">f</a> <a id="6001" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6005" href="Monad.Instance.Setoids.K.html#5918" class="Bound">x</a><a id="6006" class="Symbol">)</a> <a id="6008" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">]</a>
<a id="6012" href="Monad.Instance.Setoids.K.html#5854" class="Function">iter-fixpoint</a> <a id="6026" class="Symbol">{</a><a id="6027" href="Monad.Instance.Setoids.K.html#6027" class="Bound">A</a><a id="6028" class="Symbol">}</a> <a id="6030" class="Symbol">{</a><a id="6031" href="Monad.Instance.Setoids.K.html#6031" class="Bound">X</a><a id="6032" class="Symbol">}</a> <a id="6034" class="Symbol">{</a><a id="6035" href="Monad.Instance.Setoids.K.html#6035" class="Bound">f</a><a id="6036" class="Symbol">}</a> <a id="6038" class="Symbol">{</a><a id="6039" href="Monad.Instance.Setoids.K.html#6039" class="Bound">x</a><a id="6040" class="Symbol">}</a> <a id="6042" class="Keyword">with</a> <a id="6047" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="6049" href="Monad.Instance.Setoids.K.html#6035" class="Bound">f</a> <a id="6051" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="6053" href="Monad.Instance.Setoids.K.html#6039" class="Bound">x</a> <a id="6055" class="Keyword">in</a> <a id="6058" class="Argument">eqx</a>
<a id="6064" class="Symbol">...</a> <a id="6102" class="Symbol">|</a> <a id="6104" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="6109" href="Monad.Instance.Setoids.K.html#6109" class="Bound">a</a> <a id="6111" class="Symbol">=</a> <a id="6113" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="6120" class="Bound">A</a>
<a id="6124" class="Symbol">...</a> <a id="6162" class="Symbol">|</a> <a id="6164" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="6169" href="Monad.Instance.Setoids.K.html#6169" class="Bound">a</a> <a id="6171" class="Symbol">=</a> <a id="6173" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="6181" class="Bound">A</a> <a id="6183" class="Symbol">(</a><a id="6184" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="6190" class="Bound">A</a> <a id="6192" href="Monad.Instance.Setoids.Delay.html#10235" class="Function">later-self</a><a id="6202" class="Symbol">)</a> <a id="6204" class="Symbol">(</a><a id="6205" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="6212" class="Bound">A</a><a id="6213" class="Symbol">)</a>
<a id="iter-resp-≈"></a><a id="6218" href="Monad.Instance.Setoids.K.html#6218" class="Function">iter-resp-≈</a> <a id="6230" class="Symbol">:</a> <a id="6232" class="Symbol"></a> <a id="6234" class="Symbol">{</a><a id="6235" href="Monad.Instance.Setoids.K.html#6235" class="Bound">A</a> <a id="6237" href="Monad.Instance.Setoids.K.html#6237" class="Bound">X</a> <a id="6239" class="Symbol">:</a> <a id="6241" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="6248" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="6250" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="6251" class="Symbol">}</a> <a id="6253" class="Symbol">(</a><a id="6254" href="Monad.Instance.Setoids.K.html#6254" class="Bound">f</a> <a id="6256" href="Monad.Instance.Setoids.K.html#6256" class="Bound">g</a> <a id="6258" class="Symbol">:</a> <a id="6260" href="Monad.Instance.Setoids.K.html#6237" class="Bound">X</a> <a id="6262" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="6264" class="Symbol">(</a><a id="6265" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="6272" href="Monad.Instance.Setoids.K.html#6235" class="Bound">A</a> <a id="6274" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="6277" href="Monad.Instance.Setoids.K.html#6237" class="Bound">X</a><a id="6278" class="Symbol">))</a> <a id="6281" class="Symbol"></a> <a id="6283" href="Monad.Instance.Setoids.K.html#6254" class="Bound">f</a> <a id="6285" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator"></a> <a id="6287" href="Monad.Instance.Setoids.K.html#6256" class="Bound">g</a> <a id="6289" class="Symbol"></a> <a id="6291" class="Symbol"></a> <a id="6293" class="Symbol">{</a><a id="6294" href="Monad.Instance.Setoids.K.html#6294" class="Bound">x</a> <a id="6296" href="Monad.Instance.Setoids.K.html#6296" class="Bound">y</a> <a id="6298" class="Symbol">:</a> <a id="6300" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="6302" href="Monad.Instance.Setoids.K.html#6237" class="Bound">X</a> <a id="6304" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="6305" class="Symbol">}</a> <a id="6307" class="Symbol"></a> <a id="6309" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="6311" href="Monad.Instance.Setoids.K.html#6237" class="Bound">X</a> <a id="6313" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="6316" href="Monad.Instance.Setoids.K.html#6294" class="Bound">x</a> <a id="6318" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="6320" href="Monad.Instance.Setoids.K.html#6296" class="Bound">y</a> <a id="6322" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="6324" class="Symbol"></a> <a id="6326" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">[</a> <a id="6328" href="Monad.Instance.Setoids.K.html#6235" class="Bound">A</a> <a id="6330" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">][</a> <a id="6333" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="6338" class="Symbol">{</a><a id="6339" href="Monad.Instance.Setoids.K.html#6235" class="Bound">A</a><a id="6340" class="Symbol">}</a> <a id="6342" class="Symbol">{</a><a id="6343" href="Monad.Instance.Setoids.K.html#6237" class="Bound">X</a><a id="6344" class="Symbol">}</a> <a id="6346" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="6348" href="Monad.Instance.Setoids.K.html#6254" class="Bound">f</a> <a id="6350" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="6352" href="Monad.Instance.Setoids.K.html#6294" class="Bound">x</a> <a id="6354" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator"></a> <a id="6356" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="6361" class="Symbol">{</a><a id="6362" href="Monad.Instance.Setoids.K.html#6235" class="Bound">A</a><a id="6363" class="Symbol">}</a> <a id="6365" class="Symbol">{</a><a id="6366" href="Monad.Instance.Setoids.K.html#6237" class="Bound">X</a><a id="6367" class="Symbol">}</a> <a id="6369" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="6371" href="Monad.Instance.Setoids.K.html#6256" class="Bound">g</a> <a id="6373" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="6375" href="Monad.Instance.Setoids.K.html#6296" class="Bound">y</a> <a id="6377" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">]</a>
<a id="iter-resp-≈′"></a><a id="6381" href="Monad.Instance.Setoids.K.html#6381" class="Function">iter-resp-≈′</a> <a id="6394" class="Symbol">:</a> <a id="6396" class="Symbol"></a> <a id="6398" class="Symbol">{</a><a id="6399" href="Monad.Instance.Setoids.K.html#6399" class="Bound">A</a> <a id="6401" href="Monad.Instance.Setoids.K.html#6401" class="Bound">X</a> <a id="6403" class="Symbol">:</a> <a id="6405" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="6412" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="6414" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="6415" class="Symbol">}</a> <a id="6417" class="Symbol">(</a><a id="6418" href="Monad.Instance.Setoids.K.html#6418" class="Bound">f</a> <a id="6420" href="Monad.Instance.Setoids.K.html#6420" class="Bound">g</a> <a id="6422" class="Symbol">:</a> <a id="6424" href="Monad.Instance.Setoids.K.html#6401" class="Bound">X</a> <a id="6426" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="6428" class="Symbol">(</a><a id="6429" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="6436" href="Monad.Instance.Setoids.K.html#6399" class="Bound">A</a> <a id="6438" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="6441" href="Monad.Instance.Setoids.K.html#6401" class="Bound">X</a><a id="6442" class="Symbol">))</a> <a id="6445" class="Symbol"></a> <a id="6447" href="Monad.Instance.Setoids.K.html#6418" class="Bound">f</a> <a id="6449" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator"></a> <a id="6451" href="Monad.Instance.Setoids.K.html#6420" class="Bound">g</a> <a id="6453" class="Symbol"></a> <a id="6455" class="Symbol"></a> <a id="6457" class="Symbol">{</a><a id="6458" href="Monad.Instance.Setoids.K.html#6458" class="Bound">x</a> <a id="6460" href="Monad.Instance.Setoids.K.html#6460" class="Bound">y</a> <a id="6462" class="Symbol">:</a> <a id="6464" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="6466" href="Monad.Instance.Setoids.K.html#6401" class="Bound">X</a> <a id="6468" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="6469" class="Symbol">}</a> <a id="6471" class="Symbol"></a> <a id="6473" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="6475" href="Monad.Instance.Setoids.K.html#6401" class="Bound">X</a> <a id="6477" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="6480" href="Monad.Instance.Setoids.K.html#6458" class="Bound">x</a> <a id="6482" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="6484" href="Monad.Instance.Setoids.K.html#6460" class="Bound">y</a> <a id="6486" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="6488" class="Symbol"></a> <a id="6490" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">[</a> <a id="6492" href="Monad.Instance.Setoids.K.html#6399" class="Bound">A</a> <a id="6494" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">][</a> <a id="6497" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="6502" class="Symbol">{</a><a id="6503" href="Monad.Instance.Setoids.K.html#6399" class="Bound">A</a><a id="6504" class="Symbol">}</a> <a id="6506" class="Symbol">{</a><a id="6507" href="Monad.Instance.Setoids.K.html#6401" class="Bound">X</a><a id="6508" class="Symbol">}</a> <a id="6510" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="6512" href="Monad.Instance.Setoids.K.html#6418" class="Bound">f</a> <a id="6514" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="6516" href="Monad.Instance.Setoids.K.html#6458" class="Bound">x</a> <a id="6518" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">≈′</a> <a id="6521" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="6526" class="Symbol">{</a><a id="6527" href="Monad.Instance.Setoids.K.html#6399" class="Bound">A</a><a id="6528" class="Symbol">}</a> <a id="6530" class="Symbol">{</a><a id="6531" href="Monad.Instance.Setoids.K.html#6401" class="Bound">X</a><a id="6532" class="Symbol">}</a> <a id="6534" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="6536" href="Monad.Instance.Setoids.K.html#6420" class="Bound">g</a> <a id="6538" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="6540" href="Monad.Instance.Setoids.K.html#6460" class="Bound">y</a> <a id="6542" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">]</a>
<a id="6546" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="6553" class="Symbol">(</a><a id="6554" href="Monad.Instance.Setoids.K.html#6381" class="Function">iter-resp-≈′</a> <a id="6567" class="Symbol">{</a><a id="6568" href="Monad.Instance.Setoids.K.html#6568" class="Bound">A</a><a id="6569" class="Symbol">}</a> <a id="6571" class="Symbol">{</a><a id="6572" href="Monad.Instance.Setoids.K.html#6572" class="Bound">X</a><a id="6573" class="Symbol">}</a> <a id="6575" href="Monad.Instance.Setoids.K.html#6575" class="Bound">f</a> <a id="6577" href="Monad.Instance.Setoids.K.html#6577" class="Bound">g</a> <a id="6579" href="Monad.Instance.Setoids.K.html#6579" class="Bound">f≋g</a> <a id="6583" class="Symbol">{</a><a id="6584" href="Monad.Instance.Setoids.K.html#6584" class="Bound">x</a><a id="6585" class="Symbol">}</a> <a id="6587" class="Symbol">{</a><a id="6588" href="Monad.Instance.Setoids.K.html#6588" class="Bound">y</a><a id="6589" class="Symbol">}</a> <a id="6591" href="Monad.Instance.Setoids.K.html#6591" class="Bound">x≡y</a><a id="6594" class="Symbol">)</a> <a id="6596" class="Symbol">=</a> <a id="6598" href="Monad.Instance.Setoids.K.html#6218" class="Function">iter-resp-≈</a> <a id="6610" href="Monad.Instance.Setoids.K.html#6575" class="Bound">f</a> <a id="6612" href="Monad.Instance.Setoids.K.html#6577" class="Bound">g</a> <a id="6614" href="Monad.Instance.Setoids.K.html#6579" class="Bound">f≋g</a> <a id="6618" class="Symbol">{</a><a id="6619" href="Monad.Instance.Setoids.K.html#6584" class="Bound">x</a><a id="6620" class="Symbol">}</a> <a id="6622" class="Symbol">{</a><a id="6623" href="Monad.Instance.Setoids.K.html#6588" class="Bound">y</a><a id="6624" class="Symbol">}</a> <a id="6626" href="Monad.Instance.Setoids.K.html#6591" class="Bound">x≡y</a>
<a id="6632" href="Monad.Instance.Setoids.K.html#6218" class="Function">iter-resp-≈</a> <a id="6644" class="Symbol">{</a><a id="6645" href="Monad.Instance.Setoids.K.html#6645" class="Bound">A</a><a id="6646" class="Symbol">}</a> <a id="6648" class="Symbol">{</a><a id="6649" href="Monad.Instance.Setoids.K.html#6649" class="Bound">X</a><a id="6650" class="Symbol">}</a> <a id="6652" href="Monad.Instance.Setoids.K.html#6652" class="Bound">f</a> <a id="6654" href="Monad.Instance.Setoids.K.html#6654" class="Bound">g</a> <a id="6656" href="Monad.Instance.Setoids.K.html#6656" class="Bound">f≋g</a> <a id="6660" class="Symbol">{</a><a id="6661" href="Monad.Instance.Setoids.K.html#6661" class="Bound">x</a><a id="6662" class="Symbol">}</a> <a id="6664" class="Symbol">{</a><a id="6665" href="Monad.Instance.Setoids.K.html#6665" class="Bound">y</a><a id="6666" class="Symbol">}</a> <a id="6668" href="Monad.Instance.Setoids.K.html#6668" class="Bound">x≡y</a> <a id="6672" class="Keyword">with</a> <a id="6677" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="6679" href="Monad.Instance.Setoids.K.html#6652" class="Bound">f</a> <a id="6681" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="6683" href="Monad.Instance.Setoids.K.html#6661" class="Bound">x</a> <a id="6685" class="Keyword">in</a> <a id="6688" class="Argument">eqa</a> <a id="6692" class="Symbol">|</a> <a id="6694" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="6696" href="Monad.Instance.Setoids.K.html#6654" class="Bound">g</a> <a id="6698" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="6700" href="Monad.Instance.Setoids.K.html#6665" class="Bound">y</a> <a id="6702" class="Keyword">in</a> <a id="6705" class="Argument">eqb</a>
<a id="6711" class="Symbol">...</a> <a id="6743" class="Symbol">|</a> <a id="6745" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="6750" href="Monad.Instance.Setoids.K.html#6750" class="Bound">a</a> <a id="6752" class="Symbol">|</a> <a id="6754" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="6759" href="Monad.Instance.Setoids.K.html#6759" class="Bound">b</a> <a id="6761" class="Symbol">=</a> <a id="6763" href="Data.Sum.Relation.Binary.Pointwise.html#1666" class="Function">drop-inj₁</a> <a id="6773" href="Monad.Instance.Setoids.K.html#6796" class="Function">helper</a>
<a id="6784" class="Keyword">where</a>
<a id="6796" href="Monad.Instance.Setoids.K.html#6796" class="Function">helper</a> <a id="6803" class="Symbol">:</a> <a id="6805" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="6807" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="6814" class="Bound">A</a> <a id="6816" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="6819" class="Bound">X</a> <a id="6821" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="6824" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="6829" href="Monad.Instance.Setoids.K.html#6750" class="Bound">a</a> <a id="6831" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="6833" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="6838" href="Monad.Instance.Setoids.K.html#6759" class="Bound">b</a> <a id="6840" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="6848" href="Monad.Instance.Setoids.K.html#6796" class="Function">helper</a> <a id="6855" class="Keyword">rewrite</a> <a id="6863" class="Symbol">(</a><a id="6864" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="6870" href="Monad.Instance.Setoids.K.html#6705" class="Bound">eqb</a><a id="6873" class="Symbol">)</a> <a id="6875" class="Symbol">|</a> <a id="6877" class="Symbol">(</a><a id="6878" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="6884" href="Monad.Instance.Setoids.K.html#6688" class="Bound">eqa</a><a id="6887" class="Symbol">)</a> <a id="6889" class="Symbol">=</a> <a id="6891" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="6899" class="Symbol">(</a><a id="6900" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="6907" class="Bound">A</a> <a id="6909" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="6912" class="Bound">X</a><a id="6913" class="Symbol">)</a> <a id="6915" class="Symbol">(</a><a id="6916" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="6921" class="Bound">f</a> <a id="6923" class="Bound">x≡y</a><a id="6926" class="Symbol">)</a> <a id="6928" class="Bound">f≋g</a>
<a id="6934" class="Symbol">...</a> <a id="6966" class="Symbol">|</a> <a id="6968" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="6973" href="Monad.Instance.Setoids.K.html#6973" class="Bound">a</a> <a id="6975" class="Symbol">|</a> <a id="6977" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="6982" href="Monad.Instance.Setoids.K.html#6982" class="Bound">b</a> <a id="6984" class="Symbol">=</a> <a id="6986" href="Monad.Instance.Setoids.K.html#2549" class="Function">conflict</a> <a id="6995" class="Symbol">(</a><a id="6996" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7003" class="Bound">A</a><a id="7004" class="Symbol">)</a> <a id="7006" class="Bound">X</a> <a id="7008" href="Monad.Instance.Setoids.K.html#7031" class="Function">helper</a>
<a id="7019" class="Keyword">where</a>
<a id="7031" href="Monad.Instance.Setoids.K.html#7031" class="Function">helper</a> <a id="7038" class="Symbol">:</a> <a id="7040" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="7042" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7049" class="Bound">A</a> <a id="7051" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="7054" class="Bound">X</a> <a id="7056" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="7059" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="7064" href="Monad.Instance.Setoids.K.html#6973" class="Bound">a</a> <a id="7066" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="7068" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="7073" href="Monad.Instance.Setoids.K.html#6982" class="Bound">b</a> <a id="7075" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="7083" href="Monad.Instance.Setoids.K.html#7031" class="Function">helper</a> <a id="7090" class="Keyword">rewrite</a> <a id="7098" class="Symbol">(</a><a id="7099" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="7105" href="Monad.Instance.Setoids.K.html#6705" class="Bound">eqb</a><a id="7108" class="Symbol">)</a> <a id="7110" class="Symbol">|</a> <a id="7112" class="Symbol">(</a><a id="7113" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="7119" href="Monad.Instance.Setoids.K.html#6688" class="Bound">eqa</a><a id="7122" class="Symbol">)</a> <a id="7124" class="Symbol">=</a> <a id="7126" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="7134" class="Symbol">(</a><a id="7135" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7142" class="Bound">A</a> <a id="7144" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="7147" class="Bound">X</a><a id="7148" class="Symbol">)</a> <a id="7150" class="Symbol">(</a><a id="7151" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="7156" class="Bound">f</a> <a id="7158" class="Bound">x≡y</a><a id="7161" class="Symbol">)</a> <a id="7163" class="Bound">f≋g</a>
<a id="7169" class="Symbol">...</a> <a id="7201" class="Symbol">|</a> <a id="7203" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="7208" href="Monad.Instance.Setoids.K.html#7208" class="Bound">a</a> <a id="7210" class="Symbol">|</a> <a id="7212" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="7217" href="Monad.Instance.Setoids.K.html#7217" class="Bound">b</a> <a id="7219" class="Symbol">=</a> <a id="7221" href="Monad.Instance.Setoids.K.html#2549" class="Function">conflict</a> <a id="7230" class="Symbol">(</a><a id="7231" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7238" class="Bound">A</a><a id="7239" class="Symbol">)</a> <a id="7241" class="Bound">X</a> <a id="7243" class="Symbol">(</a><a id="7244" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="7250" class="Symbol">(</a><a id="7251" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7258" class="Bound">A</a> <a id="7260" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="7263" class="Bound">X</a><a id="7264" class="Symbol">)</a> <a id="7266" href="Monad.Instance.Setoids.K.html#7290" class="Function">helper</a><a id="7272" class="Symbol">)</a>
<a id="7278" class="Keyword">where</a>
<a id="7290" href="Monad.Instance.Setoids.K.html#7290" class="Function">helper</a> <a id="7297" class="Symbol">:</a> <a id="7299" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="7301" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7308" class="Bound">A</a> <a id="7310" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="7313" class="Bound">X</a> <a id="7315" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="7318" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="7323" href="Monad.Instance.Setoids.K.html#7208" class="Bound">a</a> <a id="7325" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="7327" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="7332" href="Monad.Instance.Setoids.K.html#7217" class="Bound">b</a> <a id="7334" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="7342" href="Monad.Instance.Setoids.K.html#7290" class="Function">helper</a> <a id="7349" class="Keyword">rewrite</a> <a id="7357" class="Symbol">(</a><a id="7358" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="7364" href="Monad.Instance.Setoids.K.html#6705" class="Bound">eqb</a><a id="7367" class="Symbol">)</a> <a id="7369" class="Symbol">|</a> <a id="7371" class="Symbol">(</a><a id="7372" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="7378" href="Monad.Instance.Setoids.K.html#6688" class="Bound">eqa</a><a id="7381" class="Symbol">)</a> <a id="7383" class="Symbol">=</a> <a id="7385" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="7393" class="Symbol">(</a><a id="7394" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7401" class="Bound">A</a> <a id="7403" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="7406" class="Bound">X</a><a id="7407" class="Symbol">)</a> <a id="7409" class="Symbol">(</a><a id="7410" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="7415" class="Bound">f</a> <a id="7417" class="Bound">x≡y</a><a id="7420" class="Symbol">)</a> <a id="7422" class="Bound">f≋g</a>
<a id="7428" class="Symbol">...</a> <a id="7460" class="Symbol">|</a> <a id="7462" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="7467" href="Monad.Instance.Setoids.K.html#7467" class="Bound">a</a> <a id="7469" class="Symbol">|</a> <a id="7471" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="7476" href="Monad.Instance.Setoids.K.html#7476" class="Bound">b</a> <a id="7478" class="Symbol">=</a> <a id="7480" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="7487" class="Symbol">(</a><a id="7488" href="Monad.Instance.Setoids.K.html#6381" class="Function">iter-resp-≈′</a> <a id="7501" class="Bound">f</a> <a id="7503" class="Bound">g</a> <a id="7505" class="Bound">f≋g</a> <a id="7509" class="Symbol">(</a><a id="7510" href="Data.Sum.Relation.Binary.Pointwise.html#1752" class="Function">drop-inj₂</a> <a id="7520" href="Monad.Instance.Setoids.K.html#7545" class="Function">helper</a><a id="7526" class="Symbol">))</a>
<a id="7533" class="Keyword">where</a>
<a id="7545" href="Monad.Instance.Setoids.K.html#7545" class="Function">helper</a> <a id="7552" class="Symbol">:</a> <a id="7554" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="7556" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7563" class="Bound">A</a> <a id="7565" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="7568" class="Bound">X</a> <a id="7570" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="7573" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="7578" href="Monad.Instance.Setoids.K.html#7467" class="Bound">a</a> <a id="7580" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="7582" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="7587" href="Monad.Instance.Setoids.K.html#7476" class="Bound">b</a> <a id="7589" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="7597" href="Monad.Instance.Setoids.K.html#7545" class="Function">helper</a> <a id="7604" class="Keyword">rewrite</a> <a id="7612" class="Symbol">(</a><a id="7613" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="7619" href="Monad.Instance.Setoids.K.html#6705" class="Bound">eqb</a><a id="7622" class="Symbol">)</a> <a id="7624" class="Symbol">|</a> <a id="7626" class="Symbol">(</a><a id="7627" href="Monad.Instance.Setoids.K.html#632" class="Function">≣-sym</a> <a id="7633" href="Monad.Instance.Setoids.K.html#6688" class="Bound">eqa</a><a id="7636" class="Symbol">)</a> <a id="7638" class="Symbol">=</a> <a id="7640" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="7648" class="Symbol">(</a><a id="7649" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7656" class="Bound">A</a> <a id="7658" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="7661" class="Bound">X</a><a id="7662" class="Symbol">)</a> <a id="7664" class="Symbol">(</a><a id="7665" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="7670" class="Bound">f</a> <a id="7672" class="Bound">x≡y</a><a id="7675" class="Symbol">)</a> <a id="7677" class="Bound">f≋g</a>
<a id="iter-uni"></a><a id="7684" href="Monad.Instance.Setoids.K.html#7684" class="Function">iter-uni</a> <a id="7693" class="Symbol">:</a> <a id="7695" class="Symbol"></a> <a id="7697" class="Symbol">{</a><a id="7698" href="Monad.Instance.Setoids.K.html#7698" class="Bound">A</a> <a id="7700" href="Monad.Instance.Setoids.K.html#7700" class="Bound">X</a> <a id="7702" href="Monad.Instance.Setoids.K.html#7702" class="Bound">Y</a> <a id="7704" class="Symbol">:</a> <a id="7706" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="7713" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="7715" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="7716" class="Symbol">}</a> <a id="7718" class="Symbol">{</a><a id="7719" href="Monad.Instance.Setoids.K.html#7719" class="Bound">f</a> <a id="7721" class="Symbol">:</a> <a id="7723" href="Monad.Instance.Setoids.K.html#7700" class="Bound">X</a> <a id="7725" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="7727" class="Symbol">(</a><a id="7728" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7735" href="Monad.Instance.Setoids.K.html#7698" class="Bound">A</a> <a id="7737" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="7740" href="Monad.Instance.Setoids.K.html#7700" class="Bound">X</a><a id="7741" class="Symbol">)}</a> <a id="7744" class="Symbol">{</a><a id="7745" href="Monad.Instance.Setoids.K.html#7745" class="Bound">g</a> <a id="7747" class="Symbol">:</a> <a id="7749" href="Monad.Instance.Setoids.K.html#7702" class="Bound">Y</a> <a id="7751" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="7753" class="Symbol">(</a><a id="7754" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7761" href="Monad.Instance.Setoids.K.html#7698" class="Bound">A</a> <a id="7763" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="7766" href="Monad.Instance.Setoids.K.html#7702" class="Bound">Y</a><a id="7767" class="Symbol">)}</a> <a id="7770" class="Symbol">{</a><a id="7771" href="Monad.Instance.Setoids.K.html#7771" class="Bound">h</a> <a id="7773" class="Symbol">:</a> <a id="7775" href="Monad.Instance.Setoids.K.html#7700" class="Bound">X</a> <a id="7777" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="7779" href="Monad.Instance.Setoids.K.html#7702" class="Bound">Y</a><a id="7780" class="Symbol">}</a>
<a id="7786" class="Symbol"></a> <a id="7788" class="Symbol">(</a><a id="7789" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="7791" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="7797" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="7799" class="Symbol">(</a><a id="7800" href="Monad.Instance.Setoids.K.html#403" class="Function">idₛ</a> <a id="7804" class="Symbol">(</a><a id="7805" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="7812" href="Monad.Instance.Setoids.K.html#7698" class="Bound">A</a><a id="7813" class="Symbol">))</a> <a id="7816" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="7818" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="7824" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="7826" href="Monad.Instance.Setoids.K.html#7771" class="Bound">h</a> <a id="7828" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="7831" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="7833" href="Monad.Instance.Setoids.K.html#7719" class="Bound">f</a><a id="7834" class="Symbol">)</a> <a id="7836" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator"></a> <a id="7838" class="Symbol">(</a><a id="7839" href="Monad.Instance.Setoids.K.html#7745" class="Bound">g</a> <a id="7841" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="7843" href="Monad.Instance.Setoids.K.html#7771" class="Bound">h</a><a id="7844" class="Symbol">)</a>
<a id="7850" class="Symbol"></a> <a id="7852" class="Symbol"></a> <a id="7854" class="Symbol">{</a><a id="7855" href="Monad.Instance.Setoids.K.html#7855" class="Bound">x</a> <a id="7857" class="Symbol">:</a> <a id="7859" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="7861" href="Monad.Instance.Setoids.K.html#7700" class="Bound">X</a> <a id="7863" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="7864" class="Symbol">}</a> <a id="7866" class="Symbol">{</a><a id="7867" href="Monad.Instance.Setoids.K.html#7867" class="Bound">y</a> <a id="7869" class="Symbol">:</a> <a id="7871" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="7873" href="Monad.Instance.Setoids.K.html#7702" class="Bound">Y</a> <a id="7875" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="7876" class="Symbol">}</a> <a id="7878" class="Symbol"></a> <a id="7880" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="7882" href="Monad.Instance.Setoids.K.html#7702" class="Bound">Y</a> <a id="7884" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="7887" href="Monad.Instance.Setoids.K.html#7867" class="Bound">y</a> <a id="7889" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="7891" href="Monad.Instance.Setoids.K.html#7771" class="Bound">h</a> <a id="7893" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="7897" href="Monad.Instance.Setoids.K.html#7855" class="Bound">x</a> <a id="7899" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="7901" class="Symbol"></a> <a id="7903" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">[</a> <a id="7905" href="Monad.Instance.Setoids.K.html#7698" class="Bound">A</a> <a id="7907" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">][</a> <a id="7910" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="7915" class="Symbol">{</a><a id="7916" href="Monad.Instance.Setoids.K.html#7698" class="Bound">A</a><a id="7917" class="Symbol">}</a> <a id="7919" class="Symbol">{</a><a id="7920" href="Monad.Instance.Setoids.K.html#7700" class="Bound">X</a><a id="7921" class="Symbol">}</a> <a id="7923" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="7925" href="Monad.Instance.Setoids.K.html#7719" class="Bound">f</a> <a id="7927" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="7929" href="Monad.Instance.Setoids.K.html#7855" class="Bound">x</a> <a id="7931" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator"></a> <a id="7933" class="Symbol">(</a><a id="7934" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="7939" class="Symbol">{</a><a id="7940" href="Monad.Instance.Setoids.K.html#7698" class="Bound">A</a><a id="7941" class="Symbol">}</a> <a id="7943" class="Symbol">{</a><a id="7944" href="Monad.Instance.Setoids.K.html#7702" class="Bound">Y</a><a id="7945" class="Symbol">}</a> <a id="7947" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="7949" href="Monad.Instance.Setoids.K.html#7745" class="Bound">g</a> <a id="7951" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a><a id="7952" class="Symbol">)</a> <a id="7954" href="Monad.Instance.Setoids.K.html#7867" class="Bound">y</a> <a id="7956" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">]</a>
<a id="iter-uni"></a><a id="7960" href="Monad.Instance.Setoids.K.html#7960" class="Function">iter-uni</a> <a id="7970" class="Symbol">:</a> <a id="7972" class="Symbol"></a> <a id="7974" class="Symbol">{</a><a id="7975" href="Monad.Instance.Setoids.K.html#7975" class="Bound">A</a> <a id="7977" href="Monad.Instance.Setoids.K.html#7977" class="Bound">X</a> <a id="7979" href="Monad.Instance.Setoids.K.html#7979" class="Bound">Y</a> <a id="7981" class="Symbol">:</a> <a id="7983" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="7990" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="7992" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="7993" class="Symbol">}</a> <a id="7995" class="Symbol">{</a><a id="7996" href="Monad.Instance.Setoids.K.html#7996" class="Bound">f</a> <a id="7998" class="Symbol">:</a> <a id="8000" href="Monad.Instance.Setoids.K.html#7977" class="Bound">X</a> <a id="8002" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="8004" class="Symbol">(</a><a id="8005" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="8012" href="Monad.Instance.Setoids.K.html#7975" class="Bound">A</a> <a id="8014" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="8017" href="Monad.Instance.Setoids.K.html#7977" class="Bound">X</a><a id="8018" class="Symbol">)}</a> <a id="8021" class="Symbol">{</a><a id="8022" href="Monad.Instance.Setoids.K.html#8022" class="Bound">g</a> <a id="8024" class="Symbol">:</a> <a id="8026" href="Monad.Instance.Setoids.K.html#7979" class="Bound">Y</a> <a id="8028" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="8030" class="Symbol">(</a><a id="8031" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="8038" href="Monad.Instance.Setoids.K.html#7975" class="Bound">A</a> <a id="8040" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="8043" href="Monad.Instance.Setoids.K.html#7979" class="Bound">Y</a><a id="8044" class="Symbol">)}</a> <a id="8047" class="Symbol">{</a><a id="8048" href="Monad.Instance.Setoids.K.html#8048" class="Bound">h</a> <a id="8050" class="Symbol">:</a> <a id="8052" href="Monad.Instance.Setoids.K.html#7977" class="Bound">X</a> <a id="8054" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="8056" href="Monad.Instance.Setoids.K.html#7979" class="Bound">Y</a><a id="8057" class="Symbol">}</a>
<a id="8063" class="Symbol"></a> <a id="8065" class="Symbol">(</a><a id="8066" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="8068" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="8074" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="8076" class="Symbol">(</a><a id="8077" href="Monad.Instance.Setoids.K.html#403" class="Function">idₛ</a> <a id="8081" class="Symbol">(</a><a id="8082" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="8089" href="Monad.Instance.Setoids.K.html#7975" class="Bound">A</a><a id="8090" class="Symbol">))</a> <a id="8093" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="8095" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="8101" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="8103" href="Monad.Instance.Setoids.K.html#8048" class="Bound">h</a> <a id="8105" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="8108" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="8110" href="Monad.Instance.Setoids.K.html#7996" class="Bound">f</a><a id="8111" class="Symbol">)</a> <a id="8113" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator"></a> <a id="8115" class="Symbol">(</a><a id="8116" href="Monad.Instance.Setoids.K.html#8022" class="Bound">g</a> <a id="8118" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="8120" href="Monad.Instance.Setoids.K.html#8048" class="Bound">h</a><a id="8121" class="Symbol">)</a>
<a id="8127" class="Symbol"></a> <a id="8129" class="Symbol"></a> <a id="8131" class="Symbol">{</a><a id="8132" href="Monad.Instance.Setoids.K.html#8132" class="Bound">x</a> <a id="8134" class="Symbol">:</a> <a id="8136" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="8138" href="Monad.Instance.Setoids.K.html#7977" class="Bound">X</a> <a id="8140" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="8141" class="Symbol">}</a> <a id="8143" class="Symbol">{</a><a id="8144" href="Monad.Instance.Setoids.K.html#8144" class="Bound">y</a> <a id="8146" class="Symbol">:</a> <a id="8148" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="8150" href="Monad.Instance.Setoids.K.html#7979" class="Bound">Y</a> <a id="8152" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="8153" class="Symbol">}</a> <a id="8156" class="Symbol"></a> <a id="8158" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="8160" href="Monad.Instance.Setoids.K.html#7979" class="Bound">Y</a> <a id="8162" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="8165" href="Monad.Instance.Setoids.K.html#8144" class="Bound">y</a> <a id="8167" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="8169" href="Monad.Instance.Setoids.K.html#8048" class="Bound">h</a> <a id="8171" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="8175" href="Monad.Instance.Setoids.K.html#8132" class="Bound">x</a> <a id="8177" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a> <a id="8179" class="Symbol"></a> <a id="8181" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">[</a> <a id="8183" href="Monad.Instance.Setoids.K.html#7975" class="Bound">A</a> <a id="8185" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">][</a> <a id="8188" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="8193" class="Symbol">{</a><a id="8194" href="Monad.Instance.Setoids.K.html#7975" class="Bound">A</a><a id="8195" class="Symbol">}</a> <a id="8197" class="Symbol">{</a><a id="8198" href="Monad.Instance.Setoids.K.html#7977" class="Bound">X</a><a id="8199" class="Symbol">}</a> <a id="8201" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="8203" href="Monad.Instance.Setoids.K.html#7996" class="Bound">f</a> <a id="8205" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="8207" href="Monad.Instance.Setoids.K.html#8132" class="Bound">x</a> <a id="8209" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">≈′</a> <a id="8212" class="Symbol">(</a><a id="8213" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="8218" class="Symbol">{</a><a id="8219" href="Monad.Instance.Setoids.K.html#7975" class="Bound">A</a><a id="8220" class="Symbol">}</a> <a id="8222" class="Symbol">{</a><a id="8223" href="Monad.Instance.Setoids.K.html#7979" class="Bound">Y</a><a id="8224" class="Symbol">}</a> <a id="8226" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="8228" href="Monad.Instance.Setoids.K.html#8022" class="Bound">g</a> <a id="8230" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a><a id="8231" class="Symbol">)</a> <a id="8233" href="Monad.Instance.Setoids.K.html#8144" class="Bound">y</a> <a id="8235" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">]</a>
<a id="8239" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="8246" class="Symbol">(</a><a id="8247" href="Monad.Instance.Setoids.K.html#7960" class="Function">iter-uni</a> <a id="8257" class="Symbol">{</a><a id="8258" href="Monad.Instance.Setoids.K.html#8258" class="Bound">A</a><a id="8259" class="Symbol">}</a> <a id="8261" class="Symbol">{</a><a id="8262" href="Monad.Instance.Setoids.K.html#8262" class="Bound">X</a><a id="8263" class="Symbol">}</a> <a id="8265" class="Symbol">{</a><a id="8266" href="Monad.Instance.Setoids.K.html#8266" class="Bound">Y</a><a id="8267" class="Symbol">}</a> <a id="8269" class="Symbol">{</a><a id="8270" href="Monad.Instance.Setoids.K.html#8270" class="Bound">f</a><a id="8271" class="Symbol">}</a> <a id="8273" class="Symbol">{</a><a id="8274" href="Monad.Instance.Setoids.K.html#8274" class="Bound">g</a><a id="8275" class="Symbol">}</a> <a id="8277" class="Symbol">{</a><a id="8278" href="Monad.Instance.Setoids.K.html#8278" class="Bound">h</a><a id="8279" class="Symbol">}</a> <a id="8281" href="Monad.Instance.Setoids.K.html#8281" class="Bound">eq</a> <a id="8284" class="Symbol">{</a><a id="8285" href="Monad.Instance.Setoids.K.html#8285" class="Bound">x</a><a id="8286" class="Symbol">}</a> <a id="8288" class="Symbol">{</a><a id="8289" href="Monad.Instance.Setoids.K.html#8289" class="Bound">y</a><a id="8290" class="Symbol">}</a> <a id="8292" href="Monad.Instance.Setoids.K.html#8292" class="Bound">y≡h$x</a><a id="8297" class="Symbol">)</a> <a id="8299" class="Symbol">=</a> <a id="8301" href="Monad.Instance.Setoids.K.html#7684" class="Function">iter-uni</a> <a id="8310" class="Symbol">{</a><a id="8311" href="Monad.Instance.Setoids.K.html#8258" class="Bound">A</a><a id="8312" class="Symbol">}</a> <a id="8314" class="Symbol">{</a><a id="8315" href="Monad.Instance.Setoids.K.html#8262" class="Bound">X</a><a id="8316" class="Symbol">}</a> <a id="8318" class="Symbol">{</a><a id="8319" href="Monad.Instance.Setoids.K.html#8266" class="Bound">Y</a><a id="8320" class="Symbol">}</a> <a id="8322" class="Symbol">{</a><a id="8323" href="Monad.Instance.Setoids.K.html#8270" class="Bound">f</a><a id="8324" class="Symbol">}</a> <a id="8326" class="Symbol">{</a><a id="8327" href="Monad.Instance.Setoids.K.html#8274" class="Bound">g</a><a id="8328" class="Symbol">}</a> <a id="8330" class="Symbol">{</a><a id="8331" href="Monad.Instance.Setoids.K.html#8278" class="Bound">h</a><a id="8332" class="Symbol">}</a> <a id="8334" href="Monad.Instance.Setoids.K.html#8281" class="Bound">eq</a> <a id="8337" class="Symbol">{</a><a id="8338" href="Monad.Instance.Setoids.K.html#8285" class="Bound">x</a><a id="8339" class="Symbol">}</a> <a id="8341" class="Symbol">{</a><a id="8342" href="Monad.Instance.Setoids.K.html#8289" class="Bound">y</a><a id="8343" class="Symbol">}</a> <a id="8345" href="Monad.Instance.Setoids.K.html#8292" class="Bound">y≡h$x</a>
<a id="8353" href="Monad.Instance.Setoids.K.html#7684" class="Function">iter-uni</a> <a id="8362" class="Symbol">{</a><a id="8363" href="Monad.Instance.Setoids.K.html#8363" class="Bound">A</a><a id="8364" class="Symbol">}</a> <a id="8366" class="Symbol">{</a><a id="8367" href="Monad.Instance.Setoids.K.html#8367" class="Bound">X</a><a id="8368" class="Symbol">}</a> <a id="8370" class="Symbol">{</a><a id="8371" href="Monad.Instance.Setoids.K.html#8371" class="Bound">Y</a><a id="8372" class="Symbol">}</a> <a id="8374" class="Symbol">{</a><a id="8375" href="Monad.Instance.Setoids.K.html#8375" class="Bound">f</a><a id="8376" class="Symbol">}</a> <a id="8378" class="Symbol">{</a><a id="8379" href="Monad.Instance.Setoids.K.html#8379" class="Bound">g</a><a id="8380" class="Symbol">}</a> <a id="8382" class="Symbol">{</a><a id="8383" href="Monad.Instance.Setoids.K.html#8383" class="Bound">h</a><a id="8384" class="Symbol">}</a> <a id="8386" href="Monad.Instance.Setoids.K.html#8386" class="Bound">eq</a> <a id="8389" class="Symbol">{</a><a id="8390" href="Monad.Instance.Setoids.K.html#8390" class="Bound">x</a><a id="8391" class="Symbol">}</a> <a id="8393" class="Symbol">{</a><a id="8394" href="Monad.Instance.Setoids.K.html#8394" class="Bound">y</a><a id="8395" class="Symbol">}</a> <a id="8397" href="Monad.Instance.Setoids.K.html#8397" class="Bound">x≡y</a> <a id="8401" class="Keyword">with</a> <a id="8406" href="Monad.Instance.Setoids.K.html#8375" class="Bound">f</a> <a id="8408" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="8412" href="Monad.Instance.Setoids.K.html#8390" class="Bound">x</a> <a id="8414" class="Keyword">in</a> <a id="8417" class="Argument">eqx</a> <a id="8421" class="Symbol">|</a> <a id="8423" href="Monad.Instance.Setoids.K.html#8379" class="Bound">g</a> <a id="8425" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="8429" class="Symbol">(</a><a id="8430" href="Monad.Instance.Setoids.K.html#8383" class="Bound">h</a> <a id="8432" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="8436" href="Monad.Instance.Setoids.K.html#8390" class="Bound">x</a><a id="8437" class="Symbol">)</a> <a id="8439" class="Keyword">in</a> <a id="8442" class="Argument">eqy</a> <a id="8446" class="Symbol">|</a> <a id="8448" href="Monad.Instance.Setoids.K.html#8379" class="Bound">g</a> <a id="8450" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="8454" href="Monad.Instance.Setoids.K.html#8394" class="Bound">y</a> <a id="8456" class="Keyword">in</a> <a id="8459" class="Argument">eqz</a> <a id="8463" class="Symbol">|</a> <a id="8465" href="Monad.Instance.Setoids.K.html#8386" class="Bound">eq</a> <a id="8468" class="Symbol">{</a><a id="8469" href="Monad.Instance.Setoids.K.html#8390" class="Bound">x</a><a id="8470" class="Symbol">}</a>
<a id="8474" class="Symbol">...</a> <a id="8478" class="Symbol">|</a> <a id="8480" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="8485" href="Monad.Instance.Setoids.K.html#8485" class="Bound">a</a> <a id="8489" class="Symbol">|</a> <a id="8491" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="8496" href="Monad.Instance.Setoids.K.html#8496" class="Bound">b</a> <a id="8498" class="Symbol">|</a> <a id="8500" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="8505" href="Monad.Instance.Setoids.K.html#8505" class="Bound">c</a> <a id="8507" class="Symbol">|</a> <a id="8509" href="Data.Sum.Relation.Binary.Pointwise.html#1176" class="InductiveConstructor">inj₁</a> <a id="8514" href="Monad.Instance.Setoids.K.html#8514" class="Bound">a≈c</a> <a id="8518" class="Symbol">=</a> <a id="8520" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="8528" class="Bound">A</a> <a id="8530" href="Monad.Instance.Setoids.K.html#8514" class="Bound">a≈c</a> <a id="8534" class="Symbol">(</a><a id="8535" href="Monad.Instance.Setoids.K.html#2686" class="Function">inj₁-helper</a> <a id="8547" class="Bound">g</a> <a id="8549" class="Symbol">(</a><a id="8550" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="8556" class="Bound">Y</a> <a id="8558" class="Bound">x≡y</a><a id="8561" class="Symbol">)</a> <a id="8563" href="Monad.Instance.Setoids.K.html#8442" class="Bound">eqy</a> <a id="8567" href="Monad.Instance.Setoids.K.html#8459" class="Bound">eqz</a><a id="8570" class="Symbol">)</a>
<a id="8574" class="Symbol">...</a> <a id="8578" class="Symbol">|</a> <a id="8580" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="8585" href="Monad.Instance.Setoids.K.html#8585" class="Bound">a</a> <a id="8589" class="Symbol">|</a> <a id="8591" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="8596" href="Monad.Instance.Setoids.K.html#8596" class="Bound">b</a> <a id="8598" class="Symbol">|</a> <a id="8600" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="8605" href="Monad.Instance.Setoids.K.html#8605" class="Bound">c</a> <a id="8607" class="Symbol">|</a> <a id="8609" href="Data.Sum.Relation.Binary.Pointwise.html#1176" class="InductiveConstructor">inj₁</a> <a id="8614" class="Symbol">_</a> <a id="8616" class="Symbol">=</a> <a id="8618" href="Monad.Instance.Setoids.K.html#3404" class="Function">absurd-helper</a> <a id="8632" class="Bound">g</a> <a id="8634" class="Symbol">(</a><a id="8635" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="8641" class="Bound">Y</a> <a id="8643" class="Bound">x≡y</a><a id="8646" class="Symbol">)</a> <a id="8648" href="Monad.Instance.Setoids.K.html#8442" class="Bound">eqy</a> <a id="8652" href="Monad.Instance.Setoids.K.html#8459" class="Bound">eqz</a>
<a id="8658" class="Symbol">...</a> <a id="8662" class="Symbol">|</a> <a id="8664" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="8669" href="Monad.Instance.Setoids.K.html#8669" class="Bound">a</a> <a id="8673" class="Symbol">|</a> <a id="8675" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="8680" href="Monad.Instance.Setoids.K.html#8680" class="Bound">b</a> <a id="8682" class="Symbol">|</a> <a id="8684" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="8689" href="Monad.Instance.Setoids.K.html#8689" class="Bound">c</a> <a id="8691" class="Symbol">|</a> <a id="8693" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="8698" class="Symbol">_</a> <a id="8700" class="Symbol">=</a> <a id="8702" href="Monad.Instance.Setoids.K.html#3404" class="Function">absurd-helper</a> <a id="8716" class="Bound">g</a> <a id="8718" class="Bound">x≡y</a> <a id="8722" href="Monad.Instance.Setoids.K.html#8459" class="Bound">eqz</a> <a id="8726" href="Monad.Instance.Setoids.K.html#8442" class="Bound">eqy</a>
<a id="8732" class="Symbol">...</a> <a id="8736" class="Symbol">|</a> <a id="8738" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="8743" href="Monad.Instance.Setoids.K.html#8743" class="Bound">a</a> <a id="8747" class="Symbol">|</a> <a id="8749" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="8754" href="Monad.Instance.Setoids.K.html#8754" class="Bound">b</a> <a id="8756" class="Symbol">|</a> <a id="8758" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="8763" href="Monad.Instance.Setoids.K.html#8763" class="Bound">c</a> <a id="8765" class="Symbol">|</a> <a id="8767" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="8772" href="Monad.Instance.Setoids.K.html#8772" class="Bound">req</a> <a id="8776" class="Symbol">=</a> <a id="8778" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="8785" class="Symbol">(</a><a id="8786" href="Monad.Instance.Setoids.K.html#7960" class="Function">iter-uni</a> <a id="8796" class="Symbol">{</a><a id="8797" class="Argument">f</a> <a id="8799" class="Symbol">=</a> <a id="8801" class="Bound">f</a><a id="8802" class="Symbol">}</a> <a id="8804" class="Symbol">{</a><a id="8805" class="Argument">g</a> <a id="8807" class="Symbol">=</a> <a id="8809" class="Bound">g</a><a id="8810" class="Symbol">}{</a><a id="8812" class="Argument">h</a> <a id="8814" class="Symbol">=</a> <a id="8816" class="Bound">h</a><a id="8817" class="Symbol">}</a> <a id="8819" class="Bound">eq</a> <a id="8822" href="Monad.Instance.Setoids.K.html#8845" class="Function">c≡h$a</a><a id="8827" class="Symbol">)</a>
<a id="8833" class="Keyword">where</a>
<a id="8845" href="Monad.Instance.Setoids.K.html#8845" class="Function">c≡h$a</a> <a id="8851" class="Symbol">:</a> <a id="8853" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="8855" class="Bound">Y</a> <a id="8857" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="8860" href="Monad.Instance.Setoids.K.html#8763" class="Bound">c</a> <a id="8862" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="8864" class="Bound">h</a> <a id="8866" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="8870" href="Monad.Instance.Setoids.K.html#8743" class="Bound">a</a> <a id="8872" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="8880" href="Monad.Instance.Setoids.K.html#8845" class="Function">c≡h$a</a> <a id="8886" class="Symbol">=</a> <a id="8888" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="8896" class="Bound">Y</a> <a id="8898" class="Symbol">(</a><a id="8899" href="Data.Sum.Relation.Binary.Pointwise.html#1752" class="Function">drop-inj₂</a> <a id="8909" class="Symbol">(</a><a id="8910" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="8918" class="Symbol">(</a><a id="8919" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="8926" class="Bound">A</a> <a id="8928" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="8931" class="Bound">Y</a><a id="8932" class="Symbol">)</a> <a id="8934" class="Symbol">(</a><a id="8935" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="8943" class="Symbol">(</a><a id="8944" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="8951" class="Bound">A</a> <a id="8953" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="8956" class="Bound">Y</a><a id="8957" class="Symbol">)</a> <a id="8959" class="Symbol">(</a><a id="8960" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="8966" class="Symbol">(</a><a id="8967" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="8974" class="Bound">A</a> <a id="8976" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="8979" class="Bound">Y</a><a id="8980" class="Symbol">)</a> <a id="8982" class="Symbol">(</a><a id="8983" href="Monad.Instance.Setoids.K.html#2100" class="Function">≡→≡</a> <a id="8987" class="Symbol">{</a><a id="8988" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="8995" class="Bound">A</a> <a id="8997" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9000" class="Bound">Y</a><a id="9001" class="Symbol">}</a> <a id="9003" href="Monad.Instance.Setoids.K.html#8459" class="Bound">eqz</a><a id="9006" class="Symbol">))</a> <a id="9009" class="Symbol">(</a><a id="9010" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="9015" class="Bound">g</a> <a id="9017" class="Bound">x≡y</a><a id="9020" class="Symbol">))</a> <a id="9023" class="Symbol">(</a><a id="9024" href="Monad.Instance.Setoids.K.html#2100" class="Function">≡→≡</a> <a id="9028" class="Symbol">{</a><a id="9029" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="9036" class="Bound">A</a> <a id="9038" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9041" class="Bound">Y</a><a id="9042" class="Symbol">}</a> <a id="9044" href="Monad.Instance.Setoids.K.html#8442" class="Bound">eqy</a><a id="9047" class="Symbol">)))</a> <a id="9051" class="Symbol">(</a><a id="9052" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="9058" class="Bound">Y</a> <a id="9060" href="Monad.Instance.Setoids.K.html#8772" class="Bound">req</a><a id="9063" class="Symbol">)</a>
<a id="iter-folding"></a><a id="9068" href="Monad.Instance.Setoids.K.html#9068" class="Function">iter-folding</a> <a id="9081" class="Symbol">:</a> <a id="9083" class="Symbol"></a> <a id="9085" class="Symbol">{</a><a id="9086" href="Monad.Instance.Setoids.K.html#9086" class="Bound">A</a> <a id="9088" href="Monad.Instance.Setoids.K.html#9088" class="Bound">X</a> <a id="9090" href="Monad.Instance.Setoids.K.html#9090" class="Bound">Y</a> <a id="9092" class="Symbol">:</a> <a id="9094" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="9101" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="9103" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="9104" class="Symbol">}</a> <a id="9106" class="Symbol">{</a><a id="9107" href="Monad.Instance.Setoids.K.html#9107" class="Bound">f</a> <a id="9109" class="Symbol">:</a> <a id="9111" href="Monad.Instance.Setoids.K.html#9088" class="Bound">X</a> <a id="9113" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="9115" class="Symbol">(</a><a id="9116" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="9123" href="Monad.Instance.Setoids.K.html#9086" class="Bound">A</a> <a id="9125" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9128" href="Monad.Instance.Setoids.K.html#9088" class="Bound">X</a><a id="9129" class="Symbol">)}</a> <a id="9132" class="Symbol">{</a><a id="9133" href="Monad.Instance.Setoids.K.html#9133" class="Bound">h</a> <a id="9135" class="Symbol">:</a> <a id="9137" href="Monad.Instance.Setoids.K.html#9090" class="Bound">Y</a> <a id="9139" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="9141" class="Symbol">(</a><a id="9142" href="Monad.Instance.Setoids.K.html#9088" class="Bound">X</a> <a id="9144" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9147" href="Monad.Instance.Setoids.K.html#9090" class="Bound">Y</a><a id="9148" class="Symbol">)}</a> <a id="9151" class="Symbol">{</a><a id="9152" href="Monad.Instance.Setoids.K.html#9152" class="Bound">x</a> <a id="9154" class="Symbol">:</a> <a id="9156" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="9158" href="Monad.Instance.Setoids.K.html#9088" class="Bound">X</a> <a id="9160" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9163" href="Monad.Instance.Setoids.K.html#9090" class="Bound">Y</a> <a id="9165" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="9166" class="Symbol">}</a> <a id="9168" class="Symbol"></a> <a id="9170" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">[</a> <a id="9172" href="Monad.Instance.Setoids.K.html#9086" class="Bound">A</a> <a id="9174" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">][</a> <a id="9177" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="9182" class="Symbol">{</a><a id="9183" href="Monad.Instance.Setoids.K.html#9086" class="Bound">A</a><a id="9184" class="Symbol">}</a> <a id="9186" class="Symbol">{</a><a id="9187" href="Monad.Instance.Setoids.K.html#9088" class="Bound">X</a> <a id="9189" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9192" href="Monad.Instance.Setoids.K.html#9090" class="Bound">Y</a><a id="9193" class="Symbol">}</a> <a id="9195" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="9197" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="9202" href="Monad.Instance.Setoids.K.html#538" class="Function Operator">∘f</a> <a id="9205" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="9210" class="Symbol">{</a><a id="9211" href="Monad.Instance.Setoids.K.html#9086" class="Bound">A</a><a id="9212" class="Symbol">}</a> <a id="9214" class="Symbol">{</a><a id="9215" href="Monad.Instance.Setoids.K.html#9088" class="Bound">X</a><a id="9216" class="Symbol">}</a> <a id="9218" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="9220" href="Monad.Instance.Setoids.K.html#9107" class="Bound">f</a> <a id="9222" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="9224" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="9226" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="9231" href="Monad.Instance.Setoids.K.html#538" class="Function Operator">∘f</a> <a id="9234" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="9236" href="Monad.Instance.Setoids.K.html#9133" class="Bound">h</a> <a id="9238" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="9240" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="9242" href="Monad.Instance.Setoids.K.html#9152" class="Bound">x</a> <a id="9244" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator"></a> <a id="9246" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="9251" class="Symbol">{</a><a id="9252" href="Monad.Instance.Setoids.K.html#9086" class="Bound">A</a><a id="9253" class="Symbol">}</a> <a id="9255" class="Symbol">{</a><a id="9256" href="Monad.Instance.Setoids.K.html#9088" class="Bound">X</a> <a id="9258" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9261" href="Monad.Instance.Setoids.K.html#9090" class="Bound">Y</a><a id="9262" class="Symbol">}</a> <a id="9264" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="9266" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="9268" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="9273" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="9275" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="9280" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="9283" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="9288" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="9290" href="Monad.Instance.Setoids.K.html#538" class="Function Operator">∘f</a> <a id="9293" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="9295" href="Monad.Instance.Setoids.K.html#9107" class="Bound">f</a> <a id="9297" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="9299" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="9301" class="Symbol">(</a><a id="9302" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="9307" href="Monad.Instance.Setoids.K.html#538" class="Function Operator">∘f</a> <a id="9310" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="9312" href="Monad.Instance.Setoids.K.html#9133" class="Bound">h</a> <a id="9314" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a><a id="9315" class="Symbol">)</a> <a id="9317" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="9319" href="Monad.Instance.Setoids.K.html#9152" class="Bound">x</a> <a id="9321" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">]</a>
<a id="iter-folding"></a><a id="9325" href="Monad.Instance.Setoids.K.html#9325" class="Function">iter-folding</a> <a id="9339" class="Symbol">:</a> <a id="9341" class="Symbol"></a> <a id="9343" class="Symbol">{</a><a id="9344" href="Monad.Instance.Setoids.K.html#9344" class="Bound">A</a> <a id="9346" href="Monad.Instance.Setoids.K.html#9346" class="Bound">X</a> <a id="9348" href="Monad.Instance.Setoids.K.html#9348" class="Bound">Y</a> <a id="9350" class="Symbol">:</a> <a id="9352" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="9359" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="9361" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="9362" class="Symbol">}</a> <a id="9364" class="Symbol">{</a><a id="9365" href="Monad.Instance.Setoids.K.html#9365" class="Bound">f</a> <a id="9367" class="Symbol">:</a> <a id="9369" href="Monad.Instance.Setoids.K.html#9346" class="Bound">X</a> <a id="9371" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="9373" class="Symbol">(</a><a id="9374" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="9381" href="Monad.Instance.Setoids.K.html#9344" class="Bound">A</a> <a id="9383" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9386" href="Monad.Instance.Setoids.K.html#9346" class="Bound">X</a><a id="9387" class="Symbol">)}</a> <a id="9390" class="Symbol">{</a><a id="9391" href="Monad.Instance.Setoids.K.html#9391" class="Bound">h</a> <a id="9393" class="Symbol">:</a> <a id="9395" href="Monad.Instance.Setoids.K.html#9348" class="Bound">Y</a> <a id="9397" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="9399" class="Symbol">(</a><a id="9400" href="Monad.Instance.Setoids.K.html#9346" class="Bound">X</a> <a id="9402" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9405" href="Monad.Instance.Setoids.K.html#9348" class="Bound">Y</a><a id="9406" class="Symbol">)}</a> <a id="9409" class="Symbol">{</a><a id="9410" href="Monad.Instance.Setoids.K.html#9410" class="Bound">x</a> <a id="9412" class="Symbol">:</a> <a id="9414" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="9416" href="Monad.Instance.Setoids.K.html#9346" class="Bound">X</a> <a id="9418" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9421" href="Monad.Instance.Setoids.K.html#9348" class="Bound">Y</a> <a id="9423" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="9424" class="Symbol">}</a> <a id="9426" class="Symbol"></a> <a id="9428" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">[</a> <a id="9430" href="Monad.Instance.Setoids.K.html#9344" class="Bound">A</a> <a id="9432" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">][</a> <a id="9435" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="9440" class="Symbol">{</a><a id="9441" href="Monad.Instance.Setoids.K.html#9344" class="Bound">A</a><a id="9442" class="Symbol">}</a> <a id="9444" class="Symbol">{</a><a id="9445" href="Monad.Instance.Setoids.K.html#9346" class="Bound">X</a> <a id="9447" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9450" href="Monad.Instance.Setoids.K.html#9348" class="Bound">Y</a><a id="9451" class="Symbol">}</a> <a id="9453" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="9455" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="9460" href="Monad.Instance.Setoids.K.html#538" class="Function Operator">∘f</a> <a id="9463" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="9468" class="Symbol">{</a><a id="9469" href="Monad.Instance.Setoids.K.html#9344" class="Bound">A</a><a id="9470" class="Symbol">}</a> <a id="9472" class="Symbol">{</a><a id="9473" href="Monad.Instance.Setoids.K.html#9346" class="Bound">X</a><a id="9474" class="Symbol">}</a> <a id="9476" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="9478" href="Monad.Instance.Setoids.K.html#9365" class="Bound">f</a> <a id="9480" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="9482" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="9484" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="9489" href="Monad.Instance.Setoids.K.html#538" class="Function Operator">∘f</a> <a id="9492" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="9494" href="Monad.Instance.Setoids.K.html#9391" class="Bound">h</a> <a id="9496" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="9498" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="9500" href="Monad.Instance.Setoids.K.html#9410" class="Bound">x</a> <a id="9502" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">≈′</a> <a id="9505" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="9510" class="Symbol">{</a><a id="9511" href="Monad.Instance.Setoids.K.html#9344" class="Bound">A</a><a id="9512" class="Symbol">}</a> <a id="9514" class="Symbol">{</a><a id="9515" href="Monad.Instance.Setoids.K.html#9346" class="Bound">X</a> <a id="9517" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="9520" href="Monad.Instance.Setoids.K.html#9348" class="Bound">Y</a><a id="9521" class="Symbol">}</a> <a id="9523" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="9525" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="9527" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="9532" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="9534" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="9539" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="9542" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="9547" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="9549" href="Monad.Instance.Setoids.K.html#538" class="Function Operator">∘f</a> <a id="9552" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="9554" href="Monad.Instance.Setoids.K.html#9365" class="Bound">f</a> <a id="9556" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="9558" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="9560" class="Symbol">(</a><a id="9561" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="9566" href="Monad.Instance.Setoids.K.html#538" class="Function Operator">∘f</a> <a id="9569" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="9571" href="Monad.Instance.Setoids.K.html#9391" class="Bound">h</a> <a id="9573" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a><a id="9574" class="Symbol">)</a> <a id="9576" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="9578" href="Monad.Instance.Setoids.K.html#9410" class="Bound">x</a> <a id="9580" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">]</a>
<a id="9584" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="9591" class="Symbol">(</a><a id="9592" href="Monad.Instance.Setoids.K.html#9325" class="Function">iter-folding</a> <a id="9606" class="Symbol">{</a><a id="9607" href="Monad.Instance.Setoids.K.html#9607" class="Bound">A</a><a id="9608" class="Symbol">}</a> <a id="9610" class="Symbol">{</a><a id="9611" href="Monad.Instance.Setoids.K.html#9611" class="Bound">X</a><a id="9612" class="Symbol">}</a> <a id="9614" class="Symbol">{</a><a id="9615" href="Monad.Instance.Setoids.K.html#9615" class="Bound">Y</a><a id="9616" class="Symbol">}</a> <a id="9618" class="Symbol">{</a><a id="9619" href="Monad.Instance.Setoids.K.html#9619" class="Bound">f</a><a id="9620" class="Symbol">}</a> <a id="9622" class="Symbol">{</a><a id="9623" href="Monad.Instance.Setoids.K.html#9623" class="Bound">h</a><a id="9624" class="Symbol">}</a> <a id="9626" class="Symbol">{</a><a id="9627" href="Monad.Instance.Setoids.K.html#9627" class="Bound">x</a><a id="9628" class="Symbol">})</a> <a id="9631" class="Symbol">=</a> <a id="9633" href="Monad.Instance.Setoids.K.html#9068" class="Function">iter-folding</a> <a id="9646" class="Symbol">{</a><a id="9647" href="Monad.Instance.Setoids.K.html#9607" class="Bound">A</a><a id="9648" class="Symbol">}</a> <a id="9650" class="Symbol">{</a><a id="9651" href="Monad.Instance.Setoids.K.html#9611" class="Bound">X</a><a id="9652" class="Symbol">}</a> <a id="9654" class="Symbol">{</a><a id="9655" href="Monad.Instance.Setoids.K.html#9615" class="Bound">Y</a><a id="9656" class="Symbol">}</a> <a id="9658" class="Symbol">{</a><a id="9659" href="Monad.Instance.Setoids.K.html#9619" class="Bound">f</a><a id="9660" class="Symbol">}</a> <a id="9662" class="Symbol">{</a><a id="9663" href="Monad.Instance.Setoids.K.html#9623" class="Bound">h</a><a id="9664" class="Symbol">}</a> <a id="9666" class="Symbol">{</a><a id="9667" href="Monad.Instance.Setoids.K.html#9627" class="Bound">x</a><a id="9668" class="Symbol">}</a>
<a id="9672" href="Monad.Instance.Setoids.K.html#9068" class="Function">iter-folding</a> <a id="9685" class="Symbol">{</a><a id="9686" href="Monad.Instance.Setoids.K.html#9686" class="Bound">A</a><a id="9687" class="Symbol">}</a> <a id="9689" class="Symbol">{</a><a id="9690" href="Monad.Instance.Setoids.K.html#9690" class="Bound">X</a><a id="9691" class="Symbol">}</a> <a id="9693" class="Symbol">{</a><a id="9694" href="Monad.Instance.Setoids.K.html#9694" class="Bound">Y</a><a id="9695" class="Symbol">}</a> <a id="9697" class="Symbol">{</a><a id="9698" href="Monad.Instance.Setoids.K.html#9698" class="Bound">f</a><a id="9699" class="Symbol">}</a> <a id="9701" class="Symbol">{</a><a id="9702" href="Monad.Instance.Setoids.K.html#9702" class="Bound">h</a><a id="9703" class="Symbol">}</a> <a id="9705" class="Symbol">{</a><a id="9706" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="9711" href="Monad.Instance.Setoids.K.html#9711" class="Bound">x</a><a id="9712" class="Symbol">}</a> <a id="9714" class="Keyword">with</a> <a id="9719" href="Monad.Instance.Setoids.K.html#9698" class="Bound">f</a> <a id="9721" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="9725" href="Monad.Instance.Setoids.K.html#9711" class="Bound">x</a> <a id="9727" class="Keyword">in</a> <a id="9730" class="Argument">eqa</a>
<a id="9737" class="Symbol">...</a> <a id="9779" class="Symbol">|</a> <a id="9781" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="9786" href="Monad.Instance.Setoids.K.html#9786" class="Bound">a</a> <a id="9788" class="Symbol">=</a> <a id="9790" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="9797" class="Bound">A</a>
<a id="9801" class="Symbol">...</a> <a id="9843" class="Symbol">|</a> <a id="9845" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="9850" href="Monad.Instance.Setoids.K.html#9850" class="Bound">a</a> <a id="9852" class="Symbol">=</a> <a id="9854" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="9861" class="Symbol">(</a><a id="9862" href="Monad.Instance.Setoids.K.html#10011" class="Function">helper</a> <a id="9870" href="Monad.Instance.Setoids.K.html#9850" class="Bound">a</a><a id="9871" class="Symbol">)</a>
<a id="9877" class="Keyword">where</a>
<a id="9889" href="Monad.Instance.Setoids.K.html#9889" class="Function">helper</a> <a id="9896" class="Symbol">:</a> <a id="9898" class="Symbol"></a> <a id="9900" class="Symbol">(</a><a id="9901" href="Monad.Instance.Setoids.K.html#9901" class="Bound">b</a> <a id="9903" class="Symbol">:</a> <a id="9905" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="9907" class="Bound">X</a> <a id="9909" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="9910" class="Symbol">)</a> <a id="9912" class="Symbol"></a> <a id="9914" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">[</a> <a id="9916" class="Bound">A</a> <a id="9918" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">][</a> <a id="9921" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="9926" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="9928" class="Bound">f</a> <a id="9930" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="9932" href="Monad.Instance.Setoids.K.html#9901" class="Bound">b</a> <a id="9934" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator"></a> <a id="9936" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="9941" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="9943" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="9945" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="9950" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="9952" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="9957" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="9960" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="9965" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="9967" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="9970" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="9972" class="Bound">f</a> <a id="9974" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="9976" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="9978" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="9983" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="9986" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="9988" class="Bound">h</a> <a id="9990" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="9992" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="9994" class="Symbol">(</a><a id="9995" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="10000" href="Monad.Instance.Setoids.K.html#9901" class="Bound">b</a><a id="10001" class="Symbol">)</a> <a id="10003" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">]</a>
<a id="10011" href="Monad.Instance.Setoids.K.html#10011" class="Function">helper</a> <a id="10019" class="Symbol">:</a> <a id="10021" class="Symbol"></a> <a id="10023" class="Symbol">(</a><a id="10024" href="Monad.Instance.Setoids.K.html#10024" class="Bound">b</a> <a id="10026" class="Symbol">:</a> <a id="10028" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="10030" class="Bound">X</a> <a id="10032" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="10033" class="Symbol">)</a> <a id="10035" class="Symbol"></a> <a id="10037" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">[</a> <a id="10039" class="Bound">A</a> <a id="10041" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">][</a> <a id="10044" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="10049" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="10051" class="Bound">f</a> <a id="10053" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="10055" href="Monad.Instance.Setoids.K.html#10024" class="Bound">b</a> <a id="10057" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">≈′</a> <a id="10060" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="10065" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="10067" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="10069" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="10074" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="10076" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="10081" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="10084" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="10089" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="10091" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="10094" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="10096" class="Bound">f</a> <a id="10098" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="10100" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="10102" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="10107" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="10110" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="10112" class="Bound">h</a> <a id="10114" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="10116" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="10118" class="Symbol">(</a><a id="10119" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="10124" href="Monad.Instance.Setoids.K.html#10024" class="Bound">b</a><a id="10125" class="Symbol">)</a> <a id="10127" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">]</a>
<a id="10135" href="Monad.Instance.Setoids.K.html#9889" class="Function">helper</a> <a id="10142" href="Monad.Instance.Setoids.K.html#10142" class="Bound">b</a> <a id="10144" class="Keyword">with</a> <a id="10149" class="Bound">f</a> <a id="10151" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="10155" href="Monad.Instance.Setoids.K.html#10142" class="Bound">b</a> <a id="10157" class="Keyword">in</a> <a id="10160" class="Argument">eqb</a>
<a id="10171" class="Symbol">...</a> <a id="10189" class="Symbol">|</a> <a id="10191" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="10196" href="Monad.Instance.Setoids.K.html#10196" class="Bound">c</a> <a id="10198" class="Symbol">=</a> <a id="10200" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="10207" class="Bound">A</a>
<a id="10215" class="Symbol">...</a> <a id="10233" class="Symbol">|</a> <a id="10235" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="10240" href="Monad.Instance.Setoids.K.html#10240" class="Bound">c</a> <a id="10242" class="Symbol">=</a> <a id="10244" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="10251" class="Symbol">(</a><a id="10252" href="Monad.Instance.Setoids.K.html#10011" class="Function">helper</a> <a id="10260" href="Monad.Instance.Setoids.K.html#10240" class="Bound">c</a><a id="10261" class="Symbol">)</a>
<a id="10269" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="10276" class="Symbol">(</a><a id="10277" href="Monad.Instance.Setoids.K.html#10011" class="Function">helper</a> <a id="10285" href="Monad.Instance.Setoids.K.html#10285" class="Bound">b</a><a id="10286" class="Symbol">)</a> <a id="10288" class="Symbol">=</a> <a id="10290" href="Monad.Instance.Setoids.K.html#9889" class="Function">helper</a> <a id="10297" href="Monad.Instance.Setoids.K.html#10285" class="Bound">b</a>
<a id="10301" href="Monad.Instance.Setoids.K.html#9068" class="Function">iter-folding</a> <a id="10314" class="Symbol">{</a><a id="10315" href="Monad.Instance.Setoids.K.html#10315" class="Bound">A</a><a id="10316" class="Symbol">}</a> <a id="10318" class="Symbol">{</a><a id="10319" href="Monad.Instance.Setoids.K.html#10319" class="Bound">X</a><a id="10320" class="Symbol">}</a> <a id="10322" class="Symbol">{</a><a id="10323" href="Monad.Instance.Setoids.K.html#10323" class="Bound">Y</a><a id="10324" class="Symbol">}</a> <a id="10326" class="Symbol">{</a><a id="10327" href="Monad.Instance.Setoids.K.html#10327" class="Bound">f</a><a id="10328" class="Symbol">}</a> <a id="10330" class="Symbol">{</a><a id="10331" href="Monad.Instance.Setoids.K.html#10331" class="Bound">h</a><a id="10332" class="Symbol">}</a> <a id="10334" class="Symbol">{</a><a id="10335" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="10340" href="Monad.Instance.Setoids.K.html#10340" class="Bound">x</a><a id="10341" class="Symbol">}</a> <a id="10343" class="Keyword">with</a> <a id="10348" href="Monad.Instance.Setoids.K.html#10331" class="Bound">h</a> <a id="10350" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="10354" href="Monad.Instance.Setoids.K.html#10340" class="Bound">x</a> <a id="10356" class="Keyword">in</a> <a id="10359" class="Argument">eqa</a>
<a id="10365" class="Symbol">...</a> <a id="10407" class="Symbol">|</a> <a id="10409" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="10414" href="Monad.Instance.Setoids.K.html#10414" class="Bound">a</a> <a id="10416" class="Symbol">=</a> <a id="10418" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="10425" class="Symbol">(</a><a id="10426" href="Monad.Instance.Setoids.K.html#9325" class="Function">iter-folding</a> <a id="10440" class="Symbol">{</a><a id="10441" class="Bound">A</a><a id="10442" class="Symbol">}</a> <a id="10444" class="Symbol">{</a><a id="10445" class="Bound">X</a><a id="10446" class="Symbol">}</a> <a id="10448" class="Symbol">{</a><a id="10449" class="Bound">Y</a><a id="10450" class="Symbol">}</a> <a id="10452" class="Symbol">{</a><a id="10453" class="Bound">f</a><a id="10454" class="Symbol">}</a> <a id="10456" class="Symbol">{</a><a id="10457" class="Bound">h</a><a id="10458" class="Symbol">}</a> <a id="10460" class="Symbol">{</a><a id="10461" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="10466" href="Monad.Instance.Setoids.K.html#10414" class="Bound">a</a><a id="10467" class="Symbol">})</a>
<a id="10472" class="Symbol">...</a> <a id="10514" class="Symbol">|</a> <a id="10516" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="10521" href="Monad.Instance.Setoids.K.html#10521" class="Bound">a</a> <a id="10523" class="Symbol">=</a> <a id="10525" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="10532" class="Symbol">(</a><a id="10533" href="Monad.Instance.Setoids.K.html#9325" class="Function">iter-folding</a> <a id="10547" class="Symbol">{</a><a id="10548" class="Bound">A</a><a id="10549" class="Symbol">}</a> <a id="10551" class="Symbol">{</a><a id="10552" class="Bound">X</a><a id="10553" class="Symbol">}</a> <a id="10555" class="Symbol">{</a><a id="10556" class="Bound">Y</a><a id="10557" class="Symbol">}</a> <a id="10559" class="Symbol">{</a><a id="10560" class="Bound">f</a><a id="10561" class="Symbol">}</a> <a id="10563" class="Symbol">{</a><a id="10564" class="Bound">h</a><a id="10565" class="Symbol">}</a> <a id="10567" class="Symbol">{</a><a id="10568" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="10573" href="Monad.Instance.Setoids.K.html#10521" class="Bound">a</a><a id="10574" class="Symbol">})</a>
<a id="delay-algebras-on"></a><a id="10580" href="Monad.Instance.Setoids.K.html#10580" class="Function">delay-algebras-on</a> <a id="10598" class="Symbol">:</a> <a id="10600" class="Symbol"></a> <a id="10602" class="Symbol">{</a><a id="10603" href="Monad.Instance.Setoids.K.html#10603" class="Bound">A</a> <a id="10605" class="Symbol">:</a> <a id="10607" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="10614" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="10616" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="10617" class="Symbol">}</a> <a id="10619" class="Symbol"></a> <a id="10621" href="Algebra.Elgot.html#1845" class="Record">Elgot-Algebra-on</a> <a id="10638" class="Symbol">(</a><a id="10639" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="10646" href="Monad.Instance.Setoids.K.html#10603" class="Bound">A</a><a id="10647" class="Symbol">)</a>
<a id="10651" href="Monad.Instance.Setoids.K.html#10580" class="Function">delay-algebras-on</a> <a id="10669" class="Symbol">{</a><a id="10670" href="Monad.Instance.Setoids.K.html#10670" class="Bound">A</a><a id="10671" class="Symbol">}</a> <a id="10673" class="Symbol">=</a> <a id="10675" class="Keyword">record</a>
<a id="10686" class="Symbol">{</a> <a id="10688" href="Algebra.Elgot.html#1938" class="Field Operator">_#</a> <a id="10691" class="Symbol">=</a> <a id="10693" href="Monad.Instance.Setoids.K.html#5699" class="Function">iterₛ</a> <a id="10699" class="Symbol">{</a><a id="10700" href="Monad.Instance.Setoids.K.html#10670" class="Bound">A</a><a id="10701" class="Symbol">}</a>
<a id="10707" class="Symbol">;</a> <a id="10709" href="Algebra.Elgot.html#2011" class="Field">#-Fixpoint</a> <a id="10720" class="Symbol">=</a> <a id="10722" class="Symbol">λ</a> <a id="10724" class="Symbol">{</a><a id="10725" href="Monad.Instance.Setoids.K.html#10725" class="Bound">X</a><a id="10726" class="Symbol">}</a> <a id="10728" class="Symbol">{</a><a id="10729" href="Monad.Instance.Setoids.K.html#10729" class="Bound">f</a><a id="10730" class="Symbol">}</a> <a id="10732" class="Symbol"></a> <a id="10734" href="Monad.Instance.Setoids.K.html#5854" class="Function">iter-fixpoint</a> <a id="10748" class="Symbol">{</a><a id="10749" href="Monad.Instance.Setoids.K.html#10670" class="Bound">A</a><a id="10750" class="Symbol">}</a> <a id="10752" class="Symbol">{</a><a id="10753" href="Monad.Instance.Setoids.K.html#10725" class="Bound">X</a><a id="10754" class="Symbol">}</a> <a id="10756" class="Symbol">{</a><a id="10757" href="Monad.Instance.Setoids.K.html#10729" class="Bound">f</a><a id="10758" class="Symbol">}</a>
<a id="10764" class="Symbol">;</a> <a id="10766" href="Algebra.Elgot.html#2086" class="Field">#-Uniformity</a> <a id="10779" class="Symbol">=</a> <a id="10781" class="Symbol">λ</a> <a id="10783" class="Symbol">{</a><a id="10784" href="Monad.Instance.Setoids.K.html#10784" class="Bound">X</a><a id="10785" class="Symbol">}</a> <a id="10787" class="Symbol">{</a><a id="10788" href="Monad.Instance.Setoids.K.html#10788" class="Bound">Y</a><a id="10789" class="Symbol">}</a> <a id="10791" class="Symbol">{</a><a id="10792" href="Monad.Instance.Setoids.K.html#10792" class="Bound">f</a><a id="10793" class="Symbol">}</a> <a id="10795" class="Symbol">{</a><a id="10796" href="Monad.Instance.Setoids.K.html#10796" class="Bound">g</a><a id="10797" class="Symbol">}</a> <a id="10799" class="Symbol">{</a><a id="10800" href="Monad.Instance.Setoids.K.html#10800" class="Bound">h</a><a id="10801" class="Symbol">}</a> <a id="10803" href="Monad.Instance.Setoids.K.html#10803" class="Bound">eq</a> <a id="10806" class="Symbol">{</a><a id="10807" href="Monad.Instance.Setoids.K.html#10807" class="Bound">x</a><a id="10808" class="Symbol">}</a> <a id="10810" class="Symbol"></a> <a id="10812" href="Monad.Instance.Setoids.K.html#7684" class="Function">iter-uni</a> <a id="10821" class="Symbol">{</a><a id="10822" href="Monad.Instance.Setoids.K.html#10670" class="Bound">A</a><a id="10823" class="Symbol">}</a> <a id="10825" class="Symbol">{</a><a id="10826" href="Monad.Instance.Setoids.K.html#10784" class="Bound">X</a><a id="10827" class="Symbol">}</a> <a id="10829" class="Symbol">{</a><a id="10830" href="Monad.Instance.Setoids.K.html#10788" class="Bound">Y</a><a id="10831" class="Symbol">}</a> <a id="10833" class="Symbol">{</a><a id="10834" href="Monad.Instance.Setoids.K.html#10792" class="Bound">f</a><a id="10835" class="Symbol">}</a> <a id="10837" class="Symbol">{</a><a id="10838" href="Monad.Instance.Setoids.K.html#10796" class="Bound">g</a><a id="10839" class="Symbol">}</a> <a id="10841" class="Symbol">{</a><a id="10842" href="Monad.Instance.Setoids.K.html#10800" class="Bound">h</a><a id="10843" class="Symbol">}</a> <a id="10845" href="Monad.Instance.Setoids.K.html#10803" class="Bound">eq</a> <a id="10848" class="Symbol">{</a><a id="10849" href="Monad.Instance.Setoids.K.html#10807" class="Bound">x</a><a id="10850" class="Symbol">}</a> <a id="10852" class="Symbol">{</a><a id="10853" href="Monad.Instance.Setoids.K.html#10800" class="Bound">h</a> <a id="10855" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="10859" href="Monad.Instance.Setoids.K.html#10807" class="Bound">x</a><a id="10860" class="Symbol">}</a> <a id="10862" class="Symbol">(</a><a id="10863" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="10870" href="Monad.Instance.Setoids.K.html#10788" class="Bound">Y</a><a id="10871" class="Symbol">)</a>
<a id="10877" class="Symbol">;</a> <a id="10879" href="Algebra.Elgot.html#2216" class="Field">#-Folding</a> <a id="10889" class="Symbol">=</a> <a id="10891" class="Symbol">λ</a> <a id="10893" class="Symbol">{</a><a id="10894" href="Monad.Instance.Setoids.K.html#10894" class="Bound">X</a><a id="10895" class="Symbol">}</a> <a id="10897" class="Symbol">{</a><a id="10898" href="Monad.Instance.Setoids.K.html#10898" class="Bound">Y</a><a id="10899" class="Symbol">}</a> <a id="10901" class="Symbol">{</a><a id="10902" href="Monad.Instance.Setoids.K.html#10902" class="Bound">f</a><a id="10903" class="Symbol">}</a> <a id="10905" class="Symbol">{</a><a id="10906" href="Monad.Instance.Setoids.K.html#10906" class="Bound">h</a><a id="10907" class="Symbol">}</a> <a id="10909" class="Symbol">{</a><a id="10910" href="Monad.Instance.Setoids.K.html#10910" class="Bound">x</a><a id="10911" class="Symbol">}</a> <a id="10913" class="Symbol"></a> <a id="10915" href="Monad.Instance.Setoids.K.html#9068" class="Function">iter-folding</a> <a id="10928" class="Symbol">{</a><a id="10929" href="Monad.Instance.Setoids.K.html#10670" class="Bound">A</a><a id="10930" class="Symbol">}</a> <a id="10932" class="Symbol">{</a><a id="10933" href="Monad.Instance.Setoids.K.html#10894" class="Bound">X</a><a id="10934" class="Symbol">}</a> <a id="10936" class="Symbol">{</a><a id="10937" href="Monad.Instance.Setoids.K.html#10898" class="Bound">Y</a><a id="10938" class="Symbol">}</a> <a id="10940" class="Symbol">{</a><a id="10941" href="Monad.Instance.Setoids.K.html#10902" class="Bound">f</a><a id="10942" class="Symbol">}</a> <a id="10944" class="Symbol">{</a><a id="10945" href="Monad.Instance.Setoids.K.html#10906" class="Bound">h</a><a id="10946" class="Symbol">}</a> <a id="10948" class="Symbol">{</a><a id="10949" href="Monad.Instance.Setoids.K.html#10910" class="Bound">x</a><a id="10950" class="Symbol">}</a>
<a id="10956" class="Symbol">;</a> <a id="10958" href="Algebra.Elgot.html#2331" class="Field">#-resp-≈</a> <a id="10967" class="Symbol">=</a> <a id="10969" class="Symbol">λ</a> <a id="10971" class="Symbol">{</a><a id="10972" href="Monad.Instance.Setoids.K.html#10972" class="Bound">X</a><a id="10973" class="Symbol">}</a> <a id="10975" class="Symbol">{</a><a id="10976" href="Monad.Instance.Setoids.K.html#10976" class="Bound">f</a><a id="10977" class="Symbol">}</a> <a id="10979" class="Symbol">{</a><a id="10980" href="Monad.Instance.Setoids.K.html#10980" class="Bound">g</a><a id="10981" class="Symbol">}</a> <a id="10983" href="Monad.Instance.Setoids.K.html#10983" class="Bound">f≋g</a> <a id="10987" class="Symbol">{</a><a id="10988" href="Monad.Instance.Setoids.K.html#10988" class="Bound">x</a><a id="10989" class="Symbol">}</a> <a id="10991" class="Symbol"></a> <a id="10993" href="Monad.Instance.Setoids.K.html#6218" class="Function">iter-resp-≈</a> <a id="11005" class="Symbol">{</a><a id="11006" href="Monad.Instance.Setoids.K.html#10670" class="Bound">A</a><a id="11007" class="Symbol">}</a> <a id="11009" class="Symbol">{</a><a id="11010" href="Monad.Instance.Setoids.K.html#10972" class="Bound">X</a><a id="11011" class="Symbol">}</a> <a id="11013" href="Monad.Instance.Setoids.K.html#10976" class="Bound">f</a> <a id="11015" href="Monad.Instance.Setoids.K.html#10980" class="Bound">g</a> <a id="11017" href="Monad.Instance.Setoids.K.html#10983" class="Bound">f≋g</a> <a id="11021" class="Symbol">{</a><a id="11022" href="Monad.Instance.Setoids.K.html#10988" class="Bound">x</a><a id="11023" class="Symbol">}</a> <a id="11025" class="Symbol">{</a><a id="11026" href="Monad.Instance.Setoids.K.html#10988" class="Bound">x</a><a id="11027" class="Symbol">}</a> <a id="11029" class="Symbol">(</a><a id="11030" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="11037" href="Monad.Instance.Setoids.K.html#10972" class="Bound">X</a><a id="11038" class="Symbol">)</a>
<a id="11044" class="Symbol">}</a>
<a id="delay-algebras"></a><a id="11049" href="Monad.Instance.Setoids.K.html#11049" class="Function">delay-algebras</a> <a id="11064" class="Symbol">:</a> <a id="11066" class="Symbol"></a> <a id="11068" class="Symbol">(</a><a id="11069" href="Monad.Instance.Setoids.K.html#11069" class="Bound">A</a> <a id="11071" class="Symbol">:</a> <a id="11073" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="11080" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="11082" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="11083" class="Symbol">)</a> <a id="11085" class="Symbol"></a> <a id="11087" href="Algebra.Elgot.html#15964" class="Record">Elgot-Algebra</a>
<a id="11103" href="Monad.Instance.Setoids.K.html#11049" class="Function">delay-algebras</a> <a id="11118" href="Monad.Instance.Setoids.K.html#11118" class="Bound">A</a> <a id="11120" class="Symbol">=</a> <a id="11122" class="Keyword">record</a> <a id="11129" class="Symbol">{</a> <a id="11131" href="Algebra.Elgot.html#16018" class="Field">A</a> <a id="11133" class="Symbol">=</a> <a id="11135" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="11142" href="Monad.Instance.Setoids.K.html#11118" class="Bound">A</a> <a id="11144" class="Symbol">;</a> <a id="11146" href="Algebra.Elgot.html#16032" class="Field">algebra</a> <a id="11154" class="Symbol">=</a> <a id="11156" href="Monad.Instance.Setoids.K.html#10580" class="Function">delay-algebras-on</a> <a id="11174" class="Symbol">{</a><a id="11175" href="Monad.Instance.Setoids.K.html#11118" class="Bound">A</a><a id="11176" class="Symbol">}}</a>
<a id="11182" class="Keyword">open</a> <a id="11187" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="11201" class="Keyword">using</a> <a id="11207" class="Symbol">(</a><a id="11208" href="Algebra.Elgot.html#2011" class="Function">#-Fixpoint</a><a id="11218" class="Symbol">;</a> <a id="11220" href="Algebra.Elgot.html#2086" class="Function">#-Uniformity</a><a id="11232" class="Symbol">;</a> <a id="11234" href="Algebra.Elgot.html#2470" class="Function">#-Compositionality</a><a id="11252" class="Symbol">;</a> <a id="11254" href="Algebra.Elgot.html#2331" class="Function">#-resp-≈</a><a id="11262" class="Symbol">;</a> <a id="11264" href="Algebra.Elgot.html#8386" class="Function">#-Diamond</a><a id="11273" class="Symbol">)</a> <a id="11275" class="Keyword">renaming</a> <a id="11284" class="Symbol">(</a><a id="11285" href="Algebra.Elgot.html#16018" class="Field">A</a> <a id="11287" class="Symbol">to</a> <a id="11290" class="Field">⟦_⟧</a><a id="11293" class="Symbol">)</a>
<a id="delay-lift"></a><a id="11299" href="Monad.Instance.Setoids.K.html#11299" class="Function">delay-lift</a> <a id="11310" class="Symbol">:</a> <a id="11312" class="Symbol"></a> <a id="11314" class="Symbol">{</a><a id="11315" href="Monad.Instance.Setoids.K.html#11315" class="Bound">A</a> <a id="11317" class="Symbol">:</a> <a id="11319" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="11326" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="11328" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="11329" class="Symbol">}</a> <a id="11331" class="Symbol">{</a><a id="11332" href="Monad.Instance.Setoids.K.html#11332" class="Bound">B</a> <a id="11334" class="Symbol">:</a> <a id="11336" href="Algebra.Elgot.html#15964" class="Record">Elgot-Algebra</a><a id="11349" class="Symbol">}</a> <a id="11351" class="Symbol"></a> <a id="11353" href="Monad.Instance.Setoids.K.html#11315" class="Bound">A</a> <a id="11355" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="11357" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="11359" href="Monad.Instance.Setoids.K.html#11332" class="Bound">B</a> <a id="11361" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="11363" class="Symbol"></a> <a id="11365" href="Category.Construction.ElgotAlgebras.html#727" class="Record">Elgot-Algebra-Morphism</a> <a id="11388" class="Symbol">(</a><a id="11389" href="Monad.Instance.Setoids.K.html#11049" class="Function">delay-algebras</a> <a id="11404" href="Monad.Instance.Setoids.K.html#11315" class="Bound">A</a><a id="11405" class="Symbol">)</a> <a id="11407" href="Monad.Instance.Setoids.K.html#11332" class="Bound">B</a>
<a id="11411" href="Monad.Instance.Setoids.K.html#11299" class="Function">delay-lift</a> <a id="11422" class="Symbol">{</a><a id="11423" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="11424" class="Symbol">}</a> <a id="11426" class="Symbol">{</a><a id="11427" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a><a id="11428" class="Symbol">}</a> <a id="11430" href="Monad.Instance.Setoids.K.html#11430" class="Bound">f</a> <a id="11432" class="Symbol">=</a> <a id="11434" class="Keyword">record</a> <a id="11441" class="Symbol">{</a> <a id="11443" href="Category.Construction.ElgotAlgebras.html#794" class="Field">h</a> <a id="11445" class="Symbol">=</a> <a id="11447" href="Monad.Instance.Setoids.K.html#18889" class="Function">delay-lift&#39;</a> <a id="11459" class="Symbol">;</a> <a id="11461" href="Category.Construction.ElgotAlgebras.html#812" class="Field">preserves</a> <a id="11471" class="Symbol">=</a> <a id="11473" class="Symbol">λ</a> <a id="11475" class="Symbol">{</a><a id="11476" href="Monad.Instance.Setoids.K.html#11476" class="Bound">X</a><a id="11477" class="Symbol">}</a> <a id="11479" class="Symbol">{</a><a id="11480" href="Monad.Instance.Setoids.K.html#11480" class="Bound">g</a><a id="11481" class="Symbol">}</a> <a id="11483" class="Symbol">{</a><a id="11484" href="Monad.Instance.Setoids.K.html#11484" class="Bound">x</a><a id="11485" class="Symbol">}</a> <a id="11487" class="Symbol"></a> <a id="11489" href="Monad.Instance.Setoids.K.html#19960" class="Function">preserves&#39;</a> <a id="11500" class="Symbol">{</a><a id="11501" href="Monad.Instance.Setoids.K.html#11476" class="Bound">X</a><a id="11502" class="Symbol">}</a> <a id="11504" class="Symbol">{</a><a id="11505" href="Monad.Instance.Setoids.K.html#11480" class="Bound">g</a><a id="11506" class="Symbol">}</a> <a id="11508" class="Symbol">{</a><a id="11509" href="Monad.Instance.Setoids.K.html#11484" class="Bound">x</a><a id="11510" class="Symbol">}</a> <a id="11512" class="Symbol">}</a>
<a id="11518" class="Keyword">where</a>
<a id="11528" class="Keyword">open</a> <a id="11533" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="11547" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="11549" class="Keyword">using</a> <a id="11555" class="Symbol">(</a><a id="11556" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a><a id="11558" class="Symbol">)</a>
<a id="11564" class="Comment">-- (f + id) ∘ out</a>
<a id="11586" href="Monad.Instance.Setoids.K.html#11586" class="Function">helper₁</a> <a id="11594" class="Symbol">:</a> <a id="11596" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="11602" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="11604" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="11606" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="11608" class="Symbol"></a> <a id="11610" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="11612" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="11614" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="11616" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="11618" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="11620" href="Data.Sum.Base.html#625" class="Datatype Operator"></a> <a id="11622" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="11628" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="11630" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="11632" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a>
<a id="11638" href="Monad.Instance.Setoids.K.html#11586" class="Function">helper₁</a> <a id="11646" class="Symbol">(</a><a id="11647" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="11651" href="Monad.Instance.Setoids.K.html#11651" class="Bound">x</a><a id="11652" class="Symbol">)</a> <a id="11656" class="Symbol">=</a> <a id="11658" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="11663" class="Symbol">(</a><a id="11664" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="11666" href="Monad.Instance.Setoids.K.html#11430" class="Bound">f</a> <a id="11668" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="11670" href="Monad.Instance.Setoids.K.html#11651" class="Bound">x</a><a id="11671" class="Symbol">)</a>
<a id="11677" href="Monad.Instance.Setoids.K.html#11586" class="Function">helper₁</a> <a id="11685" class="Symbol">(</a><a id="11686" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="11692" href="Monad.Instance.Setoids.K.html#11692" class="Bound">x</a><a id="11693" class="Symbol">)</a> <a id="11695" class="Symbol">=</a> <a id="11697" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="11702" class="Symbol">(</a><a id="11703" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="11709" href="Monad.Instance.Setoids.K.html#11692" class="Bound">x</a><a id="11710" class="Symbol">)</a>
<a id="11717" href="Monad.Instance.Setoids.K.html#11717" class="Function">helper₁-cong</a> <a id="11730" class="Symbol">:</a> <a id="11732" class="Symbol">{</a><a id="11733" href="Monad.Instance.Setoids.K.html#11733" class="Bound">x</a> <a id="11735" href="Monad.Instance.Setoids.K.html#11735" class="Bound">y</a> <a id="11737" class="Symbol">:</a> <a id="11739" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="11745" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="11747" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="11749" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="11750" class="Symbol">}</a> <a id="11752" class="Symbol"></a> <a id="11754" class="Symbol">(</a><a id="11755" href="Monad.Instance.Setoids.K.html#11755" class="Bound">xy</a> <a id="11759" class="Symbol">:</a> <a id="11761" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">[</a> <a id="11763" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="11765" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">][</a> <a id="11768" href="Monad.Instance.Setoids.K.html#11733" class="Bound">x</a> <a id="11770" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator"></a> <a id="11772" href="Monad.Instance.Setoids.K.html#11735" class="Bound">y</a> <a id="11774" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">]</a><a id="11775" class="Symbol">)</a> <a id="11777" class="Symbol"></a> <a id="11779" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="11781" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="11783" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="11785" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="11787" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="11790" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="11798" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="11800" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="11803" href="Monad.Instance.Setoids.K.html#11586" class="Function">helper₁</a> <a id="11811" href="Monad.Instance.Setoids.K.html#11733" class="Bound">x</a> <a id="11813" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="11815" href="Monad.Instance.Setoids.K.html#11586" class="Function">helper₁</a> <a id="11823" href="Monad.Instance.Setoids.K.html#11735" class="Bound">y</a> <a id="11825" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="11831" href="Monad.Instance.Setoids.K.html#11717" class="Function">helper₁-cong</a> <a id="11844" class="Symbol">(</a><a id="11845" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now</a> <a id="11850" href="Monad.Instance.Setoids.K.html#11850" class="Bound">x≡y</a><a id="11853" class="Symbol">)</a> <a id="11857" class="Symbol">=</a> <a id="11859" href="Data.Sum.Relation.Binary.Pointwise.html#1176" class="InductiveConstructor">inj₁</a> <a id="11864" class="Symbol">(</a><a id="11865" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="11870" href="Monad.Instance.Setoids.K.html#11430" class="Bound">f</a> <a id="11872" href="Monad.Instance.Setoids.K.html#11850" class="Bound">x≡y</a><a id="11875" class="Symbol">)</a>
<a id="11881" href="Monad.Instance.Setoids.K.html#11717" class="Function">helper₁-cong</a> <a id="11894" class="Symbol">(</a><a id="11895" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later</a> <a id="11902" href="Monad.Instance.Setoids.K.html#11902" class="Bound">x≡y</a><a id="11905" class="Symbol">)</a> <a id="11907" class="Symbol">=</a> <a id="11909" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="11914" class="Symbol">(</a><a id="11915" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force</a> <a id="11922" href="Monad.Instance.Setoids.K.html#11902" class="Bound">x≡y</a><a id="11925" class="Symbol">)</a>
<a id="11934" class="Comment">-- -- setoid-morphism that preserves strong-bisimilarity</a>
<a id="11995" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="12002" class="Symbol">:</a> <a id="12004" class="Symbol">(</a><a id="12005" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="12013" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="12014" class="Symbol">)</a> <a id="12016" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="12018" class="Symbol">(</a><a id="12019" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12021" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="12023" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12025" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="12028" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="12036" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="12037" class="Symbol">)</a>
<a id="12043" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="12050" class="Symbol">=</a> <a id="12052" class="Keyword">record</a> <a id="12059" class="Symbol">{</a> <a id="12061" href="Function.Bundles.html#2094" class="Field">to</a> <a id="12064" class="Symbol">=</a> <a id="12066" href="Monad.Instance.Setoids.K.html#11586" class="Function">helper₁</a> <a id="12074" class="Symbol">;</a> <a id="12076" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="12081" class="Symbol">=</a> <a id="12083" href="Monad.Instance.Setoids.K.html#11717" class="Function">helper₁-cong</a><a id="12095" class="Symbol">}</a>
<a id="12102" href="Monad.Instance.Setoids.K.html#12102" class="Function">helper#-cong</a> <a id="12116" class="Symbol">:</a> <a id="12118" class="Symbol">{</a><a id="12119" href="Monad.Instance.Setoids.K.html#12119" class="Bound">x</a> <a id="12121" href="Monad.Instance.Setoids.K.html#12121" class="Bound">y</a> <a id="12123" class="Symbol">:</a> <a id="12125" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="12131" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="12133" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="12135" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="12136" class="Symbol">}</a> <a id="12138" class="Symbol"></a> <a id="12140" class="Symbol">(</a><a id="12141" href="Monad.Instance.Setoids.K.html#12141" class="Bound">xy</a> <a id="12145" class="Symbol">:</a> <a id="12147" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">[</a> <a id="12149" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="12151" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">][</a> <a id="12154" href="Monad.Instance.Setoids.K.html#12119" class="Bound">x</a> <a id="12156" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator"></a> <a id="12158" href="Monad.Instance.Setoids.K.html#12121" class="Bound">y</a> <a id="12160" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">]</a><a id="12161" class="Symbol">)</a> <a id="12163" class="Symbol"></a> <a id="12165" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="12167" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12169" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="12171" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12173" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="12176" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="12183" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="12185" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="12189" href="Monad.Instance.Setoids.K.html#12119" class="Bound">x</a> <a id="12191" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="12193" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="12200" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="12202" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="12206" href="Monad.Instance.Setoids.K.html#12121" class="Bound">y</a> <a id="12208" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="12214" href="Monad.Instance.Setoids.K.html#12102" class="Function">helper#-cong</a> <a id="12228" class="Symbol">{</a><a id="12229" href="Monad.Instance.Setoids.K.html#12229" class="Bound">x</a><a id="12230" class="Symbol">}</a> <a id="12232" class="Symbol">{</a><a id="12233" href="Monad.Instance.Setoids.K.html#12233" class="Bound">y</a><a id="12234" class="Symbol">}</a> <a id="12236" href="Monad.Instance.Setoids.K.html#12236" class="Bound">xy</a> <a id="12240" class="Symbol">=</a> <a id="12242" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="12247" class="Symbol">(</a><a id="12248" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="12255" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="12256" class="Symbol">)</a> <a id="12258" href="Monad.Instance.Setoids.K.html#12236" class="Bound">xy</a>
<a id="12267" href="Monad.Instance.Setoids.K.html#12267" class="Function">helper#≈-cong</a> <a id="12281" class="Symbol">:</a> <a id="12283" class="Symbol">{</a><a id="12284" href="Monad.Instance.Setoids.K.html#12284" class="Bound">x</a> <a id="12286" href="Monad.Instance.Setoids.K.html#12286" class="Bound">y</a> <a id="12288" class="Symbol">:</a> <a id="12290" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="12296" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="12298" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="12300" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="12301" class="Symbol">}</a> <a id="12303" class="Symbol"></a> <a id="12305" class="Symbol">(</a><a id="12306" href="Monad.Instance.Setoids.K.html#12306" class="Bound">x≈y</a> <a id="12310" class="Symbol">:</a> <a id="12312" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">[</a> <a id="12314" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="12316" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">][</a> <a id="12319" href="Monad.Instance.Setoids.K.html#12284" class="Bound">x</a> <a id="12321" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator"></a> <a id="12323" href="Monad.Instance.Setoids.K.html#12286" class="Bound">y</a> <a id="12325" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">]</a><a id="12326" class="Symbol">)</a> <a id="12328" class="Symbol"></a> <a id="12330" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="12332" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12334" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="12336" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12338" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="12341" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="12348" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="12350" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="12354" href="Monad.Instance.Setoids.K.html#12284" class="Bound">x</a> <a id="12356" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="12358" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="12365" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="12367" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="12371" href="Monad.Instance.Setoids.K.html#12286" class="Bound">y</a> <a id="12373" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="12379" class="Comment">-- key special case</a>
<a id="12403" href="Monad.Instance.Setoids.K.html#12403" class="Function">helper#≈-cong&#39;</a> <a id="12418" class="Symbol">:</a> <a id="12420" class="Symbol">{</a><a id="12421" href="Monad.Instance.Setoids.K.html#12421" class="Bound">z</a> <a id="12423" class="Symbol">:</a> <a id="12425" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="12431" class="Symbol">(</a><a id="12432" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="12434" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="12436" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="12438" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="12440" href="Category.Ambient.Setoids.html#1884" class="Datatype"></a><a id="12441" class="Symbol">)}</a> <a id="12444" class="Symbol"></a> <a id="12446" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="12448" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12450" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="12452" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12454" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="12457" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="12464" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="12466" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="12470" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="12476" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="12482" href="Monad.Instance.Setoids.K.html#12421" class="Bound">z</a> <a id="12484" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="12486" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="12493" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="12495" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="12499" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="12501" class="Symbol">{</a><a id="12502" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="12503" class="Symbol">}</a> <a id="12505" class="Symbol">(</a><a id="12506" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="12512" class="Symbol">(</a><a id="12513" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="12515" class="Symbol">{</a><a id="12516" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="12517" class="Symbol">})</a> <a id="12520" href="Monad.Instance.Setoids.K.html#12421" class="Bound">z</a><a id="12521" class="Symbol">)</a> <a id="12523" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="12530" href="Monad.Instance.Setoids.K.html#12267" class="Function">helper#≈-cong</a> <a id="12544" href="Monad.Instance.Setoids.K.html#12544" class="Bound">x≈y</a> <a id="12548" class="Symbol">=</a>
<a id="12556" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="12564" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12566" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="12568" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a>
<a id="12579" class="Symbol">(</a><a id="12580" href="Monad.Instance.Setoids.K.html#12102" class="Function">helper#-cong</a> <a id="12594" class="Symbol">(</a><a id="12595" href="Monad.Instance.Setoids.Delay.html#2377" class="Function">-sym</a> <a id="12601" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="12603" class="Symbol">(</a><a id="12604" href="Monad.Instance.Setoids.Delay.html#21437" class="Function">delta-prop₂</a> <a id="12616" class="Symbol">{</a><a id="12617" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="12618" class="Symbol">}</a> <a id="12620" href="Monad.Instance.Setoids.K.html#12993" class="Function">ineq₂</a><a id="12625" class="Symbol">)))</a>
<a id="12638" class="Symbol">(</a><a id="12639" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="12647" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12649" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="12651" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a>
<a id="12664" class="Symbol">(</a><a id="12665" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="12673" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12675" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="12677" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a>
<a id="12692" class="Symbol">(</a><a id="12693" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="12699" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12701" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="12703" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12705" class="Symbol">(</a><a id="12706" href="Monad.Instance.Setoids.K.html#12403" class="Function">helper#≈-cong&#39;</a> <a id="12721" class="Symbol">{</a><a id="12722" href="Monad.Instance.Setoids.K.html#13063" class="Function">z₂</a><a id="12724" class="Symbol">}))</a> <a id="12728" class="Symbol">(</a><a id="12729" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="12737" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12739" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="12741" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="12743" class="Symbol">(</a><a id="12744" href="Monad.Instance.Setoids.K.html#12102" class="Function">helper#-cong</a> <a id="12758" class="Symbol">(</a><a id="12759" href="Monad.Instance.Setoids.Delay.html#2612" class="Function">-trans</a> <a id="12767" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="12769" class="Symbol">(</a><a id="12770" href="Monad.Instance.Setoids.Delay.html#21035" class="Function">delta-prop₁</a> <a id="12782" class="Symbol">(</a><a id="12783" href="Monad.Instance.Setoids.Delay.html#19731" class="Function">≈→≲</a> <a id="12787" class="Symbol">(</a><a id="12788" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="12794" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="12796" href="Monad.Instance.Setoids.K.html#12544" class="Bound">x≈y</a><a id="12799" class="Symbol">)))</a> <a id="12803" class="Symbol">(</a><a id="12804" href="Monad.Instance.Setoids.Delay.html#2377" class="Function">-sym</a> <a id="12810" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="12812" class="Symbol">(</a><a id="12813" href="Monad.Instance.Setoids.Delay.html#2612" class="Function">-trans</a> <a id="12821" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="12823" class="Symbol">(</a><a id="12824" href="Monad.Instance.Setoids.Delay.html#21035" class="Function">delta-prop₁</a> <a id="12836" class="Symbol">(</a><a id="12837" href="Monad.Instance.Setoids.Delay.html#19731" class="Function">≈→≲</a> <a id="12841" href="Monad.Instance.Setoids.K.html#12544" class="Bound">x≈y</a><a id="12844" class="Symbol">))</a> <a id="12847" class="Symbol">(</a><a id="12848" href="Monad.Instance.Setoids.Delay.html#18802" class="Function">race-sym≈</a> <a id="12858" href="Monad.Instance.Setoids.K.html#12544" class="Bound">x≈y</a><a id="12861" class="Symbol">)))))</a> <a id="12867" class="Symbol">(</a><a id="12868" href="Monad.Instance.Setoids.K.html#12403" class="Function">helper#≈-cong&#39;</a> <a id="12883" class="Symbol">{</a><a id="12884" href="Monad.Instance.Setoids.K.html#13031" class="Function">z₁</a><a id="12886" class="Symbol">})))</a>
<a id="12904" class="Symbol">(</a><a id="12905" href="Monad.Instance.Setoids.K.html#12102" class="Function">helper#-cong</a> <a id="12919" class="Symbol">(</a><a id="12920" href="Monad.Instance.Setoids.Delay.html#21437" class="Function">delta-prop₂</a> <a id="12932" class="Symbol">{</a><a id="12933" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="12934" class="Symbol">}</a> <a id="12936" href="Monad.Instance.Setoids.K.html#12965" class="Function">ineq₁</a><a id="12941" class="Symbol">)))</a>
<a id="12951" class="Keyword">where</a>
<a id="12965" href="Monad.Instance.Setoids.K.html#12965" class="Function">ineq₁</a> <a id="12971" class="Symbol">=</a> <a id="12973" href="Monad.Instance.Setoids.Delay.html#19731" class="Function">≈→≲</a> <a id="12977" class="Symbol">{</a><a id="12978" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="12979" class="Symbol">}</a> <a id="12981" href="Monad.Instance.Setoids.K.html#12544" class="Bound">x≈y</a>
<a id="12993" href="Monad.Instance.Setoids.K.html#12993" class="Function">ineq₂</a> <a id="12999" class="Symbol">=</a> <a id="13001" href="Monad.Instance.Setoids.Delay.html#19731" class="Function">≈→≲</a> <a id="13005" class="Symbol">{</a><a id="13006" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="13007" class="Symbol">}</a> <a id="13009" class="Symbol">(</a><a id="13010" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="13016" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="13018" href="Monad.Instance.Setoids.K.html#12544" class="Bound">x≈y</a><a id="13021" class="Symbol">)</a>
<a id="13031" href="Monad.Instance.Setoids.K.html#13031" class="Function">z₁</a> <a id="13037" class="Symbol">=</a> <a id="13039" href="Monad.Instance.Setoids.Delay.html#20149" class="Function">delta</a> <a id="13045" class="Symbol">{</a><a id="13046" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="13047" class="Symbol">}</a> <a id="13049" href="Monad.Instance.Setoids.K.html#12965" class="Function">ineq₁</a>
<a id="13063" href="Monad.Instance.Setoids.K.html#13063" class="Function">z₂</a> <a id="13069" class="Symbol">=</a> <a id="13071" href="Monad.Instance.Setoids.Delay.html#20149" class="Function">delta</a> <a id="13077" class="Symbol">{</a><a id="13078" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="13079" class="Symbol">}</a> <a id="13081" href="Monad.Instance.Setoids.K.html#12993" class="Function">ineq₂</a>
<a id="13092" href="Monad.Instance.Setoids.K.html#12403" class="Function">helper#≈-cong&#39;</a> <a id="13107" class="Symbol">{</a><a id="13108" href="Monad.Instance.Setoids.K.html#13108" class="Bound">z</a><a id="13109" class="Symbol">}</a> <a id="13111" class="Symbol">=</a> <a id="13113" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="13121" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13123" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="13125" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13127" class="Symbol">(</a><a id="13128" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="13136" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13138" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="13140" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13142" class="Symbol">(</a><a id="13143" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="13149" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13151" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="13153" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13155" href="Monad.Instance.Setoids.K.html#17486" class="Function">eq₁</a><a id="13158" class="Symbol">)</a> <a id="13160" class="Symbol">(</a><a id="13161" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="13167" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13169" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="13171" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13173" href="Monad.Instance.Setoids.K.html#14923" class="Function">eq₀</a><a id="13176" class="Symbol">))</a> <a id="13179" href="Monad.Instance.Setoids.K.html#18639" class="Function">eq₂</a>
<a id="13189" class="Keyword">where</a>
<a id="13203" href="Monad.Instance.Setoids.K.html#13203" class="Function">outer</a> <a id="13209" class="Symbol">:</a> <a id="13211" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="13213" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="13215" class="Symbol">(</a><a id="13216" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="13218" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="13221" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a> <a id="13230" class="Symbol">{</a><a id="13231" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="13232" class="Symbol">})</a>
<a id="13243" href="Monad.Instance.Setoids.K.html#13203" class="Function">outer</a> <a id="13249" class="Symbol">=</a> <a id="13251" class="Keyword">record</a> <a id="13258" class="Symbol">{</a> <a id="13260" href="Function.Bundles.html#2094" class="Field">to</a> <a id="13263" class="Symbol">=</a> <a id="13265" class="Symbol">λ</a> <a id="13267" href="Monad.Instance.Setoids.K.html#13267" class="Bound">z</a> <a id="13269" class="Symbol"></a> <a id="13271" href="Monad.Instance.Setoids.K.html#13267" class="Bound">z</a> <a id="13273" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="13275" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a> <a id="13280" class="Symbol">;</a> <a id="13282" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="13287" class="Symbol">=</a> <a id="13289" class="Symbol">λ</a> <a id="13291" class="Symbol">{</a><a id="13292" href="Monad.Instance.Setoids.K.html#13292" class="Bound">x</a><a id="13293" class="Symbol">}</a> <a id="13295" class="Symbol">{</a><a id="13296" href="Monad.Instance.Setoids.K.html#13296" class="Bound">y</a><a id="13297" class="Symbol">}</a> <a id="13299" href="Monad.Instance.Setoids.K.html#13299" class="Bound">x≡y</a> <a id="13303" class="Symbol"></a> <a id="13305" href="Monad.Instance.Setoids.K.html#13299" class="Bound">x≡y</a> <a id="13309" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="13311" href="Monad.Instance.Setoids.K.html#647" class="InductiveConstructor">≣-refl</a> <a id="13318" class="Symbol">}</a>
<a id="13329" href="Monad.Instance.Setoids.K.html#13329" class="Function">ι-cancel</a> <a id="13338" class="Symbol">:</a> <a id="13340" class="Symbol"></a> <a id="13342" class="Symbol">{</a><a id="13343" href="Monad.Instance.Setoids.K.html#13343" class="Bound">x</a><a id="13344" class="Symbol">}</a> <a id="13346" class="Symbol"></a> <a id="13348" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">[</a> <a id="13350" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="13352" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">][</a> <a id="13355" class="Symbol">(</a><a id="13356" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="13358" class="Symbol">{</a><a id="13359" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="13360" class="Symbol">}</a> <a id="13362" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="13365" class="Symbol"></a> <a id="13368" href="Monad.Instance.Setoids.K.html#13368" class="Bound">z</a> <a id="13370" class="Symbol"></a> <a id="13372" href="Monad.Instance.Setoids.K.html#13368" class="Bound">z</a> <a id="13374" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="13376" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a><a id="13380" class="Symbol">))</a> <a id="13383" href="Monad.Instance.Setoids.K.html#13343" class="Bound">x</a> <a id="13385" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator"></a> <a id="13387" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="13391" href="Monad.Instance.Setoids.K.html#13343" class="Bound">x</a> <a id="13393" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">]</a>
<a id="13403" href="Monad.Instance.Setoids.K.html#13329" class="Function">ι-cancel</a> <a id="13412" class="Symbol">=</a> <a id="13414" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">-refl</a> <a id="13421" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a>
<a id="13431" href="Monad.Instance.Setoids.K.html#13431" class="Function">helper₁&#39;</a> <a id="13440" class="Symbol">:</a> <a id="13442" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13448" class="Symbol">(</a><a id="13449" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="13451" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="13453" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="13455" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="13457" href="Category.Ambient.Setoids.html#1884" class="Datatype"></a> <a id="13459" class="Symbol">{</a><a id="13460" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="13461" class="Symbol">})</a> <a id="13464" class="Symbol"></a> <a id="13466" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="13468" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13470" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="13472" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13474" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="13476" href="Data.Sum.Base.html#625" class="Datatype Operator"></a> <a id="13478" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13484" class="Symbol">(</a><a id="13485" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="13487" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="13489" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="13491" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="13493" href="Category.Ambient.Setoids.html#1884" class="Datatype"></a> <a id="13495" class="Symbol">{</a><a id="13496" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="13497" class="Symbol">})</a>
<a id="13508" href="Monad.Instance.Setoids.K.html#13431" class="Function">helper₁&#39;</a> <a id="13517" class="Symbol">(</a><a id="13518" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="13522" class="Symbol">(</a><a id="13523" href="Monad.Instance.Setoids.K.html#13523" class="Bound">x</a> <a id="13525" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="13527" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a><a id="13531" class="Symbol">))</a> <a id="13535" class="Symbol">=</a> <a id="13537" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="13542" class="Symbol">(</a><a id="13543" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="13545" href="Monad.Instance.Setoids.K.html#11430" class="Bound">f</a> <a id="13547" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="13549" href="Monad.Instance.Setoids.K.html#13523" class="Bound">x</a><a id="13550" class="Symbol">)</a>
<a id="13560" href="Monad.Instance.Setoids.K.html#13431" class="Function">helper₁&#39;</a> <a id="13569" class="Symbol">(</a><a id="13570" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="13574" class="Symbol">(</a><a id="13575" href="Monad.Instance.Setoids.K.html#13575" class="Bound">x</a> <a id="13577" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="13579" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="13583" href="Monad.Instance.Setoids.K.html#13583" class="Bound">n</a><a id="13584" class="Symbol">))</a> <a id="13587" class="Symbol">=</a> <a id="13589" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="13594" class="Symbol">(</a><a id="13595" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="13597" href="Monad.Instance.Setoids.Delay.html#8881" class="Function">liftFₛ</a> <a id="13605" href="Monad.Instance.Setoids.K.html#13203" class="Function">outer</a> <a id="13611" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="13613" class="Symbol">(</a><a id="13614" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="13616" class="Symbol">{</a><a id="13617" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="13618" class="Symbol">}</a> <a id="13620" class="Symbol">(</a><a id="13621" href="Monad.Instance.Setoids.K.html#13575" class="Bound">x</a> <a id="13623" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="13625" href="Monad.Instance.Setoids.K.html#13583" class="Bound">n</a><a id="13626" class="Symbol">)))</a>
<a id="13638" href="Monad.Instance.Setoids.K.html#13431" class="Function">helper₁&#39;</a> <a id="13647" class="Symbol">(</a><a id="13648" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="13654" href="Monad.Instance.Setoids.K.html#13654" class="Bound">y</a><a id="13655" class="Symbol">)</a> <a id="13665" class="Symbol">=</a> <a id="13667" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="13672" class="Symbol">(</a><a id="13673" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="13679" href="Monad.Instance.Setoids.K.html#13654" class="Bound">y</a><a id="13680" class="Symbol">)</a>
<a id="13691" href="Monad.Instance.Setoids.K.html#13691" class="Function">helper₁-cong&#39;</a> <a id="13705" class="Symbol">:</a> <a id="13707" class="Symbol">{</a><a id="13708" href="Monad.Instance.Setoids.K.html#13708" class="Bound">x</a> <a id="13710" href="Monad.Instance.Setoids.K.html#13710" class="Bound">y</a> <a id="13712" class="Symbol">:</a> <a id="13714" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13720" class="Symbol">(</a><a id="13721" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="13723" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="13725" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="13727" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="13729" href="Category.Ambient.Setoids.html#1884" class="Datatype"></a> <a id="13731" class="Symbol">{</a><a id="13732" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="13733" class="Symbol">})}</a> <a id="13737" class="Symbol"></a> <a id="13739" class="Symbol">(</a><a id="13740" href="Monad.Instance.Setoids.K.html#13740" class="Bound">xy</a> <a id="13744" class="Symbol">:</a> <a id="13746" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">[</a> <a id="13748" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="13750" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="13753" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a> <a id="13762" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">][</a> <a id="13765" href="Monad.Instance.Setoids.K.html#13708" class="Bound">x</a> <a id="13767" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator"></a> <a id="13769" href="Monad.Instance.Setoids.K.html#13710" class="Bound">y</a> <a id="13771" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">]</a><a id="13772" class="Symbol">)</a> <a id="13774" class="Symbol"></a> <a id="13776" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="13778" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13780" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="13782" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="13784" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="13787" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="13795" class="Symbol">(</a><a id="13796" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="13798" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="13801" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="13809" class="Symbol">)</a> <a id="13811" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="13814" href="Monad.Instance.Setoids.K.html#13431" class="Function">helper₁&#39;</a> <a id="13823" href="Monad.Instance.Setoids.K.html#13708" class="Bound">x</a> <a id="13825" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="13827" href="Monad.Instance.Setoids.K.html#13431" class="Function">helper₁&#39;</a> <a id="13836" href="Monad.Instance.Setoids.K.html#13710" class="Bound">y</a> <a id="13838" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="13848" href="Monad.Instance.Setoids.K.html#13691" class="Function">helper₁-cong&#39;</a> <a id="13862" class="Symbol">{</a><a id="13863" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="13867" class="Symbol">(</a><a id="13868" href="Monad.Instance.Setoids.K.html#13868" class="Bound">x</a> <a id="13870" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="13872" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a><a id="13876" class="Symbol">)}</a> <a id="13880" class="Symbol">(</a><a id="13881" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now</a> <a id="13886" class="Symbol">(</a><a id="13887" href="Monad.Instance.Setoids.K.html#13887" class="Bound">x≡y</a> <a id="13891" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="13893" href="Monad.Instance.Setoids.K.html#647" class="InductiveConstructor">≣-refl</a><a id="13899" class="Symbol">))</a> <a id="13902" class="Symbol">=</a> <a id="13904" href="Data.Sum.Relation.Binary.Pointwise.html#1176" class="InductiveConstructor">inj₁</a> <a id="13909" class="Symbol">(</a><a id="13910" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="13915" href="Monad.Instance.Setoids.K.html#11430" class="Bound">f</a> <a id="13917" href="Monad.Instance.Setoids.K.html#13887" class="Bound">x≡y</a><a id="13920" class="Symbol">)</a>
<a id="13930" href="Monad.Instance.Setoids.K.html#13691" class="Function">helper₁-cong&#39;</a> <a id="13944" class="Symbol">{</a><a id="13945" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="13949" class="Symbol">(</a><a id="13950" href="Monad.Instance.Setoids.K.html#13950" class="Bound">x</a> <a id="13952" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="13954" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="13958" href="Monad.Instance.Setoids.K.html#13958" class="Bound">n</a><a id="13959" class="Symbol">)}</a> <a id="13962" class="Symbol">{</a><a id="13963" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="13967" class="Symbol">(</a><a id="13968" href="Monad.Instance.Setoids.K.html#13968" class="Bound">y</a> <a id="13970" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="13972" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="13976" class="Symbol">_)}</a> <a id="13980" class="Symbol">(</a><a id="13981" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now</a> <a id="13986" class="Symbol">(</a><a id="13987" href="Monad.Instance.Setoids.K.html#13987" class="Bound">x≡y</a> <a id="13991" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="13993" href="Monad.Instance.Setoids.K.html#647" class="InductiveConstructor">≣-refl</a><a id="13999" class="Symbol">))</a> <a id="14002" class="Symbol">=</a> <a id="14004" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="14009" class="Symbol">(</a><a id="14010" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="14015" class="Symbol">(</a><a id="14016" href="Monad.Instance.Setoids.Delay.html#8881" class="Function">liftFₛ</a> <a id="14024" href="Monad.Instance.Setoids.K.html#13203" class="Function">outer</a><a id="14029" class="Symbol">)</a> <a id="14031" class="Symbol">(</a><a id="14032" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="14037" href="Monad.Instance.Setoids.Delay.html#20586" class="Function">ιₛ&#39;</a> <a id="14041" class="Symbol">(</a><a id="14042" href="Monad.Instance.Setoids.K.html#13987" class="Bound">x≡y</a> <a id="14046" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="14048" href="Monad.Instance.Setoids.K.html#647" class="InductiveConstructor">≣-refl</a><a id="14054" class="Symbol">)))</a>
<a id="14066" href="Monad.Instance.Setoids.K.html#13691" class="Function">helper₁-cong&#39;</a> <a id="14080" class="Symbol">(</a><a id="14081" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later</a> <a id="14088" href="Monad.Instance.Setoids.K.html#14088" class="Bound">xy</a><a id="14091" class="Symbol">)</a> <a id="14093" class="Symbol">=</a> <a id="14095" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="14100" class="Symbol">(</a><a id="14101" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force</a> <a id="14108" href="Monad.Instance.Setoids.K.html#14088" class="Bound">xy</a><a id="14111" class="Symbol">)</a>
<a id="14122" href="Monad.Instance.Setoids.K.html#14122" class="Function">helper&#39;</a> <a id="14130" class="Symbol">:</a> <a id="14132" class="Symbol">(</a><a id="14133" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="14141" class="Symbol">(</a><a id="14142" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="14144" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="14147" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="14155" class="Symbol">))</a> <a id="14158" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="14160" class="Symbol">(</a><a id="14161" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="14163" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="14165" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="14167" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="14170" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="14178" class="Symbol">(</a><a id="14179" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="14181" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="14184" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="14192" class="Symbol">))</a>
<a id="14203" href="Monad.Instance.Setoids.K.html#14122" class="Function">helper&#39;</a> <a id="14211" class="Symbol">=</a> <a id="14213" class="Keyword">record</a> <a id="14220" class="Symbol">{</a> <a id="14222" href="Function.Bundles.html#2094" class="Field">to</a> <a id="14225" class="Symbol">=</a> <a id="14227" href="Monad.Instance.Setoids.K.html#13431" class="Function">helper₁&#39;</a> <a id="14236" class="Symbol">;</a> <a id="14238" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="14243" class="Symbol">=</a> <a id="14245" href="Monad.Instance.Setoids.K.html#13691" class="Function">helper₁-cong&#39;</a><a id="14258" class="Symbol">}</a>
<a id="14269" href="Monad.Instance.Setoids.K.html#14269" class="Function">helper₁&#39;&#39;</a> <a id="14279" class="Symbol">:</a> <a id="14281" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="14287" class="Symbol">(</a><a id="14288" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="14290" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="14292" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="14294" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="14296" href="Category.Ambient.Setoids.html#1884" class="Datatype"></a> <a id="14298" class="Symbol">{</a><a id="14299" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="14300" class="Symbol">})</a> <a id="14303" class="Symbol"></a> <a id="14305" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="14307" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="14309" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="14311" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="14313" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="14315" href="Data.Sum.Base.html#625" class="Datatype Operator"></a> <a id="14317" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="14323" class="Symbol">(</a><a id="14324" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="14326" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="14328" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="14330" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="14332" href="Category.Ambient.Setoids.html#1884" class="Datatype"></a> <a id="14334" class="Symbol">{</a><a id="14335" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="14336" class="Symbol">})</a>
<a id="14347" href="Monad.Instance.Setoids.K.html#14269" class="Function">helper₁&#39;&#39;</a> <a id="14357" class="Symbol">(</a><a id="14358" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="14362" class="Symbol">(</a><a id="14363" href="Monad.Instance.Setoids.K.html#14363" class="Bound">x</a> <a id="14365" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="14367" class="Symbol">_))</a> <a id="14372" class="Symbol">=</a> <a id="14374" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="14379" class="Symbol">(</a><a id="14380" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="14382" href="Monad.Instance.Setoids.K.html#11430" class="Bound">f</a> <a id="14384" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="14386" href="Monad.Instance.Setoids.K.html#14363" class="Bound">x</a><a id="14387" class="Symbol">)</a>
<a id="14397" href="Monad.Instance.Setoids.K.html#14269" class="Function">helper₁&#39;&#39;</a> <a id="14407" class="Symbol">(</a><a id="14408" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="14414" href="Monad.Instance.Setoids.K.html#14414" class="Bound">y</a><a id="14415" class="Symbol">)</a> <a id="14422" class="Symbol">=</a> <a id="14424" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="14429" class="Symbol">(</a><a id="14430" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="14436" href="Monad.Instance.Setoids.K.html#14414" class="Bound">y</a><a id="14437" class="Symbol">)</a>
<a id="14448" href="Monad.Instance.Setoids.K.html#14448" class="Function">helper₁-cong&#39;&#39;</a> <a id="14463" class="Symbol">:</a> <a id="14465" class="Symbol">{</a><a id="14466" href="Monad.Instance.Setoids.K.html#14466" class="Bound">x</a> <a id="14468" href="Monad.Instance.Setoids.K.html#14468" class="Bound">y</a> <a id="14470" class="Symbol">:</a> <a id="14472" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="14478" class="Symbol">(</a><a id="14479" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="14481" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="14483" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="14485" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="14487" href="Category.Ambient.Setoids.html#1884" class="Datatype"></a> <a id="14489" class="Symbol">{</a><a id="14490" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="14491" class="Symbol">})}</a> <a id="14495" class="Symbol"></a> <a id="14497" class="Symbol">(</a><a id="14498" href="Monad.Instance.Setoids.K.html#14498" class="Bound">xy</a> <a id="14502" class="Symbol">:</a> <a id="14504" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">[</a> <a id="14506" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="14508" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="14511" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a> <a id="14520" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">][</a> <a id="14523" href="Monad.Instance.Setoids.K.html#14466" class="Bound">x</a> <a id="14525" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator"></a> <a id="14527" href="Monad.Instance.Setoids.K.html#14468" class="Bound">y</a> <a id="14529" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">]</a><a id="14530" class="Symbol">)</a> <a id="14532" class="Symbol"></a> <a id="14534" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="14536" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="14538" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="14540" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="14542" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="14545" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="14553" class="Symbol">(</a><a id="14554" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="14556" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="14559" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="14567" class="Symbol">)</a> <a id="14569" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="14572" href="Monad.Instance.Setoids.K.html#14269" class="Function">helper₁&#39;&#39;</a> <a id="14582" href="Monad.Instance.Setoids.K.html#14466" class="Bound">x</a> <a id="14584" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="14586" href="Monad.Instance.Setoids.K.html#14269" class="Function">helper₁&#39;&#39;</a> <a id="14596" href="Monad.Instance.Setoids.K.html#14468" class="Bound">y</a> <a id="14598" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="14608" href="Monad.Instance.Setoids.K.html#14448" class="Function">helper₁-cong&#39;&#39;</a> <a id="14623" class="Symbol">{</a><a id="14624" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="14628" class="Symbol">(</a><a id="14629" href="Monad.Instance.Setoids.K.html#14629" class="Bound">x</a> <a id="14631" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="14633" class="Symbol">_)}</a> <a id="14638" class="Symbol">(</a><a id="14639" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now</a> <a id="14644" class="Symbol">(</a><a id="14645" href="Monad.Instance.Setoids.K.html#14645" class="Bound">x≡y</a> <a id="14649" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="14651" href="Monad.Instance.Setoids.K.html#647" class="InductiveConstructor">≣-refl</a><a id="14657" class="Symbol">))</a> <a id="14660" class="Symbol">=</a> <a id="14662" href="Data.Sum.Relation.Binary.Pointwise.html#1176" class="InductiveConstructor">inj₁</a> <a id="14667" class="Symbol">(</a><a id="14668" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="14673" href="Monad.Instance.Setoids.K.html#11430" class="Bound">f</a> <a id="14675" href="Monad.Instance.Setoids.K.html#14645" class="Bound">x≡y</a><a id="14678" class="Symbol">)</a>
<a id="14688" href="Monad.Instance.Setoids.K.html#14448" class="Function">helper₁-cong&#39;&#39;</a> <a id="14703" class="Symbol">(</a><a id="14704" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later</a> <a id="14711" href="Monad.Instance.Setoids.K.html#14711" class="Bound">xy</a><a id="14714" class="Symbol">)</a> <a id="14716" class="Symbol">=</a> <a id="14718" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="14723" class="Symbol">(</a><a id="14724" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force</a> <a id="14731" href="Monad.Instance.Setoids.K.html#14711" class="Bound">xy</a><a id="14734" class="Symbol">)</a>
<a id="14745" href="Monad.Instance.Setoids.K.html#14745" class="Function">helper&#39;&#39;</a> <a id="14754" class="Symbol">:</a> <a id="14756" class="Symbol">(</a><a id="14757" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="14765" class="Symbol">(</a><a id="14766" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="14768" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="14771" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="14779" class="Symbol">))</a> <a id="14782" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="14784" class="Symbol">(</a><a id="14785" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="14787" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="14789" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="14791" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="14794" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="14802" class="Symbol">(</a><a id="14803" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="14805" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="14808" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="14816" class="Symbol">))</a>
<a id="14827" href="Monad.Instance.Setoids.K.html#14745" class="Function">helper&#39;&#39;</a> <a id="14836" class="Symbol">=</a> <a id="14838" class="Keyword">record</a> <a id="14845" class="Symbol">{</a> <a id="14847" href="Function.Bundles.html#2094" class="Field">to</a> <a id="14850" class="Symbol">=</a> <a id="14852" href="Monad.Instance.Setoids.K.html#14269" class="Function">helper₁&#39;&#39;</a> <a id="14862" class="Symbol">;</a> <a id="14864" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="14869" class="Symbol">=</a> <a id="14871" href="Monad.Instance.Setoids.K.html#14448" class="Function">helper₁-cong&#39;&#39;</a><a id="14885" class="Symbol">}</a>
<a id="14896" class="Comment">-- Needs #-Diamond</a>
<a id="14923" href="Monad.Instance.Setoids.K.html#14923" class="Function">eq₀</a> <a id="14927" class="Symbol">:</a> <a id="14929" class="Symbol"></a> <a id="14931" class="Symbol">{</a><a id="14932" href="Monad.Instance.Setoids.K.html#14932" class="Bound">z</a><a id="14933" class="Symbol">}</a> <a id="14935" class="Symbol"></a> <a id="14937" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="14939" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="14941" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="14943" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="14945" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="14948" href="Monad.Instance.Setoids.K.html#14122" class="Function">helper&#39;</a> <a id="14956" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="14958" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="14962" href="Monad.Instance.Setoids.K.html#14932" class="Bound">z</a> <a id="14964" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="14966" href="Monad.Instance.Setoids.K.html#14745" class="Function">helper&#39;&#39;</a> <a id="14975" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="14977" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="14981" href="Monad.Instance.Setoids.K.html#14932" class="Bound">z</a> <a id="14983" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="14993" href="Monad.Instance.Setoids.K.html#14923" class="Function">eq₀</a> <a id="14997" class="Symbol">{</a><a id="14998" href="Monad.Instance.Setoids.K.html#14998" class="Bound">z</a><a id="14999" class="Symbol">}</a> <a id="15001" class="Symbol">=</a> <a id="15003" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="15011" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="15013" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="15015" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a>
<a id="15038" class="Symbol">(</a><a id="15039" href="Algebra.Elgot.html#2331" class="Function">#-resp-≈</a> <a id="15048" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="15050" class="Symbol">{</a><a id="15051" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="15059" class="Symbol">(</a><a id="15060" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="15062" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="15065" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="15073" class="Symbol">)}</a> <a id="15076" class="Symbol">{</a><a id="15077" href="Monad.Instance.Setoids.K.html#14122" class="Function">helper&#39;</a><a id="15084" class="Symbol">}</a> <a id="15086" href="Monad.Instance.Setoids.K.html#16318" class="Function">step₁</a><a id="15091" class="Symbol">)</a>
<a id="15113" class="Symbol">(</a><a id="15114" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="15122" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="15124" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="15126" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a>
<a id="15150" class="Symbol">(</a><a id="15151" href="Algebra.Elgot.html#8386" class="Function">#-Diamond</a> <a id="15161" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="15163" class="Symbol">{</a><a id="15164" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="15172" class="Symbol">(</a><a id="15173" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="15175" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="15178" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="15186" class="Symbol">)}</a> <a id="15189" href="Monad.Instance.Setoids.K.html#16125" class="Function">helper&#39;&#39;&#39;</a><a id="15198" class="Symbol">)</a>
<a id="15223" class="Symbol">(</a><a id="15224" href="Algebra.Elgot.html#2331" class="Function">#-resp-≈</a> <a id="15233" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="15235" class="Symbol"></a> <a id="15238" class="Symbol">{</a><a id="15239" href="Monad.Instance.Setoids.K.html#15239" class="Bound">x</a><a id="15240" class="Symbol">}</a> <a id="15242" class="Symbol"></a> <a id="15244" class="Symbol">(</a><a id="15245" href="Monad.Instance.Setoids.K.html#16683" class="Function">step₂</a> <a id="15251" class="Symbol">{</a><a id="15252" href="Monad.Instance.Setoids.K.html#15239" class="Bound">x</a><a id="15253" class="Symbol">}))))</a>
<a id="15269" class="Keyword">where</a>
<a id="15287" href="Monad.Instance.Setoids.K.html#15287" class="Function">helper₁&#39;&#39;&#39;</a> <a id="15298" class="Symbol">:</a> <a id="15300" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15306" class="Symbol">(</a><a id="15307" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="15309" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="15311" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="15313" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="15315" href="Category.Ambient.Setoids.html#1884" class="Datatype"></a> <a id="15317" class="Symbol">{</a><a id="15318" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="15319" class="Symbol">})</a> <a id="15322" class="Symbol"></a> <a id="15324" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="15326" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="15328" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="15330" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="15332" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="15334" href="Data.Sum.Base.html#625" class="Datatype Operator"></a> <a id="15336" class="Symbol">(</a><a id="15337" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15343" class="Symbol">(</a><a id="15344" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="15346" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="15348" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="15350" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="15352" href="Category.Ambient.Setoids.html#1884" class="Datatype"></a> <a id="15354" class="Symbol">{</a><a id="15355" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="15356" class="Symbol">})</a> <a id="15359" href="Data.Sum.Base.html#625" class="Datatype Operator"></a> <a id="15361" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15367" class="Symbol">(</a><a id="15368" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="15370" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="15372" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="15374" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="15376" href="Category.Ambient.Setoids.html#1884" class="Datatype"></a> <a id="15378" class="Symbol">{</a><a id="15379" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="15380" class="Symbol">}))</a>
<a id="15396" href="Monad.Instance.Setoids.K.html#15287" class="Function">helper₁&#39;&#39;&#39;</a> <a id="15407" class="Symbol">(</a><a id="15408" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="15412" class="Symbol">(</a><a id="15413" href="Monad.Instance.Setoids.K.html#15413" class="Bound">x</a> <a id="15415" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="15417" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a><a id="15421" class="Symbol">))</a> <a id="15425" class="Symbol">=</a> <a id="15427" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="15432" class="Symbol">(</a><a id="15433" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="15435" href="Monad.Instance.Setoids.K.html#11430" class="Bound">f</a> <a id="15437" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="15439" href="Monad.Instance.Setoids.K.html#15413" class="Bound">x</a><a id="15440" class="Symbol">)</a>
<a id="15454" href="Monad.Instance.Setoids.K.html#15287" class="Function">helper₁&#39;&#39;&#39;</a> <a id="15465" class="Symbol">(</a><a id="15466" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="15470" class="Symbol">(</a><a id="15471" href="Monad.Instance.Setoids.K.html#15471" class="Bound">x</a> <a id="15473" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="15475" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="15479" href="Monad.Instance.Setoids.K.html#15479" class="Bound">n</a><a id="15480" class="Symbol">))</a> <a id="15483" class="Symbol">=</a> <a id="15485" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="15490" class="Symbol">(</a><a id="15491" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="15496" class="Symbol">(</a><a id="15497" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="15499" href="Monad.Instance.Setoids.Delay.html#8881" class="Function">liftFₛ</a> <a id="15507" href="Monad.Instance.Setoids.K.html#13203" class="Function">outer</a> <a id="15513" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="15515" class="Symbol">(</a><a id="15516" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="15518" class="Symbol">{</a><a id="15519" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="15520" class="Symbol">}</a> <a id="15522" class="Symbol">(</a><a id="15523" href="Monad.Instance.Setoids.K.html#15471" class="Bound">x</a> <a id="15525" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="15527" href="Monad.Instance.Setoids.K.html#15479" class="Bound">n</a><a id="15528" class="Symbol">))))</a>
<a id="15545" href="Monad.Instance.Setoids.K.html#15287" class="Function">helper₁&#39;&#39;&#39;</a> <a id="15556" class="Symbol">(</a><a id="15557" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="15563" href="Monad.Instance.Setoids.K.html#15563" class="Bound">y</a><a id="15564" class="Symbol">)</a> <a id="15574" class="Symbol">=</a> <a id="15576" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="15581" class="Symbol">(</a><a id="15582" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="15587" class="Symbol">(</a><a id="15588" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="15594" href="Monad.Instance.Setoids.K.html#15563" class="Bound">y</a><a id="15595" class="Symbol">))</a>
<a id="15611" href="Monad.Instance.Setoids.K.html#15611" class="Function">helper₁-cong&#39;&#39;&#39;</a> <a id="15627" class="Symbol">:</a> <a id="15629" class="Symbol">{</a><a id="15630" href="Monad.Instance.Setoids.K.html#15630" class="Bound">x</a> <a id="15632" href="Monad.Instance.Setoids.K.html#15632" class="Bound">y</a> <a id="15634" class="Symbol">:</a> <a id="15636" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15642" class="Symbol">(</a><a id="15643" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="15645" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="15647" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="15649" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="15651" href="Category.Ambient.Setoids.html#1884" class="Datatype"></a> <a id="15653" class="Symbol">{</a><a id="15654" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="15655" class="Symbol">})}</a> <a id="15659" class="Symbol"></a> <a id="15661" class="Symbol">(</a><a id="15662" href="Monad.Instance.Setoids.K.html#15662" class="Bound">xy</a> <a id="15666" class="Symbol">:</a> <a id="15668" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">[</a> <a id="15670" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="15672" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="15675" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a> <a id="15684" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">][</a> <a id="15687" href="Monad.Instance.Setoids.K.html#15630" class="Bound">x</a> <a id="15689" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator"></a> <a id="15691" href="Monad.Instance.Setoids.K.html#15632" class="Bound">y</a> <a id="15693" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">]</a><a id="15694" class="Symbol">)</a> <a id="15696" class="Symbol"></a> <a id="15698" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="15700" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="15702" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="15704" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="15706" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="15709" class="Symbol">(</a><a id="15710" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="15718" class="Symbol">(</a><a id="15719" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="15721" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="15724" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="15732" class="Symbol">)</a> <a id="15734" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="15737" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="15745" class="Symbol">(</a><a id="15746" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="15748" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="15751" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="15759" class="Symbol">))</a> <a id="15762" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="15765" href="Monad.Instance.Setoids.K.html#15287" class="Function">helper₁&#39;&#39;&#39;</a> <a id="15776" href="Monad.Instance.Setoids.K.html#15630" class="Bound">x</a> <a id="15778" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="15780" href="Monad.Instance.Setoids.K.html#15287" class="Function">helper₁&#39;&#39;&#39;</a> <a id="15791" href="Monad.Instance.Setoids.K.html#15632" class="Bound">y</a> <a id="15793" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="15807" href="Monad.Instance.Setoids.K.html#15611" class="Function">helper₁-cong&#39;&#39;&#39;</a> <a id="15823" class="Symbol">{</a><a id="15824" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="15828" class="Symbol">(</a><a id="15829" href="Monad.Instance.Setoids.K.html#15829" class="Bound">x</a> <a id="15831" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="15833" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a><a id="15837" class="Symbol">)}</a> <a id="15841" class="Symbol">(</a><a id="15842" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now</a> <a id="15847" class="Symbol">(</a><a id="15848" href="Monad.Instance.Setoids.K.html#15848" class="Bound">x≡y</a> <a id="15852" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="15854" href="Monad.Instance.Setoids.K.html#647" class="InductiveConstructor">≣-refl</a><a id="15860" class="Symbol">))</a> <a id="15863" class="Symbol">=</a> <a id="15865" href="Data.Sum.Relation.Binary.Pointwise.html#1176" class="InductiveConstructor">inj₁</a> <a id="15870" class="Symbol">(</a><a id="15871" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="15876" href="Monad.Instance.Setoids.K.html#11430" class="Bound">f</a> <a id="15878" href="Monad.Instance.Setoids.K.html#15848" class="Bound">x≡y</a><a id="15881" class="Symbol">)</a>
<a id="15895" href="Monad.Instance.Setoids.K.html#15611" class="Function">helper₁-cong&#39;&#39;&#39;</a> <a id="15911" class="Symbol">{</a><a id="15912" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="15916" class="Symbol">(</a><a id="15917" href="Monad.Instance.Setoids.K.html#15917" class="Bound">x</a> <a id="15919" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="15921" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="15925" href="Monad.Instance.Setoids.K.html#15925" class="Bound">n</a><a id="15926" class="Symbol">)}</a> <a id="15929" class="Symbol">{</a><a id="15930" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="15934" class="Symbol">(</a><a id="15935" href="Monad.Instance.Setoids.K.html#15935" class="Bound">y</a> <a id="15937" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="15939" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="15943" class="Symbol">_)}</a> <a id="15947" class="Symbol">(</a><a id="15948" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now</a> <a id="15953" class="Symbol">(</a><a id="15954" href="Monad.Instance.Setoids.K.html#15954" class="Bound">x≡y</a> <a id="15958" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="15960" href="Monad.Instance.Setoids.K.html#647" class="InductiveConstructor">≣-refl</a><a id="15966" class="Symbol">))</a> <a id="15969" class="Symbol">=</a> <a id="15971" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="15976" class="Symbol">(</a><a id="15977" href="Data.Sum.Relation.Binary.Pointwise.html#1176" class="InductiveConstructor">inj₁</a> <a id="15982" class="Symbol">(</a><a id="15983" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="15988" class="Symbol">(</a><a id="15989" href="Monad.Instance.Setoids.Delay.html#8881" class="Function">liftFₛ</a> <a id="15997" href="Monad.Instance.Setoids.K.html#13203" class="Function">outer</a><a id="16002" class="Symbol">)</a> <a id="16004" class="Symbol">(</a><a id="16005" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="16010" href="Monad.Instance.Setoids.Delay.html#20586" class="Function">ιₛ&#39;</a> <a id="16014" class="Symbol">(</a><a id="16015" href="Monad.Instance.Setoids.K.html#15954" class="Bound">x≡y</a> <a id="16019" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="16021" href="Monad.Instance.Setoids.K.html#647" class="InductiveConstructor">≣-refl</a><a id="16027" class="Symbol">))))</a>
<a id="16044" href="Monad.Instance.Setoids.K.html#15611" class="Function">helper₁-cong&#39;&#39;&#39;</a> <a id="16060" class="Symbol">(</a><a id="16061" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later</a> <a id="16068" href="Monad.Instance.Setoids.K.html#16068" class="Bound">xy</a><a id="16071" class="Symbol">)</a> <a id="16073" class="Symbol">=</a> <a id="16075" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="16080" class="Symbol">(</a><a id="16081" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="16086" class="Symbol">(</a><a id="16087" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force</a> <a id="16094" href="Monad.Instance.Setoids.K.html#16068" class="Bound">xy</a><a id="16097" class="Symbol">))</a>
<a id="16125" href="Monad.Instance.Setoids.K.html#16125" class="Function">helper&#39;&#39;&#39;</a> <a id="16135" class="Symbol">:</a> <a id="16137" class="Symbol">(</a><a id="16138" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="16146" class="Symbol">(</a><a id="16147" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="16149" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="16152" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="16160" class="Symbol">))</a> <a id="16163" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="16165" class="Symbol">(</a><a id="16166" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16168" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="16170" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16172" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="16175" class="Symbol">(</a><a id="16176" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="16184" class="Symbol">(</a><a id="16185" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="16187" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="16190" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="16198" class="Symbol">)</a> <a id="16200" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="16203" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="16211" class="Symbol">(</a><a id="16212" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="16214" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="16217" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="16225" class="Symbol">)))</a>
<a id="16241" href="Monad.Instance.Setoids.K.html#16125" class="Function">helper&#39;&#39;&#39;</a> <a id="16251" class="Symbol">=</a> <a id="16253" class="Keyword">record</a> <a id="16260" class="Symbol">{</a> <a id="16262" href="Function.Bundles.html#2094" class="Field">to</a> <a id="16265" class="Symbol">=</a> <a id="16267" href="Monad.Instance.Setoids.K.html#15287" class="Function">helper₁&#39;&#39;&#39;</a> <a id="16278" class="Symbol">;</a> <a id="16280" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="16285" class="Symbol">=</a> <a id="16287" href="Monad.Instance.Setoids.K.html#15611" class="Function">helper₁-cong&#39;&#39;&#39;</a> <a id="16303" class="Symbol">}</a>
<a id="16318" href="Monad.Instance.Setoids.K.html#16318" class="Function">step₁</a> <a id="16324" class="Symbol">:</a> <a id="16326" class="Symbol"></a> <a id="16328" class="Symbol">{</a><a id="16329" href="Monad.Instance.Setoids.K.html#16329" class="Bound">x</a><a id="16330" class="Symbol">}</a> <a id="16332" class="Symbol"></a> <a id="16334" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="16336" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16338" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="16340" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16342" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="16345" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="16353" class="Symbol">(</a><a id="16354" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="16356" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="16359" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="16367" class="Symbol">)</a> <a id="16369" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="16372" href="Monad.Instance.Setoids.K.html#14122" class="Function">helper&#39;</a> <a id="16380" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="16384" href="Monad.Instance.Setoids.K.html#16329" class="Bound">x</a> <a id="16386" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="16388" class="Symbol">(</a><a id="16389" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="16391" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="16396" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="16398" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="16403" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="16406" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="16408" href="Function.Base.html#704" class="Function">id</a> <a id="16411" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="16413" href="Function.Base.html#704" class="Function">id</a> <a id="16416" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="16418" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="16420" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="16423" href="Monad.Instance.Setoids.K.html#15287" class="Function">helper₁&#39;&#39;&#39;</a><a id="16433" class="Symbol">)</a> <a id="16435" href="Monad.Instance.Setoids.K.html#16329" class="Bound">x</a> <a id="16437" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="16451" href="Monad.Instance.Setoids.K.html#16318" class="Function">step₁</a> <a id="16457" class="Symbol">{</a><a id="16458" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="16462" class="Symbol">(</a><a id="16463" href="Monad.Instance.Setoids.K.html#16463" class="Bound">a</a> <a id="16465" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="16467" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a><a id="16471" class="Symbol">)}</a> <a id="16474" class="Symbol">=</a> <a id="16476" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="16483" class="Symbol">(</a><a id="16484" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16486" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="16488" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16490" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="16493" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="16501" class="Symbol">(</a><a id="16502" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="16504" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="16507" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="16515" class="Symbol">))</a>
<a id="16530" href="Monad.Instance.Setoids.K.html#16318" class="Function">step₁</a> <a id="16536" class="Symbol">{</a><a id="16537" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="16541" class="Symbol">(</a><a id="16542" href="Monad.Instance.Setoids.K.html#16542" class="Bound">a</a> <a id="16544" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="16546" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="16550" href="Monad.Instance.Setoids.K.html#16550" class="Bound">n</a><a id="16551" class="Symbol">)}</a> <a id="16554" class="Symbol">=</a> <a id="16556" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="16563" class="Symbol">(</a><a id="16564" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16566" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="16568" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16570" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="16573" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="16581" class="Symbol">(</a><a id="16582" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="16584" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="16587" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="16595" class="Symbol">))</a>
<a id="16610" href="Monad.Instance.Setoids.K.html#16318" class="Function">step₁</a> <a id="16616" class="Symbol">{</a><a id="16617" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="16623" href="Monad.Instance.Setoids.K.html#16623" class="Bound">x</a><a id="16624" class="Symbol">}</a> <a id="16626" class="Symbol">=</a> <a id="16628" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="16635" class="Symbol">(</a><a id="16636" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16638" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="16640" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16642" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="16645" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="16653" class="Symbol">(</a><a id="16654" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="16656" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="16659" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="16667" class="Symbol">))</a>
<a id="16683" href="Monad.Instance.Setoids.K.html#16683" class="Function">step₂</a> <a id="16689" class="Symbol">:</a> <a id="16691" class="Symbol"></a> <a id="16693" class="Symbol">{</a><a id="16694" href="Monad.Instance.Setoids.K.html#16694" class="Bound">x</a><a id="16695" class="Symbol">}</a> <a id="16697" class="Symbol"></a> <a id="16699" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="16701" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16703" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="16705" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16707" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="16710" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="16718" class="Symbol">(</a><a id="16719" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="16721" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="16724" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="16732" class="Symbol">)</a> <a id="16734" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="16737" class="Symbol">(</a><a id="16738" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="16740" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="16745" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="16747" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="16749" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="16754" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="16757" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="16759" class="Symbol">(</a><a id="16760" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="16762" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="16768" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="16770" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="16776" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="16778" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="16780" href="Monad.Instance.Setoids.K.html#403" class="Function">idₛ</a> <a id="16784" class="Symbol">(</a><a id="16785" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="16793" class="Symbol">(</a><a id="16794" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="16796" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="16799" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="16807" class="Symbol">))</a> <a id="16810" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="16812" href="Monad.Instance.Setoids.K.html#403" class="Function">idₛ</a> <a id="16816" class="Symbol">(</a><a id="16817" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="16825" class="Symbol">(</a><a id="16826" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="16828" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="16831" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="16839" class="Symbol">))</a> <a id="16842" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="16845" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="16848" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="16850" href="Monad.Instance.Setoids.K.html#16125" class="Function">helper&#39;&#39;&#39;</a><a id="16859" class="Symbol">)</a> <a id="16861" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="16863" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="16865" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="16867" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="16872" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="16874" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="16876" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="16879" href="Monad.Instance.Setoids.K.html#15287" class="Function">helper₁&#39;&#39;&#39;</a><a id="16889" class="Symbol">)</a> <a id="16891" href="Monad.Instance.Setoids.K.html#16694" class="Bound">x</a> <a id="16893" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="16895" href="Monad.Instance.Setoids.K.html#14745" class="Function">helper&#39;&#39;</a> <a id="16904" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="16908" href="Monad.Instance.Setoids.K.html#16694" class="Bound">x</a> <a id="16910" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="16924" href="Monad.Instance.Setoids.K.html#16683" class="Function">step₂</a> <a id="16930" class="Symbol">{</a><a id="16931" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="16935" class="Symbol">(</a><a id="16936" href="Monad.Instance.Setoids.K.html#16936" class="Bound">a</a> <a id="16938" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="16940" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a><a id="16944" class="Symbol">)}</a> <a id="16947" class="Symbol">=</a> <a id="16949" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="16956" class="Symbol">(</a><a id="16957" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16959" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="16961" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="16963" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="16966" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="16974" class="Symbol">(</a><a id="16975" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="16977" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="16980" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="16988" class="Symbol">))</a>
<a id="17003" href="Monad.Instance.Setoids.K.html#16683" class="Function">step₂</a> <a id="17009" class="Symbol">{</a><a id="17010" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="17014" class="Symbol">(</a><a id="17015" href="Monad.Instance.Setoids.K.html#17015" class="Bound">x</a> <a id="17017" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="17019" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="17023" href="Monad.Instance.Setoids.K.html#17023" class="Bound">n</a><a id="17024" class="Symbol">)}</a> <a id="17027" class="Symbol">=</a> <a id="17029" href="Data.Sum.Relation.Binary.Pointwise.html#1176" class="InductiveConstructor">inj₁</a> <a id="17034" class="Symbol">(</a><a id="17035" href="Monad.Instance.Setoids.K.html#17087" class="Function">by-induction</a> <a id="17048" href="Monad.Instance.Setoids.K.html#17023" class="Bound">n</a><a id="17049" class="Symbol">)</a>
<a id="17065" class="Keyword">where</a>
<a id="17087" href="Monad.Instance.Setoids.K.html#17087" class="Function">by-induction</a> <a id="17100" class="Symbol">:</a> <a id="17102" class="Symbol"></a> <a id="17104" href="Monad.Instance.Setoids.K.html#17104" class="Bound">n</a> <a id="17106" class="Symbol"></a> <a id="17108" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="17110" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17112" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="17114" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17116" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="17119" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="17121" class="Symbol">(</a><a id="17122" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="17124" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="17130" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="17132" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="17138" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="17140" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="17142" href="Monad.Instance.Setoids.K.html#403" class="Function">idₛ</a> <a id="17146" class="Symbol">(</a><a id="17147" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="17155" class="Symbol">(</a><a id="17156" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="17158" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="17161" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="17169" class="Symbol">))</a> <a id="17172" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="17174" href="Monad.Instance.Setoids.K.html#403" class="Function">idₛ</a> <a id="17178" class="Symbol">(</a><a id="17179" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="17187" class="Symbol">(</a><a id="17188" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="17190" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="17193" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="17201" class="Symbol">))</a> <a id="17204" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="17207" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="17210" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="17212" href="Monad.Instance.Setoids.K.html#16125" class="Function">helper&#39;&#39;&#39;</a><a id="17221" class="Symbol">)</a> <a id="17223" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="17225" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="17227" class="Symbol">(</a><a id="17228" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="17230" href="Monad.Instance.Setoids.Delay.html#8881" class="Function">liftFₛ</a> <a id="17238" href="Monad.Instance.Setoids.K.html#13203" class="Function">outer</a> <a id="17244" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="17246" class="Symbol">(</a><a id="17247" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="17249" class="Symbol">(</a><a id="17250" href="Monad.Instance.Setoids.K.html#17015" class="Bound">x</a> <a id="17252" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="17254" href="Monad.Instance.Setoids.K.html#17104" class="Bound">n</a><a id="17255" class="Symbol">)))</a> <a id="17259" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="17261" href="Monad.Instance.Setoids.K.html#11430" class="Bound">f</a> <a id="17263" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="17267" href="Monad.Instance.Setoids.K.html#17015" class="Bound">x</a> <a id="17269" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="17287" href="Monad.Instance.Setoids.K.html#17087" class="Function">by-induction</a> <a id="17300" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a> <a id="17305" class="Symbol">=</a> <a id="17307" href="Algebra.Elgot.html#2011" class="Function">#-Fixpoint</a> <a id="17318" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a>
<a id="17336" href="Monad.Instance.Setoids.K.html#17087" class="Function">by-induction</a> <a id="17349" class="Symbol">(</a><a id="17350" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="17354" href="Monad.Instance.Setoids.K.html#17354" class="Bound">n</a><a id="17355" class="Symbol">)</a> <a id="17357" class="Symbol">=</a> <a id="17359" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="17367" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17369" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="17371" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17373" class="Symbol">(</a><a id="17374" href="Algebra.Elgot.html#2011" class="Function">#-Fixpoint</a> <a id="17385" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a><a id="17386" class="Symbol">)</a> <a id="17388" class="Symbol">(</a><a id="17389" href="Monad.Instance.Setoids.K.html#17087" class="Function">by-induction</a> <a id="17402" href="Monad.Instance.Setoids.K.html#17354" class="Bound">n</a><a id="17403" class="Symbol">)</a>
<a id="17417" href="Monad.Instance.Setoids.K.html#16683" class="Function">step₂</a> <a id="17423" class="Symbol">{</a><a id="17424" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="17430" href="Monad.Instance.Setoids.K.html#17430" class="Bound">y</a><a id="17431" class="Symbol">}</a> <a id="17433" class="Symbol">=</a> <a id="17435" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="17442" class="Symbol">(</a><a id="17443" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17445" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="17447" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17449" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="17452" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="17460" class="Symbol">(</a><a id="17461" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="17463" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="17466" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="17474" class="Symbol">))</a>
<a id="17486" href="Monad.Instance.Setoids.K.html#17486" class="Function">eq₁</a> <a id="17490" class="Symbol">:</a> <a id="17492" class="Symbol"></a> <a id="17494" class="Symbol">{</a><a id="17495" href="Monad.Instance.Setoids.K.html#17495" class="Bound">z</a><a id="17496" class="Symbol">}</a> <a id="17498" class="Symbol"></a> <a id="17500" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="17502" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17504" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="17506" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17508" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="17511" href="Monad.Instance.Setoids.K.html#14745" class="Function">helper&#39;&#39;</a> <a id="17520" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="17522" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="17526" href="Monad.Instance.Setoids.K.html#17495" class="Bound">z</a> <a id="17528" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="17530" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="17537" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="17539" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="17543" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="17549" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="17555" href="Monad.Instance.Setoids.K.html#17495" class="Bound">z</a> <a id="17557" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="17567" href="Monad.Instance.Setoids.K.html#17486" class="Function">eq₁</a> <a id="17571" class="Symbol">{</a><a id="17572" href="Monad.Instance.Setoids.K.html#17572" class="Bound">z</a><a id="17573" class="Symbol">}</a> <a id="17575" class="Symbol">=</a> <a id="17577" href="Algebra.Elgot.html#2086" class="Function">#-Uniformity</a> <a id="17590" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="17592" class="Symbol">{</a><a id="17593" class="Argument">f</a> <a id="17595" class="Symbol">=</a> <a id="17597" href="Monad.Instance.Setoids.K.html#14745" class="Function">helper&#39;&#39;</a><a id="17605" class="Symbol">}</a> <a id="17607" class="Symbol">{</a><a id="17608" class="Argument">g</a> <a id="17610" class="Symbol">=</a> <a id="17612" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a><a id="17618" class="Symbol">}</a> <a id="17620" class="Symbol">{</a><a id="17621" class="Argument">h</a> <a id="17623" class="Symbol">=</a> <a id="17625" href="Monad.Instance.Setoids.Delay.html#8881" class="Function">liftFₛ</a> <a id="17633" href="Data.Product.Function.NonDependent.Setoid.html#766" class="Function">proj₁ₛ</a><a id="17639" class="Symbol">}</a> <a id="17641" href="Monad.Instance.Setoids.K.html#17676" class="Function">by-uni</a>
<a id="17658" class="Keyword">where</a>
<a id="17676" href="Monad.Instance.Setoids.K.html#17676" class="Function">by-uni</a> <a id="17683" class="Symbol">:</a> <a id="17685" class="Symbol"></a> <a id="17687" class="Symbol">{</a><a id="17688" href="Monad.Instance.Setoids.K.html#17688" class="Bound">x</a><a id="17689" class="Symbol">}</a> <a id="17691" class="Symbol"></a> <a id="17693" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="17695" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17697" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="17699" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17701" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="17704" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="17712" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="17714" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="17717" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="17719" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="17724" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="17726" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="17731" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="17734" class="Symbol">(</a><a id="17735" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="17741" href="Data.Product.Base.html#636" class="Field">proj₁</a><a id="17746" class="Symbol">)</a> <a id="17748" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="17750" class="Symbol">(</a><a id="17751" href="Monad.Instance.Setoids.K.html#14269" class="Function">helper₁&#39;&#39;</a> <a id="17761" href="Monad.Instance.Setoids.K.html#17688" class="Bound">x</a><a id="17762" class="Symbol">)</a> <a id="17764" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="17766" class="Symbol">(</a><a id="17767" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="17769" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="17776" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="17778" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="17781" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="17787" href="Data.Product.Base.html#636" class="Field">proj₁</a><a id="17792" class="Symbol">)</a> <a id="17794" href="Monad.Instance.Setoids.K.html#17688" class="Bound">x</a> <a id="17796" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="17810" href="Monad.Instance.Setoids.K.html#17676" class="Function">by-uni</a> <a id="17817" class="Symbol">{</a><a id="17818" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="17822" class="Symbol">(</a><a id="17823" href="Monad.Instance.Setoids.K.html#17823" class="Bound">a</a> <a id="17825" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="17827" href="Monad.Instance.Setoids.K.html#17827" class="Bound">b</a><a id="17828" class="Symbol">)}</a> <a id="17831" class="Symbol">=</a> <a id="17833" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="17840" class="Symbol">(</a><a id="17841" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17843" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="17845" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17847" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="17850" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="17858" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="17859" class="Symbol">)</a>
<a id="17873" href="Monad.Instance.Setoids.K.html#17676" class="Function">by-uni</a> <a id="17880" class="Symbol">{</a><a id="17881" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="17887" href="Monad.Instance.Setoids.K.html#17887" class="Bound">x</a><a id="17888" class="Symbol">}</a> <a id="17890" class="Symbol">=</a> <a id="17892" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="17899" class="Symbol">(</a><a id="17900" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17902" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="17904" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17906" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="17909" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="17917" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="17918" class="Symbol">)</a>
<a id="17929" href="Monad.Instance.Setoids.K.html#17929" class="Function">eq</a> <a id="17932" class="Symbol">:</a> <a id="17934" class="Symbol"></a> <a id="17936" class="Symbol">{</a><a id="17937" href="Monad.Instance.Setoids.K.html#17937" class="Bound">x</a> <a id="17939" href="Monad.Instance.Setoids.K.html#17939" class="Bound">y</a><a id="17940" class="Symbol">}</a> <a id="17942" class="Symbol"></a> <a id="17944" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">[</a> <a id="17946" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="17948" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="17951" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a> <a id="17960" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">][</a> <a id="17963" href="Monad.Instance.Setoids.K.html#17937" class="Bound">x</a> <a id="17965" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator"></a> <a id="17967" href="Monad.Instance.Setoids.K.html#17939" class="Bound">y</a> <a id="17969" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">]</a> <a id="17971" class="Symbol"></a> <a id="17973" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="17975" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17977" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="17979" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="17981" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="17984" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="17992" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="17994" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="17997" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="17999" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="18004" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="18006" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="18011" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="18014" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="18016" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="18019" class="Symbol">(</a><a id="18020" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="18026" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a><a id="18027" class="Symbol">)</a> <a id="18029" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="18031" class="Symbol">(</a><a id="18032" href="Monad.Instance.Setoids.K.html#13431" class="Function">helper₁&#39;</a> <a id="18041" href="Monad.Instance.Setoids.K.html#17937" class="Bound">x</a><a id="18042" class="Symbol">)</a> <a id="18044" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="18046" class="Symbol">(</a><a id="18047" href="Monad.Instance.Setoids.K.html#11586" class="Function">helper₁</a> <a id="18055" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="18058" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="18060" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="18063" class="Symbol">(</a><a id="18064" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="18070" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a><a id="18071" class="Symbol">))</a> <a id="18074" href="Monad.Instance.Setoids.K.html#17939" class="Bound">y</a> <a id="18076" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="18086" href="Monad.Instance.Setoids.K.html#17929" class="Function">eq</a> <a id="18089" class="Symbol">{</a><a id="18090" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18094" class="Symbol">(</a><a id="18095" href="Monad.Instance.Setoids.K.html#18095" class="Bound">x</a> <a id="18097" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18099" href="Monad.Instance.Setoids.K.html#18099" class="Bound">n</a><a id="18100" class="Symbol">)}</a> <a id="18103" class="Symbol">{</a><a id="18104" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18108" class="Symbol">(</a><a id="18109" href="Monad.Instance.Setoids.K.html#18109" class="Bound">y</a> <a id="18111" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18113" class="DottedPattern Symbol">.</a><a id="18114" href="Monad.Instance.Setoids.K.html#18099" class="DottedPattern Bound">n</a><a id="18115" class="Symbol">)}</a> <a id="18118" class="Symbol">(</a><a id="18119" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now</a> <a id="18124" class="Symbol">(</a><a id="18125" href="Monad.Instance.Setoids.K.html#18125" class="Bound">xy</a> <a id="18129" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18131" href="Monad.Instance.Setoids.K.html#647" class="InductiveConstructor">≣-refl</a><a id="18137" class="Symbol">))</a> <a id="18140" class="Symbol">=</a> <a id="18142" href="Monad.Instance.Setoids.K.html#18178" class="Function">eq&#39;</a> <a id="18146" class="Symbol">{</a><a id="18147" href="Monad.Instance.Setoids.K.html#18099" class="Bound">n</a><a id="18148" class="Symbol">}</a>
<a id="18160" class="Keyword">where</a>
<a id="18178" href="Monad.Instance.Setoids.K.html#18178" class="Function">eq&#39;</a> <a id="18182" class="Symbol">:</a> <a id="18184" class="Symbol"></a> <a id="18186" class="Symbol">{</a><a id="18187" href="Monad.Instance.Setoids.K.html#18187" class="Bound">n</a><a id="18188" class="Symbol">}</a> <a id="18190" class="Symbol"></a> <a id="18192" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="18194" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="18196" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="18198" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="18200" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="18203" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="18211" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="18213" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="18216" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="18218" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="18223" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="18225" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="18230" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="18233" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="18235" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="18238" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="18244" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="18246" href="Data.Sum.Base.html#811" class="Function Operator">]</a> <a id="18248" class="Symbol">(</a><a id="18249" href="Monad.Instance.Setoids.K.html#13431" class="Function">helper₁&#39;</a> <a id="18258" class="Symbol">(</a><a id="18259" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18263" class="Symbol">(</a><a id="18264" href="Monad.Instance.Setoids.K.html#18095" class="Bound">x</a> <a id="18266" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18268" href="Monad.Instance.Setoids.K.html#18187" class="Bound">n</a><a id="18269" class="Symbol">)))</a> <a id="18273" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="18275" class="Symbol">(</a><a id="18276" href="Monad.Instance.Setoids.K.html#11586" class="Function">helper₁</a> <a id="18284" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="18287" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="18289" class="Symbol">{</a><a id="18290" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="18291" class="Symbol">}</a> <a id="18293" href="Function.Base.html#3626" class="Function Operator">∘′</a> <a id="18296" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="18302" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a><a id="18303" class="Symbol">)</a> <a id="18305" class="Symbol">(</a><a id="18306" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18310" class="Symbol">(</a><a id="18311" href="Monad.Instance.Setoids.K.html#18109" class="Bound">y</a> <a id="18313" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18315" href="Monad.Instance.Setoids.K.html#18187" class="Bound">n</a><a id="18316" class="Symbol">))</a> <a id="18319" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="18333" href="Monad.Instance.Setoids.K.html#18178" class="Function">eq&#39;</a> <a id="18337" class="Symbol">{</a><a id="18338" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a><a id="18342" class="Symbol">}</a> <a id="18345" class="Symbol">=</a> <a id="18347" href="Data.Sum.Relation.Binary.Pointwise.html#1176" class="InductiveConstructor">inj₁</a> <a id="18352" class="Symbol">(</a><a id="18353" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="18358" href="Monad.Instance.Setoids.K.html#11430" class="Bound">f</a> <a id="18360" href="Monad.Instance.Setoids.K.html#18125" class="Bound">xy</a><a id="18363" class="Symbol">)</a>
<a id="18377" href="Monad.Instance.Setoids.K.html#18178" class="Function">eq&#39;</a> <a id="18381" class="Symbol">{</a><a id="18382" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="18386" href="Monad.Instance.Setoids.K.html#18386" class="Bound">n</a><a id="18387" class="Symbol">}</a> <a id="18389" class="Symbol">=</a> <a id="18391" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="18396" class="Symbol">(</a><a id="18397" href="Monad.Instance.Setoids.Delay.html#2612" class="Function">-trans</a> <a id="18405" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="18407" class="Symbol">(</a><a id="18408" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="18413" class="Symbol">(</a><a id="18414" href="Monad.Instance.Setoids.Delay.html#14628" class="Function">μₛ∼</a> <a id="18418" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="18419" class="Symbol">)</a> <a id="18421" class="Symbol">(</a><a id="18422" href="Monad.Instance.Setoids.Delay.html#2377" class="Function">-sym</a> <a id="18428" class="Symbol">(</a><a id="18429" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="18437" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="18438" class="Symbol">)</a> <a id="18440" class="Symbol">(</a><a id="18441" href="Monad.Instance.Setoids.Delay.html#9397" class="Function">lift-comp</a> <a id="18452" class="Symbol">{</a><a id="18453" class="Argument">f</a> <a id="18455" class="Symbol">=</a> <a id="18457" href="Monad.Instance.Setoids.K.html#13203" class="Function">outer</a><a id="18462" class="Symbol">}</a> <a id="18464" class="Symbol">{</a><a id="18465" class="Argument">g</a> <a id="18467" class="Symbol">=</a> <a id="18469" href="Monad.Instance.Setoids.Delay.html#20586" class="Function">ιₛ&#39;</a><a id="18472" class="Symbol">}</a> <a id="18474" class="Symbol">{</a><a id="18475" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="18477" class="Symbol">(</a><a id="18478" href="Monad.Instance.Setoids.K.html#18095" class="Bound">x</a> <a id="18480" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18482" href="Monad.Instance.Setoids.K.html#18386" class="Bound">n</a><a id="18483" class="Symbol">)}</a> <a id="18486" class="Symbol">(</a><a id="18487" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">-refl</a> <a id="18494" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="18495" class="Symbol">))))</a> <a id="18500" class="Symbol">(</a><a id="18501" href="Monad.Instance.Setoids.Delay.html#2612" class="Function">-trans</a> <a id="18509" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="18511" href="Monad.Instance.Setoids.Delay.html#16441" class="Function">identityˡ</a> <a id="18522" class="Symbol">(</a><a id="18523" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="18528" href="Monad.Instance.Setoids.Delay.html#20586" class="Function">ιₛ&#39;</a> <a id="18532" class="Symbol">(</a><a id="18533" href="Monad.Instance.Setoids.K.html#18125" class="Bound">xy</a> <a id="18537" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="18539" href="Monad.Instance.Setoids.K.html#647" class="InductiveConstructor">≣-refl</a><a id="18545" class="Symbol">))))</a>
<a id="18558" href="Monad.Instance.Setoids.K.html#17929" class="Function">eq</a> <a id="18561" class="Symbol">(</a><a id="18562" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later</a> <a id="18569" href="Monad.Instance.Setoids.K.html#18569" class="Bound">xy</a><a id="18572" class="Symbol">)</a> <a id="18574" class="Symbol">=</a> <a id="18576" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="18581" class="Symbol">(</a><a id="18582" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="18587" class="Symbol">(</a><a id="18588" href="Monad.Instance.Setoids.Delay.html#14628" class="Function">μₛ∼</a> <a id="18592" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="18593" class="Symbol">)</a> <a id="18595" class="Symbol">(</a><a id="18596" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="18601" class="Symbol">(</a><a id="18602" href="Monad.Instance.Setoids.Delay.html#8881" class="Function">liftFₛ</a> <a id="18610" href="Monad.Instance.Setoids.Delay.html#20586" class="Function">ιₛ&#39;</a><a id="18613" class="Symbol">)</a> <a id="18615" class="Symbol">(</a><a id="18616" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force</a> <a id="18623" href="Monad.Instance.Setoids.K.html#18569" class="Bound">xy</a><a id="18626" class="Symbol">)))</a>
<a id="18639" href="Monad.Instance.Setoids.K.html#18639" class="Function">eq₂</a> <a id="18643" class="Symbol">:</a> <a id="18645" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="18647" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="18649" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="18651" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="18653" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="18656" href="Monad.Instance.Setoids.K.html#14122" class="Function">helper&#39;</a> <a id="18664" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="18666" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="18670" href="Monad.Instance.Setoids.K.html#13108" class="Bound">z</a> <a id="18672" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="18674" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="18681" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="18683" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="18687" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="18689" class="Symbol">{</a><a id="18690" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="18691" class="Symbol">}</a> <a id="18693" class="Symbol">(</a><a id="18694" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="18700" class="Symbol">(</a><a id="18701" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="18703" class="Symbol">{</a><a id="18704" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="18705" class="Symbol">})</a> <a id="18708" href="Monad.Instance.Setoids.K.html#13108" class="Bound">z</a><a id="18709" class="Symbol">)</a><a id="18710" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="18720" href="Monad.Instance.Setoids.K.html#18639" class="Function">eq₂</a> <a id="18724" class="Symbol">=</a> <a id="18726" href="Algebra.Elgot.html#2086" class="Function">Elgot-Algebra.#-Uniformity</a> <a id="18753" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="18755" class="Symbol">{</a><a id="18756" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="18764" class="Symbol">(</a><a id="18765" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="18767" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="18770" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a> <a id="18779" class="Symbol">{</a><a id="18780" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="18781" class="Symbol">})}</a> <a id="18785" class="Symbol">{</a><a id="18786" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="18794" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="18795" class="Symbol">}</a> <a id="18797" class="Symbol">{</a><a id="18798" href="Monad.Instance.Setoids.K.html#14122" class="Function">helper&#39;</a><a id="18805" class="Symbol">}</a> <a id="18807" class="Symbol">{</a><a id="18808" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a><a id="18814" class="Symbol">}</a> <a id="18816" class="Symbol">{</a><a id="18817" href="Monad.Instance.Setoids.Delay.html#14628" class="Function">μₛ∼</a> <a id="18821" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="18823" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="18825" href="Monad.Instance.Setoids.Delay.html#8881" class="Function">liftFₛ</a> <a id="18833" href="Monad.Instance.Setoids.Delay.html#20586" class="Function">ιₛ&#39;</a><a id="18836" class="Symbol">}</a> <a id="18838" class="Symbol"></a> <a id="18841" class="Symbol">{</a><a id="18842" href="Monad.Instance.Setoids.K.html#18842" class="Bound">x</a><a id="18843" class="Symbol">}</a> <a id="18845" class="Symbol"></a> <a id="18847" href="Monad.Instance.Setoids.K.html#17929" class="Function">eq</a> <a id="18850" class="Symbol">{</a><a id="18851" href="Monad.Instance.Setoids.K.html#18842" class="Bound">x</a><a id="18852" class="Symbol">}</a> <a id="18854" class="Symbol">{</a><a id="18855" href="Monad.Instance.Setoids.K.html#18842" class="Bound">x</a><a id="18856" class="Symbol">}</a> <a id="18858" class="Symbol">(</a><a id="18859" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">-refl</a> <a id="18866" class="Symbol">(</a><a id="18867" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="18869" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="18872" href="Category.Ambient.Setoids.html#2317" class="Function">-setoid</a><a id="18880" class="Symbol">)))</a>
<a id="18889" href="Monad.Instance.Setoids.K.html#18889" class="Function">delay-lift&#39;</a> <a id="18901" class="Symbol">=</a> <a id="18903" class="Keyword">record</a> <a id="18910" class="Symbol">{</a> <a id="18912" href="Function.Bundles.html#2094" class="Field">to</a> <a id="18915" class="Symbol">=</a> <a id="18917" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="18919" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="18926" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="18928" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a> <a id="18930" class="Symbol">;</a> <a id="18932" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="18937" class="Symbol">=</a> <a id="18939" href="Monad.Instance.Setoids.K.html#12267" class="Function">helper#≈-cong</a> <a id="18953" class="Symbol">}</a>
<a id="18960" class="Comment">-- discretize a setoid</a>
<a id="18987" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator">‖_‖</a> <a id="18991" class="Symbol">:</a> <a id="18993" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="19000" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="19002" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="19004" class="Symbol"></a> <a id="19006" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="19013" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="19015" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a>
<a id="19021" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator">_</a> <a id="19025" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19027" href="Monad.Instance.Setoids.K.html#19027" class="Bound">X</a> <a id="19029" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19036" class="Symbol">=</a> <a id="19038" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="19040" href="Monad.Instance.Setoids.K.html#19027" class="Bound">X</a> <a id="19042" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a>
<a id="19048" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[_][_≡_]</a> <a id="19057" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19059" href="Monad.Instance.Setoids.K.html#19059" class="Bound">X</a> <a id="19061" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19063" class="Symbol">=</a> <a id="19065" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a>
<a id="19073" href="Relation.Binary.Bundles.html#1203" class="Field">Setoid.isEquivalence</a> <a id="19094" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19096" href="Monad.Instance.Setoids.K.html#19096" class="Bound">X</a> <a id="19098" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19100" class="Symbol">=</a> <a id="19102" href="Relation.Binary.PropositionalEquality.Properties.html#5422" class="Function">Eq.isEquivalence</a>
<a id="19124" href="Monad.Instance.Setoids.K.html#19124" class="Function">‖‖-quote</a> <a id="19133" class="Symbol">:</a> <a id="19135" class="Symbol"></a> <a id="19137" class="Symbol">{</a><a id="19138" href="Monad.Instance.Setoids.K.html#19138" class="Bound">X</a> <a id="19140" class="Symbol">:</a> <a id="19142" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="19149" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="19151" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="19152" class="Symbol">}</a> <a id="19154" class="Symbol"></a> <a id="19156" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19158" href="Monad.Instance.Setoids.K.html#19138" class="Bound">X</a> <a id="19160" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19162" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="19164" href="Monad.Instance.Setoids.K.html#19138" class="Bound">X</a>
<a id="19170" href="Function.Bundles.html#2094" class="Field">_⟶_.to</a> <a id="19177" href="Monad.Instance.Setoids.K.html#19124" class="Function">‖‖-quote</a> <a id="19186" href="Monad.Instance.Setoids.K.html#19186" class="Bound">x</a> <a id="19197" class="Symbol">=</a> <a id="19199" href="Monad.Instance.Setoids.K.html#19186" class="Bound">x</a>
<a id="19205" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="19210" class="Symbol">(</a><a id="19211" href="Monad.Instance.Setoids.K.html#19124" class="Function">‖‖-quote</a> <a id="19220" class="Symbol">{</a><a id="19221" href="Monad.Instance.Setoids.K.html#19221" class="Bound">X</a><a id="19222" class="Symbol">})</a> <a id="19225" href="Monad.Instance.Setoids.K.html#647" class="InductiveConstructor">≣-refl</a> <a id="19232" class="Symbol">=</a> <a id="19234" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="19241" href="Monad.Instance.Setoids.K.html#19221" class="Bound">X</a>
<a id="19248" href="Monad.Instance.Setoids.K.html#19248" class="Function">disc-dom</a> <a id="19257" class="Symbol">:</a> <a id="19259" class="Symbol"></a> <a id="19261" class="Symbol">{</a><a id="19262" href="Monad.Instance.Setoids.K.html#19262" class="Bound">X</a> <a id="19264" class="Symbol">:</a> <a id="19266" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="19273" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="19275" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="19276" class="Symbol">}</a> <a id="19278" class="Symbol"></a> <a id="19280" href="Monad.Instance.Setoids.K.html#19262" class="Bound">X</a> <a id="19282" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="19284" class="Symbol">(</a><a id="19285" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="19292" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="19294" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="19297" href="Monad.Instance.Setoids.K.html#19262" class="Bound">X</a><a id="19298" class="Symbol">)</a> <a id="19300" class="Symbol"></a> <a id="19302" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19304" href="Monad.Instance.Setoids.K.html#19262" class="Bound">X</a> <a id="19306" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19308" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="19310" class="Symbol">(</a><a id="19311" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="19319" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="19321" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="19324" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19326" href="Monad.Instance.Setoids.K.html#19262" class="Bound">X</a> <a id="19328" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a><a id="19329" class="Symbol">)</a>
<a id="19335" href="Function.Bundles.html#2094" class="Field">_⟶_.to</a> <a id="19342" class="Symbol">(</a><a id="19343" href="Monad.Instance.Setoids.K.html#19248" class="Function">disc-dom</a> <a id="19352" href="Monad.Instance.Setoids.K.html#19352" class="Bound">f</a><a id="19353" class="Symbol">)</a> <a id="19355" href="Monad.Instance.Setoids.K.html#19355" class="Bound">x</a> <a id="19357" class="Symbol">=</a> <a id="19359" href="Monad.Instance.Setoids.K.html#19352" class="Bound">f</a> <a id="19361" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="19365" href="Monad.Instance.Setoids.K.html#19355" class="Bound">x</a>
<a id="19371" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="19376" class="Symbol">(</a><a id="19377" href="Monad.Instance.Setoids.K.html#19248" class="Function">disc-dom</a> <a id="19386" class="Symbol">{</a><a id="19387" href="Monad.Instance.Setoids.K.html#19387" class="Bound">X</a><a id="19388" class="Symbol">}</a> <a id="19390" href="Monad.Instance.Setoids.K.html#19390" class="Bound">f</a><a id="19391" class="Symbol">)</a> <a id="19393" class="Symbol">{</a><a id="19394" href="Monad.Instance.Setoids.K.html#19394" class="Bound">x</a><a id="19395" class="Symbol">}</a> <a id="19397" class="Symbol">{</a><a id="19398" href="Monad.Instance.Setoids.K.html#19398" class="Bound">y</a><a id="19399" class="Symbol">}</a> <a id="19401" href="Monad.Instance.Setoids.K.html#19401" class="Bound">x≡y</a> <a id="19405" class="Keyword">rewrite</a> <a id="19413" href="Monad.Instance.Setoids.K.html#19401" class="Bound">x≡y</a> <a id="19417" class="Symbol">=</a> <a id="19419" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="19426" class="Symbol">(</a><a id="19427" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="19435" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="19437" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="19440" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19442" href="Monad.Instance.Setoids.K.html#19387" class="Bound">X</a> <a id="19444" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a><a id="19445" class="Symbol">)</a>
<a id="19453" href="Monad.Instance.Setoids.K.html#19453" class="Function">iter-g-var</a> <a id="19464" class="Symbol">:</a> <a id="19466" class="Symbol"></a> <a id="19468" class="Symbol">{</a><a id="19469" href="Monad.Instance.Setoids.K.html#19469" class="Bound">X</a> <a id="19471" class="Symbol">:</a> <a id="19473" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="19480" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="19482" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="19483" class="Symbol">}</a> <a id="19485" class="Symbol"></a> <a id="19487" class="Symbol">(</a><a id="19488" href="Monad.Instance.Setoids.K.html#19488" class="Bound">g</a> <a id="19490" class="Symbol">:</a> <a id="19492" href="Monad.Instance.Setoids.K.html#19469" class="Bound">X</a> <a id="19494" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="19496" class="Symbol">(</a><a id="19497" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="19504" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="19506" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="19509" href="Monad.Instance.Setoids.K.html#19469" class="Bound">X</a><a id="19510" class="Symbol">))</a> <a id="19513" class="Symbol"></a> <a id="19515" class="Symbol"></a> <a id="19517" class="Symbol">{</a><a id="19518" href="Monad.Instance.Setoids.K.html#19518" class="Bound">x</a><a id="19519" class="Symbol">}</a> <a id="19521" class="Symbol"></a> <a id="19523" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">[</a> <a id="19525" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="19527" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">][</a> <a id="19530" class="Symbol">(</a><a id="19531" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="19536" class="Symbol">{</a><a id="19537" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="19538" class="Symbol">}</a> <a id="19540" class="Symbol">{</a><a id="19541" href="Monad.Instance.Setoids.K.html#19469" class="Bound">X</a><a id="19542" class="Symbol">}</a> <a id="19544" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="19546" href="Monad.Instance.Setoids.K.html#19488" class="Bound">g</a> <a id="19548" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a><a id="19549" class="Symbol">)</a> <a id="19551" href="Monad.Instance.Setoids.K.html#19518" class="Bound">x</a> <a id="19553" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator"></a> <a id="19555" class="Symbol">(</a><a id="19556" href="Monad.Instance.Setoids.K.html#5539" class="Function">iterₛ</a> <a id="19563" class="Symbol">{</a><a id="19564" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="19565" class="Symbol">}</a> <a id="19567" class="Symbol">{</a><a id="19568" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19570" href="Monad.Instance.Setoids.K.html#19469" class="Bound">X</a> <a id="19572" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a><a id="19573" class="Symbol">}</a> <a id="19575" class="Symbol">(</a><a id="19576" href="Monad.Instance.Setoids.K.html#19248" class="Function">disc-dom</a> <a id="19585" href="Monad.Instance.Setoids.K.html#19488" class="Bound">g</a><a id="19586" class="Symbol">))</a> <a id="19589" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="19593" href="Monad.Instance.Setoids.K.html#19518" class="Bound">x</a> <a id="19595" href="Monad.Instance.Setoids.K.html#1877" class="Datatype Operator">]</a>
<a id="19601" href="Monad.Instance.Setoids.K.html#19601" class="Function">iter-g-var</a> <a id="19613" class="Symbol">:</a> <a id="19615" class="Symbol"></a> <a id="19617" class="Symbol">{</a><a id="19618" href="Monad.Instance.Setoids.K.html#19618" class="Bound">X</a> <a id="19620" class="Symbol">:</a> <a id="19622" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="19629" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="19631" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="19632" class="Symbol">}</a> <a id="19634" class="Symbol"></a> <a id="19636" class="Symbol">(</a><a id="19637" href="Monad.Instance.Setoids.K.html#19637" class="Bound">g</a> <a id="19639" class="Symbol">:</a> <a id="19641" href="Monad.Instance.Setoids.K.html#19618" class="Bound">X</a> <a id="19643" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="19645" class="Symbol">(</a><a id="19646" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="19653" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="19655" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="19658" href="Monad.Instance.Setoids.K.html#19618" class="Bound">X</a><a id="19659" class="Symbol">))</a> <a id="19662" class="Symbol"></a> <a id="19664" class="Symbol"></a> <a id="19666" class="Symbol">{</a><a id="19667" href="Monad.Instance.Setoids.K.html#19667" class="Bound">x</a><a id="19668" class="Symbol">}</a> <a id="19670" class="Symbol"></a> <a id="19672" href="Monad.Instance.Setoids.K.html#1895" class="Record Operator">[</a> <a id="19674" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="19676" href="Monad.Instance.Setoids.K.html#1895" class="Record Operator">][</a> <a id="19679" class="Symbol">(</a><a id="19680" href="Monad.Instance.Setoids.K.html#2210" class="Function">iter</a> <a id="19685" class="Symbol">{</a><a id="19686" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="19687" class="Symbol">}</a> <a id="19689" class="Symbol">{</a><a id="19690" href="Monad.Instance.Setoids.K.html#19618" class="Bound">X</a><a id="19691" class="Symbol">}</a> <a id="19693" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&lt;</a> <a id="19695" href="Monad.Instance.Setoids.K.html#19637" class="Bound">g</a> <a id="19697" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">&gt;</a><a id="19698" class="Symbol">)</a> <a id="19700" href="Monad.Instance.Setoids.K.html#19667" class="Bound">x</a> <a id="19702" href="Monad.Instance.Setoids.K.html#1895" class="Record Operator"></a> <a id="19705" class="Symbol">(</a><a id="19706" href="Monad.Instance.Setoids.K.html#5539" class="Function">iterₛ</a> <a id="19713" class="Symbol">{</a><a id="19714" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="19715" class="Symbol">}</a> <a id="19717" class="Symbol">{</a><a id="19718" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="19720" href="Monad.Instance.Setoids.K.html#19618" class="Bound">X</a> <a id="19722" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a><a id="19723" class="Symbol">}</a> <a id="19725" class="Symbol">(</a><a id="19726" href="Monad.Instance.Setoids.K.html#19248" class="Function">disc-dom</a> <a id="19735" href="Monad.Instance.Setoids.K.html#19637" class="Bound">g</a><a id="19736" class="Symbol">))</a> <a id="19739" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="19743" href="Monad.Instance.Setoids.K.html#19667" class="Bound">x</a> <a id="19745" href="Monad.Instance.Setoids.K.html#1895" class="Record Operator">]</a>
<a id="19751" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force</a> <a id="19758" class="Symbol">(</a><a id="19759" href="Monad.Instance.Setoids.K.html#19601" class="Function">iter-g-var</a> <a id="19771" class="Symbol">{</a><a id="19772" href="Monad.Instance.Setoids.K.html#19772" class="Bound">X</a><a id="19773" class="Symbol">}</a> <a id="19775" href="Monad.Instance.Setoids.K.html#19775" class="Bound">g</a> <a id="19777" class="Symbol">{</a><a id="19778" href="Monad.Instance.Setoids.K.html#19778" class="Bound">x</a><a id="19779" class="Symbol">})</a> <a id="19782" class="Symbol">=</a> <a id="19784" href="Monad.Instance.Setoids.K.html#19453" class="Function">iter-g-var</a> <a id="19795" class="Symbol">{</a><a id="19796" href="Monad.Instance.Setoids.K.html#19772" class="Bound">X</a><a id="19797" class="Symbol">}</a> <a id="19799" href="Monad.Instance.Setoids.K.html#19775" class="Bound">g</a> <a id="19801" class="Symbol">{</a><a id="19802" href="Monad.Instance.Setoids.K.html#19778" class="Bound">x</a><a id="19803" class="Symbol">}</a>
<a id="19809" href="Monad.Instance.Setoids.K.html#19453" class="Function">iter-g-var</a> <a id="19820" class="Symbol">{</a><a id="19821" href="Monad.Instance.Setoids.K.html#19821" class="Bound">X</a><a id="19822" class="Symbol">}</a> <a id="19824" href="Monad.Instance.Setoids.K.html#19824" class="Bound">g</a> <a id="19826" class="Symbol">{</a><a id="19827" href="Monad.Instance.Setoids.K.html#19827" class="Bound">x</a><a id="19828" class="Symbol">}</a> <a id="19830" class="Keyword">with</a> <a id="19835" href="Monad.Instance.Setoids.K.html#19824" class="Bound">g</a> <a id="19837" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="19841" href="Monad.Instance.Setoids.K.html#19827" class="Bound">x</a>
<a id="19847" class="Symbol">...</a> <a id="19868" class="Symbol">|</a> <a id="19870" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="19875" href="Monad.Instance.Setoids.K.html#19875" class="Bound">a</a> <a id="19877" class="Symbol">=</a> <a id="19879" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">-refl</a> <a id="19886" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a>
<a id="19892" class="Symbol">...</a> <a id="19913" class="Symbol">|</a> <a id="19915" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="19920" href="Monad.Instance.Setoids.K.html#19920" class="Bound">a</a> <a id="19922" class="Symbol">=</a> <a id="19924" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later</a> <a id="19931" class="Symbol">(</a><a id="19932" href="Monad.Instance.Setoids.K.html#19601" class="Function">iter-g-var</a> <a id="19944" class="Symbol">{</a><a id="19945" class="Bound">X</a><a id="19946" class="Symbol">}</a> <a id="19948" class="Bound">g</a> <a id="19950" class="Symbol">{</a><a id="19951" href="Monad.Instance.Setoids.K.html#19920" class="Bound">a</a><a id="19952" class="Symbol">})</a>
<a id="19960" href="Monad.Instance.Setoids.K.html#19960" class="Function">preserves&#39;</a> <a id="19971" class="Symbol">:</a> <a id="19973" class="Symbol"></a> <a id="19975" class="Symbol">{</a><a id="19976" href="Monad.Instance.Setoids.K.html#19976" class="Bound">X</a> <a id="19978" class="Symbol">:</a> <a id="19980" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="19987" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="19989" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="19990" class="Symbol">}</a> <a id="19992" class="Symbol">{</a><a id="19993" href="Monad.Instance.Setoids.K.html#19993" class="Bound">g</a> <a id="19995" class="Symbol">:</a> <a id="19997" href="Monad.Instance.Setoids.K.html#19976" class="Bound">X</a> <a id="19999" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="20001" class="Symbol">(</a><a id="20002" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="20009" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a> <a id="20011" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="20014" href="Monad.Instance.Setoids.K.html#19976" class="Bound">X</a><a id="20015" class="Symbol">)}</a> <a id="20018" class="Symbol"></a> <a id="20020" class="Symbol"></a> <a id="20022" class="Symbol">{</a><a id="20023" href="Monad.Instance.Setoids.K.html#20023" class="Bound">x</a><a id="20024" class="Symbol">}</a> <a id="20026" class="Symbol"></a> <a id="20028" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="20030" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20032" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="20034" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20036" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="20039" class="Symbol">(</a><a id="20040" href="Monad.Instance.Setoids.K.html#18889" class="Function">delay-lift&#39;</a> <a id="20052" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20054" class="Symbol">(</a><a id="20055" href="Monad.Instance.Setoids.K.html#5699" class="Function">iterₛ</a> <a id="20061" class="Symbol">{</a><a id="20062" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="20063" class="Symbol">}</a> <a id="20065" class="Symbol">{</a><a id="20066" href="Monad.Instance.Setoids.K.html#19976" class="Bound">X</a><a id="20067" class="Symbol">}</a> <a id="20069" href="Monad.Instance.Setoids.K.html#19993" class="Bound">g</a><a id="20070" class="Symbol">))</a> <a id="20073" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="20077" href="Monad.Instance.Setoids.K.html#20023" class="Bound">x</a> <a id="20079" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="20081" class="Symbol">(</a><a id="20082" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="20084" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="20090" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20092" href="Monad.Instance.Setoids.K.html#18889" class="Function">delay-lift&#39;</a> <a id="20104" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="20106" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="20112" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="20115" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20117" href="Monad.Instance.Setoids.K.html#19993" class="Bound">g</a><a id="20118" class="Symbol">)</a> <a id="20120" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="20122" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="20126" href="Monad.Instance.Setoids.K.html#20023" class="Bound">x</a> <a id="20128" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="20134" href="Monad.Instance.Setoids.K.html#19960" class="Function">preserves&#39;</a> <a id="20145" class="Symbol">{</a><a id="20146" href="Monad.Instance.Setoids.K.html#20146" class="Bound">X</a><a id="20147" class="Symbol">}</a> <a id="20149" class="Symbol">{</a><a id="20150" href="Monad.Instance.Setoids.K.html#20150" class="Bound">g</a><a id="20151" class="Symbol">}</a> <a id="20153" class="Symbol">{</a><a id="20154" href="Monad.Instance.Setoids.K.html#20154" class="Bound">x</a><a id="20155" class="Symbol">}</a> <a id="20157" class="Symbol">=</a> <a id="20159" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="20167" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20169" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="20171" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20173" href="Monad.Instance.Setoids.K.html#20203" class="Function">step₁</a> <a id="20179" href="Monad.Instance.Setoids.K.html#21556" class="Function">step₂</a>
<a id="20191" class="Keyword">where</a>
<a id="20203" href="Monad.Instance.Setoids.K.html#20203" class="Function">step₁</a> <a id="20209" class="Symbol">:</a> <a id="20211" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="20213" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20215" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="20217" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20219" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="20222" class="Symbol">(</a><a id="20223" href="Monad.Instance.Setoids.K.html#18889" class="Function">delay-lift&#39;</a> <a id="20235" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20237" class="Symbol">(</a><a id="20238" href="Monad.Instance.Setoids.K.html#5699" class="Function">iterₛ</a> <a id="20244" class="Symbol">{</a><a id="20245" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="20246" class="Symbol">}</a> <a id="20248" class="Symbol">{</a><a id="20249" href="Monad.Instance.Setoids.K.html#20146" class="Bound">X</a><a id="20250" class="Symbol">}</a> <a id="20252" href="Monad.Instance.Setoids.K.html#20150" class="Bound">g</a><a id="20253" class="Symbol">))</a> <a id="20256" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="20260" href="Monad.Instance.Setoids.K.html#20154" class="Bound">x</a> <a id="20262" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="20264" class="Symbol">(</a><a id="20265" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="20267" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="20273" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20275" class="Symbol">(</a><a id="20276" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="20283" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="20284" class="Symbol">)</a> <a id="20286" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="20288" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="20294" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="20297" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20299" class="Symbol">(</a><a id="20300" href="Monad.Instance.Setoids.K.html#19248" class="Function">disc-dom</a> <a id="20309" href="Monad.Instance.Setoids.K.html#20150" class="Bound">g</a><a id="20310" class="Symbol">))</a> <a id="20313" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="20315" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="20319" href="Monad.Instance.Setoids.K.html#20154" class="Bound">x</a> <a id="20321" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="20329" href="Monad.Instance.Setoids.K.html#20203" class="Function">step₁</a> <a id="20335" class="Symbol">=</a> <a id="20337" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="20345" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20347" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="20349" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20351" class="Symbol">(</a><a id="20352" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="20360" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20362" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="20364" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20366" class="Symbol">(</a><a id="20367" href="Monad.Instance.Setoids.K.html#12102" class="Function">helper#-cong</a> <a id="20381" class="Symbol">(</a><a id="20382" href="Monad.Instance.Setoids.K.html#19453" class="Function">iter-g-var</a> <a id="20393" href="Monad.Instance.Setoids.K.html#20150" class="Bound">g</a><a id="20394" class="Symbol">))</a> <a id="20397" class="Symbol">(</a><a id="20398" href="Monad.Instance.Setoids.K.html#20523" class="Function">sub-step₁</a> <a id="20408" class="Symbol">(</a><a id="20409" href="Monad.Instance.Setoids.K.html#19248" class="Function">disc-dom</a> <a id="20418" href="Monad.Instance.Setoids.K.html#20150" class="Bound">g</a><a id="20419" class="Symbol">)</a> <a id="20421" class="Symbol">{</a><a id="20422" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="20427" href="Monad.Instance.Setoids.K.html#20154" class="Bound">x</a><a id="20428" class="Symbol">}))</a> <a id="20432" class="Symbol">(</a><a id="20433" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="20439" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20441" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="20443" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20445" class="Symbol">(</a><a id="20446" href="Algebra.Elgot.html#2470" class="Function">#-Compositionality</a> <a id="20465" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="20467" class="Symbol">{</a><a id="20468" class="Argument">f</a> <a id="20470" class="Symbol">=</a> <a id="20472" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a><a id="20478" class="Symbol">}</a> <a id="20480" class="Symbol">{</a><a id="20481" class="Argument">h</a> <a id="20483" class="Symbol">=</a> <a id="20485" href="Monad.Instance.Setoids.K.html#19248" class="Function">disc-dom</a> <a id="20494" href="Monad.Instance.Setoids.K.html#20150" class="Bound">g</a><a id="20495" class="Symbol">}))</a>
<a id="20507" class="Keyword">where</a>
<a id="20523" href="Monad.Instance.Setoids.K.html#20523" class="Function">sub-step₁</a> <a id="20533" class="Symbol">:</a> <a id="20535" class="Symbol">(</a><a id="20536" href="Monad.Instance.Setoids.K.html#20536" class="Bound">g</a> <a id="20538" class="Symbol">:</a> <a id="20540" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="20542" href="Monad.Instance.Setoids.K.html#20146" class="Bound">X</a> <a id="20544" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="20546" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="20548" class="Symbol">((</a><a id="20550" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="20558" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="20559" class="Symbol">)</a> <a id="20561" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="20564" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a> <a id="20566" href="Monad.Instance.Setoids.K.html#20146" class="Bound">X</a> <a id="20568" href="Monad.Instance.Setoids.K.html#18987" class="Function Operator"></a><a id="20569" class="Symbol">))</a> <a id="20572" class="Symbol"></a> <a id="20574" class="Symbol"></a> <a id="20576" class="Symbol">{</a><a id="20577" href="Monad.Instance.Setoids.K.html#20577" class="Bound">x</a><a id="20578" class="Symbol">}</a> <a id="20580" class="Symbol"></a> <a id="20582" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="20584" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20586" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="20588" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20590" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="20593" class="Symbol">((</a><a id="20595" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="20602" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="20603" class="Symbol">)</a> <a id="20605" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20607" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="20609" href="Monad.Instance.Setoids.K.html#403" class="Function">idₛ</a> <a id="20613" class="Symbol">(</a><a id="20614" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="20622" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="20623" class="Symbol">)</a> <a id="20625" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="20627" href="Monad.Instance.Setoids.K.html#5539" class="Function">iterₛ</a> <a id="20634" href="Monad.Instance.Setoids.K.html#20536" class="Bound">g</a> <a id="20636" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a><a id="20638" class="Symbol">)</a> <a id="20640" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="20644" href="Monad.Instance.Setoids.K.html#20577" class="Bound">x</a>
<a id="20658" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="20660" class="Symbol">(</a><a id="20661" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="20663" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="20665" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="20671" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="20673" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="20679" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20681" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="20687" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="20690" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20692" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="20699" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="20701" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="20707" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20709" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="20715" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="20718" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20720" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="20722" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="20728" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="20730" href="Monad.Instance.Setoids.K.html#20536" class="Bound">g</a> <a id="20732" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a><a id="20734" class="Symbol">)</a> <a id="20736" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="20738" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="20742" href="Monad.Instance.Setoids.K.html#20577" class="Bound">x</a> <a id="20744" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="20756" href="Monad.Instance.Setoids.K.html#20523" class="Function">sub-step₁</a> <a id="20766" href="Monad.Instance.Setoids.K.html#20766" class="Bound">g</a> <a id="20768" class="Symbol">{</a><a id="20769" href="Monad.Instance.Setoids.K.html#20769" class="Bound">u</a><a id="20770" class="Symbol">}</a> <a id="20772" class="Symbol">=</a> <a id="20774" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="20780" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20782" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="20784" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20786" class="Symbol">(</a><a id="20787" href="Algebra.Elgot.html#2086" class="Function">#-Uniformity</a> <a id="20800" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="20802" class="Symbol">{</a><a id="20803" class="Argument">h</a> <a id="20805" class="Symbol">=</a> <a id="20807" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="20809" href="Monad.Instance.Setoids.K.html#403" class="Function">idₛ</a> <a id="20813" class="Symbol">(</a><a id="20814" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="20822" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="20823" class="Symbol">)</a> <a id="20825" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="20827" href="Monad.Instance.Setoids.K.html#5539" class="Function">iterₛ</a> <a id="20834" href="Monad.Instance.Setoids.K.html#20766" class="Bound">g</a> <a id="20836" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a><a id="20838" class="Symbol">}</a> <a id="20840" class="Symbol"></a> <a id="20843" class="Symbol">{</a><a id="20844" href="Monad.Instance.Setoids.K.html#20844" class="Bound">y</a><a id="20845" class="Symbol">}</a> <a id="20847" class="Symbol"></a> <a id="20849" href="Monad.Instance.Setoids.K.html#20895" class="Function">last-step</a> <a id="20859" class="Symbol">{</a><a id="20860" href="Monad.Instance.Setoids.K.html#20844" class="Bound">y</a><a id="20861" class="Symbol">}))</a>
<a id="20877" class="Keyword">where</a>
<a id="20895" href="Monad.Instance.Setoids.K.html#20895" class="Function">last-step</a> <a id="20905" class="Symbol">:</a> <a id="20907" class="Symbol"></a> <a id="20909" class="Symbol">{</a><a id="20910" href="Monad.Instance.Setoids.K.html#20910" class="Bound">x</a><a id="20911" class="Symbol">}</a> <a id="20913" class="Symbol"></a> <a id="20915" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="20917" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20919" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="20921" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="20923" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="20926" class="Symbol">(</a><a id="20927" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="20935" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="20936" class="Symbol">)</a> <a id="20938" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="20941" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="20943" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="20949" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="20951" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="20957" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20959" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="20961" href="Monad.Instance.Setoids.K.html#403" class="Function">idₛ</a> <a id="20965" class="Symbol">(</a><a id="20966" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="20974" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="20975" class="Symbol">)</a> <a id="20977" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="20979" href="Monad.Instance.Setoids.K.html#5539" class="Function">iterₛ</a> <a id="20986" href="Monad.Instance.Setoids.K.html#20766" class="Bound">g</a> <a id="20988" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="20991" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="20994" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="20996" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="20998" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="21000" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="21006" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="21008" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="21014" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21016" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="21022" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="21025" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21027" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="21034" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="21036" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="21042" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21044" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="21050" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="21053" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21055" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="21057" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="21063" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="21065" href="Monad.Instance.Setoids.K.html#20766" class="Bound">g</a> <a id="21067" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="21070" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="21074" href="Monad.Instance.Setoids.K.html#20910" class="Bound">x</a> <a id="21076" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="21078" class="Symbol">(</a><a id="21079" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="21086" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21088" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="21090" href="Monad.Instance.Setoids.K.html#403" class="Function">idₛ</a> <a id="21094" class="Symbol">(</a><a id="21095" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="21103" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="21104" class="Symbol">)</a> <a id="21106" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="21108" href="Monad.Instance.Setoids.K.html#5539" class="Function">iterₛ</a> <a id="21115" href="Monad.Instance.Setoids.K.html#20766" class="Bound">g</a> <a id="21117" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a><a id="21119" class="Symbol">)</a> <a id="21121" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="21125" href="Monad.Instance.Setoids.K.html#20910" class="Bound">x</a> <a id="21127" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="21141" href="Monad.Instance.Setoids.K.html#20895" class="Function">last-step</a> <a id="21151" class="Symbol">{</a><a id="21152" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="21157" class="Symbol">(</a><a id="21158" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="21162" href="Monad.Instance.Setoids.K.html#21162" class="Bound">a</a><a id="21163" class="Symbol">)}</a> <a id="21166" class="Symbol">=</a> <a id="21168" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="21175" class="Symbol">(</a><a id="21176" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21178" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="21180" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21182" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="21185" class="Symbol">(</a><a id="21186" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="21194" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="21195" class="Symbol">))</a>
<a id="21210" href="Monad.Instance.Setoids.K.html#20895" class="Function">last-step</a> <a id="21220" class="Symbol">{</a><a id="21221" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="21226" class="Symbol">(</a><a id="21227" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="21233" href="Monad.Instance.Setoids.K.html#21233" class="Bound">a</a><a id="21234" class="Symbol">)}</a> <a id="21237" class="Symbol">=</a> <a id="21239" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="21246" class="Symbol">(</a><a id="21247" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21249" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="21251" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21253" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="21256" class="Symbol">(</a><a id="21257" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="21265" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="21266" class="Symbol">))</a>
<a id="21281" href="Monad.Instance.Setoids.K.html#20895" class="Function">last-step</a> <a id="21291" class="Symbol">{</a><a id="21292" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="21297" href="Monad.Instance.Setoids.K.html#21297" class="Bound">a</a><a id="21298" class="Symbol">}</a> <a id="21300" class="Keyword">with</a> <a id="21305" href="Monad.Instance.Setoids.K.html#20766" class="Bound">g</a> <a id="21307" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="21311" href="Monad.Instance.Setoids.K.html#21297" class="Bound">a</a> <a id="21313" class="Keyword">in</a> <a id="21316" class="Argument">eqb</a>
<a id="21332" class="Symbol">...</a> <a id="21351" class="Symbol">|</a> <a id="21353" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="21358" class="Symbol">(</a><a id="21359" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="21363" href="Monad.Instance.Setoids.K.html#21363" class="Bound">b</a><a id="21364" class="Symbol">)</a> <a id="21366" class="Symbol">=</a> <a id="21368" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="21375" class="Symbol">(</a><a id="21376" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21378" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="21380" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21382" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="21385" class="Symbol">(</a><a id="21386" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="21394" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="21395" class="Symbol">))</a>
<a id="21410" class="Symbol">...</a> <a id="21429" class="Symbol">|</a> <a id="21431" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="21436" class="Symbol">(</a><a id="21437" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="21443" href="Monad.Instance.Setoids.K.html#21443" class="Bound">b</a><a id="21444" class="Symbol">)</a> <a id="21446" class="Symbol">=</a> <a id="21448" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="21455" class="Symbol">(</a><a id="21456" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21458" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="21460" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21462" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="21465" class="Symbol">(</a><a id="21466" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="21474" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="21475" class="Symbol">))</a>
<a id="21490" class="Symbol">...</a> <a id="21509" class="Symbol">|</a> <a id="21511" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="21516" href="Monad.Instance.Setoids.K.html#21516" class="Bound">b</a> <a id="21518" class="Symbol">=</a> <a id="21520" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="21527" class="Symbol">(</a><a id="21528" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21530" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="21532" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21534" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="21537" class="Symbol">(</a><a id="21538" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="21546" href="Monad.Instance.Setoids.K.html#11423" class="Bound">A</a><a id="21547" class="Symbol">))</a>
<a id="21556" href="Monad.Instance.Setoids.K.html#21556" class="Function">step₂</a> <a id="21562" class="Symbol">:</a> <a id="21564" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="21566" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21568" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="21570" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21572" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="21575" class="Symbol">(</a><a id="21576" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="21578" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="21584" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21586" class="Symbol">(</a><a id="21587" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="21594" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="21595" class="Symbol">)</a> <a id="21597" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="21599" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="21605" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="21608" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21610" class="Symbol">(</a><a id="21611" href="Monad.Instance.Setoids.K.html#19248" class="Function">disc-dom</a> <a id="21620" href="Monad.Instance.Setoids.K.html#20150" class="Bound">g</a><a id="21621" class="Symbol">))</a> <a id="21624" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="21626" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="21630" href="Monad.Instance.Setoids.K.html#20154" class="Bound">x</a> <a id="21632" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="21634" class="Symbol">(</a><a id="21635" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="21637" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="21643" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21645" href="Monad.Instance.Setoids.K.html#18889" class="Function">delay-lift&#39;</a> <a id="21657" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="21659" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="21665" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="21668" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21670" href="Monad.Instance.Setoids.K.html#20150" class="Bound">g</a><a id="21671" class="Symbol">)</a> <a id="21673" href="Algebra.Elgot.html#1938" class="Function Operator">#</a> <a id="21675" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="21679" href="Monad.Instance.Setoids.K.html#20154" class="Bound">x</a> <a id="21681" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="21689" href="Monad.Instance.Setoids.K.html#21556" class="Function">step₂</a> <a id="21695" class="Symbol">=</a> <a id="21697" href="Algebra.Elgot.html#2086" class="Function">#-Uniformity</a> <a id="21710" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="21712" class="Symbol">{</a><a id="21713" class="Argument">h</a> <a id="21715" class="Symbol">=</a> <a id="21717" href="Monad.Instance.Setoids.K.html#19124" class="Function">‖‖-quote</a><a id="21725" class="Symbol">}</a> <a id="21727" href="Monad.Instance.Setoids.K.html#21761" class="Function">sub-step₂</a>
<a id="21745" class="Keyword">where</a>
<a id="21761" href="Monad.Instance.Setoids.K.html#21761" class="Function">sub-step₂</a> <a id="21771" class="Symbol">:</a> <a id="21773" class="Symbol"></a> <a id="21775" class="Symbol">{</a><a id="21776" href="Monad.Instance.Setoids.K.html#21776" class="Bound">x</a><a id="21777" class="Symbol">}</a> <a id="21779" class="Symbol"></a> <a id="21781" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="21783" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21785" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="21787" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21789" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="21792" href="Monad.Instance.Setoids.K.html#20146" class="Bound">X</a> <a id="21794" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a><a id="21796" class="Symbol">(</a><a id="21797" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="21799" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="21805" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="21807" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="21813" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="21816" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21818" class="Symbol">(</a><a id="21819" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="21821" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="21827" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21829" class="Symbol">(</a><a id="21830" href="Monad.Instance.Setoids.K.html#11995" class="Function">helper</a> <a id="21837" href="Algebra.Elgot.html#1938" class="Function Operator">#</a><a id="21838" class="Symbol">)</a> <a id="21840" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="21842" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="21848" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="21851" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21853" class="Symbol">(</a><a id="21854" href="Monad.Instance.Setoids.K.html#19248" class="Function">disc-dom</a> <a id="21863" href="Monad.Instance.Setoids.K.html#20150" class="Bound">g</a><a id="21864" class="Symbol">)))</a> <a id="21868" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="21872" href="Monad.Instance.Setoids.K.html#21776" class="Bound">x</a> <a id="21874" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="21876" class="Symbol">(</a><a id="21877" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="21879" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="21885" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21887" href="Monad.Instance.Setoids.K.html#18889" class="Function">delay-lift&#39;</a> <a id="21899" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="21901" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="21907" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="21910" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="21912" href="Monad.Instance.Setoids.K.html#20150" class="Bound">g</a><a id="21913" class="Symbol">)</a> <a id="21915" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="21919" href="Monad.Instance.Setoids.K.html#21776" class="Bound">x</a> <a id="21921" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="21933" href="Monad.Instance.Setoids.K.html#21761" class="Function">sub-step₂</a> <a id="21943" class="Symbol">{</a><a id="21944" href="Monad.Instance.Setoids.K.html#21944" class="Bound">x</a><a id="21945" class="Symbol">}</a> <a id="21947" class="Keyword">with</a> <a id="21952" href="Monad.Instance.Setoids.K.html#20150" class="Bound">g</a> <a id="21954" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="21958" href="Monad.Instance.Setoids.K.html#21944" class="Bound">x</a>
<a id="21970" class="Symbol">...</a> <a id="21974" class="Symbol">|</a> <a id="21976" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="21981" href="Monad.Instance.Setoids.K.html#21981" class="Bound">y</a> <a id="21983" class="Symbol">=</a> <a id="21985" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="21992" class="Symbol">(</a><a id="21993" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21995" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="21997" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="21999" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="22002" href="Monad.Instance.Setoids.K.html#20146" class="Bound">X</a><a id="22003" class="Symbol">)</a>
<a id="22015" class="Symbol">...</a> <a id="22019" class="Symbol">|</a> <a id="22021" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="22026" href="Monad.Instance.Setoids.K.html#22026" class="Bound">y</a> <a id="22028" class="Symbol">=</a> <a id="22030" href="Monad.Instance.Setoids.K.html#2057" class="Function">≡-refl</a> <a id="22037" class="Symbol">(</a><a id="22038" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="22040" href="Monad.Instance.Setoids.K.html#11427" class="Bound">B</a> <a id="22042" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="22044" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="22047" href="Monad.Instance.Setoids.K.html#20146" class="Bound">X</a><a id="22048" class="Symbol">)</a>
<a id="22053" class="Keyword">open</a> <a id="22058" href="Category.Construction.ElgotAlgebras.html#727" class="Module">Elgot-Algebra-Morphism</a> <a id="22081" class="Keyword">using</a> <a id="22087" class="Symbol">(</a><a id="22088" href="Category.Construction.ElgotAlgebras.html#812" class="Field">preserves</a><a id="22097" class="Symbol">)</a> <a id="22099" class="Keyword">renaming</a> <a id="22108" class="Symbol">(</a><a id="22109" href="Category.Construction.ElgotAlgebras.html#794" class="Field">h</a> <a id="22111" class="Symbol">to</a> <a id="22114" class="Field">&lt;&lt;_&gt;&gt;</a><a id="22119" class="Symbol">)</a>
<a id="freeAlgebra"></a><a id="22124" href="Monad.Instance.Setoids.K.html#22124" class="Function">freeAlgebra</a> <a id="22136" class="Symbol">:</a> <a id="22138" class="Symbol"></a> <a id="22140" class="Symbol">(</a><a id="22141" href="Monad.Instance.Setoids.K.html#22141" class="Bound">A</a> <a id="22143" class="Symbol">:</a> <a id="22145" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="22152" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="22154" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="22155" class="Symbol">)</a> <a id="22157" class="Symbol"></a> <a id="22159" href="Categories.FreeObjects.Free.html#485" class="Record">FreeObject</a> <a id="22170" href="Algebra.Elgot.Free.html#1197" class="Function">elgotForgetfulF</a> <a id="22186" href="Monad.Instance.Setoids.K.html#22141" class="Bound">A</a>
<a id="22190" href="Monad.Instance.Setoids.K.html#22124" class="Function">freeAlgebra</a> <a id="22202" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a> <a id="22204" class="Symbol">=</a> <a id="22206" class="Keyword">record</a>
<a id="22218" class="Symbol">{</a> <a id="22220" href="Categories.FreeObjects.Free.html#838" class="Field">FX</a> <a id="22223" class="Symbol">=</a> <a id="22225" href="Monad.Instance.Setoids.K.html#11049" class="Function">delay-algebras</a> <a id="22240" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a>
<a id="22246" class="Symbol">;</a> <a id="22248" href="Categories.FreeObjects.Free.html#854" class="Field">η</a> <a id="22250" class="Symbol">=</a> <a id="22252" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="22255" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a>
<a id="22261" class="Symbol">;</a> <a id="22263" href="Categories.FreeObjects.Free.html#880" class="Field Operator">_*</a> <a id="22266" class="Symbol">=</a> <a id="22268" href="Monad.Instance.Setoids.K.html#11299" class="Function">delay-lift</a>
<a id="22284" class="Symbol">;</a> <a id="22286" href="Categories.FreeObjects.Free.html#937" class="Field">*-lift</a> <a id="22293" class="Symbol">=</a> <a id="22295" class="Symbol">λ</a> <a id="22297" class="Symbol">{</a><a id="22298" href="Monad.Instance.Setoids.K.html#22298" class="Bound">B</a><a id="22299" class="Symbol">}</a> <a id="22301" href="Monad.Instance.Setoids.K.html#22301" class="Bound">f</a> <a id="22303" class="Symbol">{</a><a id="22304" href="Monad.Instance.Setoids.K.html#22304" class="Bound">x</a><a id="22305" class="Symbol">}</a> <a id="22307" class="Symbol"></a> <a id="22309" href="Algebra.Elgot.html#2011" class="Function">Elgot-Algebra.#-Fixpoint</a> <a id="22334" href="Monad.Instance.Setoids.K.html#22298" class="Bound">B</a>
<a id="22340" class="Symbol">;</a> <a id="22342" href="Categories.FreeObjects.Free.html#1017" class="Field">*-uniq</a> <a id="22349" class="Symbol">=</a> <a id="22351" class="Symbol">λ</a> <a id="22353" class="Symbol">{</a><a id="22354" href="Monad.Instance.Setoids.K.html#22354" class="Bound">B</a><a id="22355" class="Symbol">}</a> <a id="22357" href="Monad.Instance.Setoids.K.html#22357" class="Bound">f</a> <a id="22359" href="Monad.Instance.Setoids.K.html#22359" class="Bound">g</a> <a id="22361" href="Monad.Instance.Setoids.K.html#22361" class="Bound">eq</a> <a id="22364" class="Symbol">{</a><a id="22365" href="Monad.Instance.Setoids.K.html#22365" class="Bound">x</a><a id="22366" class="Symbol">}</a> <a id="22368" class="Symbol"></a> <a id="22370" href="Monad.Instance.Setoids.K.html#22445" class="Function">*-uniq&#39;</a> <a id="22378" class="Symbol">{</a><a id="22379" href="Monad.Instance.Setoids.K.html#22354" class="Bound">B</a><a id="22380" class="Symbol">}</a> <a id="22382" href="Monad.Instance.Setoids.K.html#22357" class="Bound">f</a> <a id="22384" href="Monad.Instance.Setoids.K.html#22359" class="Bound">g</a> <a id="22386" class="Symbol">(</a><a id="22387" href="Monad.Instance.Setoids.K.html#11299" class="Function">delay-lift</a> <a id="22398" href="Monad.Instance.Setoids.K.html#22357" class="Bound">f</a><a id="22399" class="Symbol">)</a> <a id="22401" href="Monad.Instance.Setoids.K.html#22361" class="Bound">eq</a> <a id="22404" class="Symbol">(</a><a id="22405" href="Algebra.Elgot.html#2011" class="Function">#-Fixpoint</a> <a id="22416" href="Monad.Instance.Setoids.K.html#22354" class="Bound">B</a><a id="22417" class="Symbol">)</a> <a id="22419" class="Symbol">{</a><a id="22420" href="Monad.Instance.Setoids.K.html#22365" class="Bound">x</a><a id="22421" class="Symbol">}</a>
<a id="22427" class="Symbol">}</a>
<a id="22433" class="Keyword">where</a>
<a id="22445" href="Monad.Instance.Setoids.K.html#22445" class="Function">*-uniq&#39;</a> <a id="22453" class="Symbol">:</a> <a id="22455" class="Symbol"></a> <a id="22457" class="Symbol">{</a><a id="22458" href="Monad.Instance.Setoids.K.html#22458" class="Bound">B</a> <a id="22460" class="Symbol">:</a> <a id="22462" href="Algebra.Elgot.html#15964" class="Record">Elgot-Algebra</a><a id="22475" class="Symbol">}</a> <a id="22477" class="Symbol">(</a><a id="22478" href="Monad.Instance.Setoids.K.html#22478" class="Bound">f</a> <a id="22480" class="Symbol">:</a> <a id="22482" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a> <a id="22484" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="22486" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="22488" href="Monad.Instance.Setoids.K.html#22458" class="Bound">B</a> <a id="22490" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a><a id="22491" class="Symbol">)</a> <a id="22493" class="Symbol">(</a><a id="22494" href="Monad.Instance.Setoids.K.html#22494" class="Bound">g</a> <a id="22496" href="Monad.Instance.Setoids.K.html#22496" class="Bound">h</a> <a id="22498" class="Symbol">:</a> <a id="22500" href="Category.Construction.ElgotAlgebras.html#727" class="Record">Elgot-Algebra-Morphism</a> <a id="22523" class="Symbol">(</a><a id="22524" href="Monad.Instance.Setoids.K.html#11049" class="Function">delay-algebras</a> <a id="22539" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a><a id="22540" class="Symbol">)</a> <a id="22542" href="Monad.Instance.Setoids.K.html#22458" class="Bound">B</a><a id="22543" class="Symbol">)</a>
<a id="22554" class="Symbol"></a> <a id="22556" class="Symbol">(</a><a id="22557" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&lt;&lt;</a> <a id="22560" href="Monad.Instance.Setoids.K.html#22494" class="Bound">g</a> <a id="22562" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&gt;&gt;</a> <a id="22565" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="22567" class="Symbol">(</a><a id="22568" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="22571" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a><a id="22572" class="Symbol">))</a> <a id="22575" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator"></a> <a id="22577" href="Monad.Instance.Setoids.K.html#22478" class="Bound">f</a>
<a id="22587" class="Symbol"></a> <a id="22589" class="Symbol">(</a><a id="22590" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&lt;&lt;</a> <a id="22593" href="Monad.Instance.Setoids.K.html#22496" class="Bound">h</a> <a id="22595" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&gt;&gt;</a> <a id="22598" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="22600" class="Symbol">(</a><a id="22601" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="22604" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a><a id="22605" class="Symbol">))</a> <a id="22608" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator"></a> <a id="22610" href="Monad.Instance.Setoids.K.html#22478" class="Bound">f</a>
<a id="22620" class="Symbol"></a> <a id="22622" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&lt;&lt;</a> <a id="22625" href="Monad.Instance.Setoids.K.html#22494" class="Bound">g</a> <a id="22627" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&gt;&gt;</a> <a id="22630" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator"></a> <a id="22632" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&lt;&lt;</a> <a id="22635" href="Monad.Instance.Setoids.K.html#22496" class="Bound">h</a> <a id="22637" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&gt;&gt;</a>
<a id="22646" href="Monad.Instance.Setoids.K.html#22445" class="Function">*-uniq&#39;</a> <a id="22654" class="Symbol">{</a><a id="22655" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a><a id="22656" class="Symbol">}</a> <a id="22658" href="Monad.Instance.Setoids.K.html#22658" class="Bound">f</a> <a id="22660" href="Monad.Instance.Setoids.K.html#22660" class="Bound">g</a> <a id="22662" href="Monad.Instance.Setoids.K.html#22662" class="Bound">h</a> <a id="22664" href="Monad.Instance.Setoids.K.html#22664" class="Bound">eqᵍ</a> <a id="22668" href="Monad.Instance.Setoids.K.html#22668" class="Bound">eqʰ</a> <a id="22672" class="Symbol">{</a><a id="22673" href="Monad.Instance.Setoids.K.html#22673" class="Bound">x</a><a id="22674" class="Symbol">}</a> <a id="22676" class="Symbol">=</a> <a id="22678" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="22686" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="22688" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a> <a id="22690" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="22692" class="Symbol">(</a><a id="22693" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="22698" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&lt;&lt;</a> <a id="22701" href="Monad.Instance.Setoids.K.html#22660" class="Bound">g</a> <a id="22703" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&gt;&gt;</a> <a id="22706" href="Monad.Instance.Setoids.K.html#24156" class="Function">iter-id</a><a id="22713" class="Symbol">)</a>
<a id="22753" class="Symbol">(</a><a id="22754" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="22762" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="22764" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a> <a id="22766" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="22768" class="Symbol">(</a><a id="22769" href="Category.Construction.ElgotAlgebras.html#812" class="Field">preserves</a> <a id="22779" href="Monad.Instance.Setoids.K.html#22660" class="Bound">g</a> <a id="22781" class="Symbol">{</a><a id="22782" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="22790" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a><a id="22791" class="Symbol">}</a> <a id="22793" class="Symbol">{</a><a id="22794" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="22796" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="22802" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="22804" href="Monad.Instance.Setoids.K.html#23237" class="Function">D⇒D≈</a> <a id="22810" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="22812" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="22818" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="22821" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="22823" href="Monad.Instance.Setoids.K.html#23521" class="Function">helper-now</a><a id="22833" class="Symbol">}</a> <a id="22835" class="Symbol">{</a><a id="22836" class="Argument">x</a> <a id="22838" class="Symbol">=</a> <a id="22840" href="Monad.Instance.Setoids.K.html#22673" class="Bound">x</a><a id="22841" class="Symbol">})</a>
<a id="22882" class="Symbol">(</a><a id="22883" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="22891" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="22893" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a> <a id="22895" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="22897" class="Symbol">(</a><a id="22898" href="Algebra.Elgot.html#2331" class="Function">#-resp-≈</a> <a id="22907" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a> <a id="22909" class="Symbol"></a> <a id="22912" class="Symbol">{</a><a id="22913" href="Monad.Instance.Setoids.K.html#22913" class="Bound">x</a><a id="22914" class="Symbol">}</a> <a id="22916" class="Symbol"></a> <a id="22918" href="Monad.Instance.Setoids.K.html#23769" class="Function">helper-eq&#39;</a> <a id="22929" class="Symbol">{</a><a id="22930" href="Monad.Instance.Setoids.K.html#22913" class="Bound">x</a><a id="22931" class="Symbol">})</a> <a id="22934" class="Symbol">{</a><a id="22935" href="Monad.Instance.Setoids.K.html#22673" class="Bound">x</a><a id="22936" class="Symbol">})</a>
<a id="22977" class="Symbol">(</a><a id="22978" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="22986" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="22988" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a> <a id="22990" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="22992" class="Symbol">(</a><a id="22993" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="22999" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="23001" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a> <a id="23003" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="23005" class="Symbol">(</a><a id="23006" href="Category.Construction.ElgotAlgebras.html#812" class="Field">preserves</a> <a id="23016" href="Monad.Instance.Setoids.K.html#22662" class="Bound">h</a> <a id="23018" class="Symbol">{</a><a id="23019" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="23027" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a><a id="23028" class="Symbol">}</a> <a id="23030" class="Symbol">{</a><a id="23031" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="23033" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="23039" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="23041" href="Monad.Instance.Setoids.K.html#23237" class="Function">D⇒D≈</a> <a id="23047" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="23049" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="23055" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="23058" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="23060" href="Monad.Instance.Setoids.K.html#23521" class="Function">helper-now</a><a id="23070" class="Symbol">}</a> <a id="23072" class="Symbol">{</a><a id="23073" class="Argument">x</a> <a id="23075" class="Symbol">=</a> <a id="23077" href="Monad.Instance.Setoids.K.html#22673" class="Bound">x</a><a id="23078" class="Symbol">}))</a>
<a id="23135" class="Symbol">(</a><a id="23136" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="23142" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="23144" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a> <a id="23146" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="23148" class="Symbol">(</a><a id="23149" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="23154" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&lt;&lt;</a> <a id="23157" href="Monad.Instance.Setoids.K.html#22662" class="Bound">h</a> <a id="23159" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&gt;&gt;</a> <a id="23162" href="Monad.Instance.Setoids.K.html#24156" class="Function">iter-id</a><a id="23169" class="Symbol">)))))</a>
<a id="23183" class="Keyword">where</a>
<a id="23197" class="Keyword">open</a> <a id="23202" href="Algebra.Elgot.html#15964" class="Module">Elgot-Algebra</a> <a id="23216" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a> <a id="23218" class="Keyword">using</a> <a id="23224" class="Symbol">(</a><a id="23225" href="Algebra.Elgot.html#1938" class="Function Operator">_#</a><a id="23227" class="Symbol">)</a>
<a id="23237" href="Monad.Instance.Setoids.K.html#23237" class="Function">D⇒D≈</a> <a id="23243" class="Symbol">:</a> <a id="23245" class="Symbol"></a> <a id="23247" class="Symbol">{</a><a id="23248" href="Monad.Instance.Setoids.K.html#23248" class="Bound">A</a> <a id="23250" class="Symbol">:</a> <a id="23252" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="23259" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a> <a id="23261" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="23262" class="Symbol">}</a> <a id="23264" class="Symbol"></a> <a id="23266" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="23274" href="Monad.Instance.Setoids.K.html#23248" class="Bound">A</a> <a id="23276" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="23278" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="23285" href="Monad.Instance.Setoids.K.html#23248" class="Bound">A</a>
<a id="23295" href="Monad.Instance.Setoids.K.html#23237" class="Function">D⇒D≈</a> <a id="23301" class="Symbol">{</a><a id="23302" href="Monad.Instance.Setoids.K.html#23302" class="Bound">A</a><a id="23303" class="Symbol">}</a> <a id="23305" class="Symbol">=</a> <a id="23307" class="Keyword">record</a> <a id="23314" class="Symbol">{</a> <a id="23316" href="Function.Bundles.html#2094" class="Field">to</a> <a id="23319" class="Symbol">=</a> <a id="23321" class="Symbol">λ</a> <a id="23323" href="Monad.Instance.Setoids.K.html#23323" class="Bound">x</a> <a id="23325" class="Symbol"></a> <a id="23327" href="Monad.Instance.Setoids.K.html#23323" class="Bound">x</a> <a id="23329" class="Symbol">;</a> <a id="23331" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="23336" class="Symbol">=</a> <a id="23338" class="Symbol">λ</a> <a id="23340" href="Monad.Instance.Setoids.K.html#23340" class="Bound">eq</a> <a id="23343" class="Symbol"></a> <a id="23345" href="Monad.Instance.Setoids.Delay.html#6250" class="Function">∼⇒≈</a> <a id="23349" href="Monad.Instance.Setoids.K.html#23340" class="Bound">eq</a> <a id="23352" class="Symbol">}</a>
<a id="23363" href="Monad.Instance.Setoids.K.html#23363" class="Function">helper-now₁</a> <a id="23375" class="Symbol">:</a> <a id="23377" class="Symbol">(</a><a id="23378" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="23384" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="23386" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a> <a id="23388" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="23389" class="Symbol">)</a> <a id="23391" class="Symbol"></a> <a id="23393" class="Symbol">(</a><a id="23394" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="23400" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="23402" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a> <a id="23404" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="23406" href="Data.Sum.Base.html#625" class="Datatype Operator"></a> <a id="23408" class="Symbol">(</a><a id="23409" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="23415" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a> <a id="23417" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a> <a id="23419" href="Monad.Instance.Setoids.K.html#1998" class="Field Operator"></a><a id="23420" class="Symbol">))</a>
<a id="23431" href="Monad.Instance.Setoids.K.html#23363" class="Function">helper-now₁</a> <a id="23443" class="Symbol">(</a><a id="23444" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="23448" href="Monad.Instance.Setoids.K.html#23448" class="Bound">x</a><a id="23449" class="Symbol">)</a> <a id="23451" class="Symbol">=</a> <a id="23453" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a> <a id="23458" class="Symbol">(</a><a id="23459" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="23463" href="Monad.Instance.Setoids.K.html#23448" class="Bound">x</a><a id="23464" class="Symbol">)</a>
<a id="23474" href="Monad.Instance.Setoids.K.html#23363" class="Function">helper-now₁</a> <a id="23486" class="Symbol">(</a><a id="23487" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="23493" href="Monad.Instance.Setoids.K.html#23493" class="Bound">x</a><a id="23494" class="Symbol">)</a> <a id="23496" class="Symbol">=</a> <a id="23498" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a> <a id="23503" class="Symbol">(</a><a id="23504" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="23510" href="Monad.Instance.Setoids.K.html#23493" class="Bound">x</a><a id="23511" class="Symbol">)</a>
<a id="23521" href="Monad.Instance.Setoids.K.html#23521" class="Function">helper-now</a> <a id="23532" class="Symbol">:</a> <a id="23534" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="23542" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a> <a id="23544" href="Monad.Instance.Setoids.K.html#336" class="Record Operator"></a> <a id="23546" class="Symbol">((</a><a id="23548" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="23556" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a><a id="23557" class="Symbol">)</a> <a id="23559" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="23562" class="Symbol">(</a><a id="23563" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="23571" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a><a id="23572" class="Symbol">))</a>
<a id="23583" href="Monad.Instance.Setoids.K.html#23521" class="Function">helper-now</a> <a id="23594" class="Symbol">=</a> <a id="23596" class="Keyword">record</a> <a id="23603" class="Symbol">{</a> <a id="23605" href="Function.Bundles.html#2094" class="Field">to</a> <a id="23608" class="Symbol">=</a> <a id="23610" href="Monad.Instance.Setoids.K.html#23363" class="Function">helper-now₁</a> <a id="23622" class="Symbol">;</a> <a id="23624" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="23629" class="Symbol">=</a> <a id="23631" class="Symbol">λ</a> <a id="23633" class="Symbol">{</a> <a id="23635" class="Symbol">(</a><a id="23636" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now</a> <a id="23641" href="Monad.Instance.Setoids.K.html#23641" class="Bound">eq</a><a id="23643" class="Symbol">)</a> <a id="23647" class="Symbol"></a> <a id="23649" href="Data.Sum.Relation.Binary.Pointwise.html#1176" class="InductiveConstructor">inj₁</a> <a id="23654" class="Symbol">(</a><a id="23655" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now</a> <a id="23660" href="Monad.Instance.Setoids.K.html#23641" class="Bound">eq</a><a id="23662" class="Symbol">)</a>
<a id="23723" class="Symbol">;</a> <a id="23725" class="Symbol">(</a><a id="23726" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later</a> <a id="23733" href="Monad.Instance.Setoids.K.html#23733" class="Bound">eq</a><a id="23735" class="Symbol">)</a> <a id="23737" class="Symbol"></a> <a id="23739" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="23744" class="Symbol">(</a><a id="23745" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force</a> <a id="23752" href="Monad.Instance.Setoids.K.html#23733" class="Bound">eq</a><a id="23754" class="Symbol">)</a> <a id="23756" class="Symbol">}</a> <a id="23758" class="Symbol">}</a>
<a id="23769" href="Monad.Instance.Setoids.K.html#23769" class="Function">helper-eq&#39;</a> <a id="23780" class="Symbol">:</a> <a id="23782" class="Symbol"></a> <a id="23784" class="Symbol">{</a><a id="23785" href="Monad.Instance.Setoids.K.html#23785" class="Bound">x</a><a id="23786" class="Symbol">}</a> <a id="23788" class="Symbol"></a> <a id="23790" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">[</a> <a id="23792" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="23794" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a> <a id="23796" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="23798" href="Data.Sum.Relation.Binary.Pointwise.html#7477" class="Function Operator">⊎ₛ</a> <a id="23801" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ</a> <a id="23809" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a> <a id="23811" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">][</a> <a id="23814" class="Symbol">(</a><a id="23815" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="23817" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="23823" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="23825" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&lt;&lt;</a> <a id="23828" href="Monad.Instance.Setoids.K.html#22660" class="Bound">g</a> <a id="23830" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&gt;&gt;</a> <a id="23833" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="23835" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="23841" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="23844" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="23846" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="23848" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="23854" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="23856" href="Monad.Instance.Setoids.K.html#23237" class="Function">D⇒D≈</a> <a id="23862" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="23864" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="23870" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="23873" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="23875" href="Monad.Instance.Setoids.K.html#23521" class="Function">helper-now</a><a id="23885" class="Symbol">)</a> <a id="23887" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="23891" href="Monad.Instance.Setoids.K.html#23785" class="Bound">x</a>
<a id="23945" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator"></a> <a id="23947" class="Symbol">(</a><a id="23948" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="23950" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="23956" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="23958" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&lt;&lt;</a> <a id="23961" href="Monad.Instance.Setoids.K.html#22662" class="Bound">h</a> <a id="23963" href="Monad.Instance.Setoids.K.html#22114" class="Field Operator">&gt;&gt;</a> <a id="23966" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="23968" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="23974" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="23977" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="23979" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="23981" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="23987" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="23989" href="Monad.Instance.Setoids.K.html#23237" class="Function">D⇒D≈</a> <a id="23995" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="23997" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="24003" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="24006" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="24008" href="Monad.Instance.Setoids.K.html#23521" class="Function">helper-now</a><a id="24018" class="Symbol">)</a> <a id="24020" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="24024" href="Monad.Instance.Setoids.K.html#23785" class="Bound">x</a> <a id="24026" href="Monad.Instance.Setoids.K.html#2010" class="Field Operator">]</a>
<a id="24036" href="Monad.Instance.Setoids.K.html#23769" class="Function">helper-eq&#39;</a> <a id="24047" class="Symbol">{</a><a id="24048" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="24052" href="Monad.Instance.Setoids.K.html#24052" class="Bound">x</a><a id="24053" class="Symbol">}</a> <a id="24055" class="Symbol">=</a> <a id="24057" href="Data.Sum.Relation.Binary.Pointwise.html#1176" class="InductiveConstructor">inj₁</a> <a id="24062" class="Symbol">(</a><a id="24063" href="Monad.Instance.Setoids.K.html#2088" class="Function">≡-trans</a> <a id="24071" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="24073" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a> <a id="24075" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="24077" href="Monad.Instance.Setoids.K.html#22664" class="Bound">eqᵍ</a> <a id="24081" class="Symbol">(</a><a id="24082" href="Monad.Instance.Setoids.K.html#2072" class="Function">≡-sym</a> <a id="24088" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="24090" href="Monad.Instance.Setoids.K.html#22655" class="Bound">B</a> <a id="24092" href="Monad.Instance.Setoids.K.html#11290" class="Field Operator"></a> <a id="24094" href="Monad.Instance.Setoids.K.html#22668" class="Bound">eqʰ</a><a id="24097" class="Symbol">))</a>
<a id="24108" href="Monad.Instance.Setoids.K.html#23769" class="Function">helper-eq&#39;</a> <a id="24119" class="Symbol">{</a><a id="24120" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="24126" href="Monad.Instance.Setoids.K.html#24126" class="Bound">x</a><a id="24127" class="Symbol">}</a> <a id="24129" class="Symbol">=</a> <a id="24131" href="Data.Sum.Relation.Binary.Pointwise.html#1235" class="InductiveConstructor">inj₂</a> <a id="24136" class="Symbol">(</a><a id="24137" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">-refl</a> <a id="24144" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a><a id="24145" class="Symbol">)</a>
<a id="24156" href="Monad.Instance.Setoids.K.html#24156" class="Function">iter-id</a> <a id="24164" class="Symbol">:</a> <a id="24167" class="Symbol"></a> <a id="24169" class="Symbol">{</a><a id="24170" href="Monad.Instance.Setoids.K.html#24170" class="Bound">x</a><a id="24171" class="Symbol">}</a> <a id="24173" class="Symbol"></a> <a id="24175" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">[</a> <a id="24177" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a> <a id="24179" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">][</a> <a id="24182" href="Monad.Instance.Setoids.K.html#24170" class="Bound">x</a> <a id="24184" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator"></a> <a id="24187" href="Monad.Instance.Setoids.K.html#5699" class="Function">iterₛ</a> <a id="24193" class="Symbol">(</a><a id="24194" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="24196" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="24202" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="24204" href="Monad.Instance.Setoids.K.html#23237" class="Function">D⇒D≈</a> <a id="24210" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="24212" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="24218" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="24221" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="24223" href="Monad.Instance.Setoids.K.html#23521" class="Function">helper-now</a><a id="24233" class="Symbol">)</a> <a id="24235" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="24239" href="Monad.Instance.Setoids.K.html#24170" class="Bound">x</a> <a id="24241" href="Monad.Instance.Setoids.K.html#1841" class="Datatype Operator">]</a>
<a id="24251" href="Monad.Instance.Setoids.K.html#24251" class="Function">iter-id</a> <a id="24260" class="Symbol">:</a> <a id="24262" class="Symbol"></a> <a id="24264" class="Symbol">{</a><a id="24265" href="Monad.Instance.Setoids.K.html#24265" class="Bound">x</a><a id="24266" class="Symbol">}</a> <a id="24268" class="Symbol"></a> <a id="24270" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">[</a> <a id="24272" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a> <a id="24274" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">][</a> <a id="24277" href="Monad.Instance.Setoids.K.html#24265" class="Bound">x</a> <a id="24279" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">≈′</a> <a id="24282" href="Monad.Instance.Setoids.K.html#5699" class="Function">iterₛ</a> <a id="24288" class="Symbol">(</a><a id="24289" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">[</a> <a id="24291" href="Data.Sum.Function.Setoid.html#868" class="Function">inj₁ₛ</a> <a id="24297" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="24299" href="Monad.Instance.Setoids.K.html#23237" class="Function">D⇒D≈</a> <a id="24305" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">,</a> <a id="24307" href="Data.Sum.Function.Setoid.html#936" class="Function">inj₂ₛ</a> <a id="24313" href="Data.Sum.Function.Setoid.html#1004" class="Function Operator">]ₛ</a> <a id="24316" href="Monad.Instance.Setoids.K.html#478" class="Function Operator"></a> <a id="24318" href="Monad.Instance.Setoids.K.html#23521" class="Function">helper-now</a><a id="24328" class="Symbol">)</a> <a id="24330" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="24334" href="Monad.Instance.Setoids.K.html#24265" class="Bound">x</a> <a id="24336" href="Monad.Instance.Setoids.K.html#1859" class="Record Operator">]</a>
<a id="24346" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="24353" class="Symbol">(</a><a id="24354" href="Monad.Instance.Setoids.K.html#24251" class="Function">iter-id</a> <a id="24363" class="Symbol">{</a><a id="24364" href="Monad.Instance.Setoids.K.html#24364" class="Bound">x</a><a id="24365" class="Symbol">})</a> <a id="24368" class="Symbol">=</a> <a id="24370" href="Monad.Instance.Setoids.K.html#24156" class="Function">iter-id</a> <a id="24378" class="Symbol">{</a><a id="24379" href="Monad.Instance.Setoids.K.html#24364" class="Bound">x</a><a id="24380" class="Symbol">}</a>
<a id="24390" href="Monad.Instance.Setoids.K.html#24156" class="Function">iter-id</a> <a id="24398" class="Symbol">{</a><a id="24399" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="24403" href="Monad.Instance.Setoids.K.html#24403" class="Bound">x</a><a id="24404" class="Symbol">}</a> <a id="24406" class="Symbol">=</a> <a id="24408" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="24415" href="Monad.Instance.Setoids.K.html#22202" class="Bound">A</a>
<a id="24425" href="Monad.Instance.Setoids.K.html#24156" class="Function">iter-id</a> <a id="24433" class="Symbol">{</a><a id="24434" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="24440" href="Monad.Instance.Setoids.K.html#24440" class="Bound">x</a><a id="24441" class="Symbol">}</a> <a id="24443" class="Symbol">=</a> <a id="24445" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="24452" class="Symbol">(</a><a id="24453" href="Monad.Instance.Setoids.K.html#24251" class="Function">iter-id</a> <a id="24462" class="Symbol">{</a><a id="24463" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="24469" href="Monad.Instance.Setoids.K.html#24440" class="Bound">x</a><a id="24470" class="Symbol">})</a>
<a id="24476" class="Keyword">open</a> <a id="24481" href="Categories.Category.CartesianClosed.html#1233" class="Module">CartesianClosed</a> <a id="24497" class="Symbol">(</a><a id="24498" href="Categories.Category.Instance.Properties.Setoids.CCC.html#2117" class="Function">Setoids-CCC</a> <a id="24510" href="Monad.Instance.Setoids.K.html#1291" class="Bound"></a><a id="24511" class="Symbol">)</a> <a id="24513" class="Keyword">renaming</a> <a id="24522" class="Symbol">(</a><a id="24523" href="Categories.Category.CartesianClosed.html#1434" class="Field">exp</a> <a id="24527" class="Symbol">to</a> <a id="24530" class="Field">setoid-exp</a><a id="24540" class="Symbol">)</a>
<a id="24544" class="Keyword">open</a> <a id="24549" class="Keyword">import</a> <a id="24556" href="Algebra.Elgot.Properties.html" class="Module">Algebra.Elgot.Properties</a> <a id="24581" href="Category.Ambient.html#2762" class="Function">distributive</a> <a id="24594" href="Monad.Instance.Setoids.K.html#24530" class="Function">setoid-exp</a> <a id="24605" class="Keyword">using</a> <a id="24611" class="Symbol">(</a><a id="24612" href="Algebra.Elgot.Properties.html#4691" class="Function">free-isStable</a><a id="24625" class="Symbol">)</a>
<a id="delayK"></a><a id="24630" href="Monad.Instance.Setoids.K.html#24630" class="Function">delayK</a> <a id="24637" class="Symbol">:</a> <a id="24639" href="Monad.Instance.K.html#1123" class="Record">MonadK</a>
<a id="24648" href="Monad.Instance.Setoids.K.html#24630" class="Function">delayK</a> <a id="24655" class="Symbol">=</a> <a id="24657" class="Keyword">record</a> <a id="24664" class="Symbol">{</a> <a id="24666" href="Monad.Instance.K.html#1182" class="Field">freealgebras</a> <a id="24679" class="Symbol">=</a> <a id="24681" href="Monad.Instance.Setoids.K.html#22124" class="Function">freeAlgebra</a> <a id="24693" class="Symbol">;</a> <a id="24695" href="Monad.Instance.K.html#1228" class="Field">stable</a> <a id="24702" class="Symbol">=</a> <a id="24704" class="Symbol">λ</a> <a id="24706" href="Monad.Instance.Setoids.K.html#24706" class="Bound">X</a> <a id="24708" class="Symbol"></a> <a id="24710" href="Algebra.Elgot.Properties.html#4691" class="Function">free-isStable</a> <a id="24724" class="Symbol">(</a><a id="24725" href="Monad.Instance.Setoids.K.html#22124" class="Function">freeAlgebra</a> <a id="24737" href="Monad.Instance.Setoids.K.html#24706" class="Bound">X</a><a id="24738" class="Symbol">)</a> <a id="24740" class="Symbol">}</a>
</pre>