mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
490 lines
464 KiB
HTML
490 lines
464 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="generator" content="pandoc" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||
<title>Monad.Instance.Setoids.Delay</title>
|
||
<style>
|
||
code{white-space: pre-wrap;}
|
||
span.smallcaps{font-variant: small-caps;}
|
||
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
||
div.column{flex: auto; overflow-x: auto;}
|
||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||
/* The extra [class] is a hack that increases specificity enough to
|
||
override a similar rule in reveal.js */
|
||
ul.task-list[class]{list-style: none;}
|
||
ul.task-list li input[type="checkbox"] {
|
||
font-size: inherit;
|
||
width: 0.8em;
|
||
margin: 0 0.8em 0.2em -1.6em;
|
||
vertical-align: middle;
|
||
}
|
||
</style>
|
||
<link rel="stylesheet" href="Agda.css" />
|
||
<!--[if lt IE 9]>
|
||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
||
<![endif]-->
|
||
</head>
|
||
<body>
|
||
<pre class="Agda"><a id="10" class="Symbol">{-#</a> <a id="14" class="Keyword">OPTIONS</a> <a id="22" class="Pragma">--guardedness</a> <a id="36" class="Symbol">#-}</a>
|
||
|
||
<a id="41" class="Keyword">open</a> <a id="46" class="Keyword">import</a> <a id="53" href="Level.html" class="Module">Level</a> <a id="59" class="Keyword">renaming</a> <a id="68" class="Symbol">(</a><a id="69" href="Agda.Primitive.html#915" class="Primitive">zero</a> <a id="74" class="Symbol">to</a> <a id="77" class="Primitive">ℓ-zero</a><a id="83" class="Symbol">;</a> <a id="85" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="89" class="Symbol">to</a> <a id="92" class="Primitive">ℓ-suc</a><a id="97" class="Symbol">)</a>
|
||
<a id="99" class="Keyword">open</a> <a id="104" class="Keyword">import</a> <a id="111" href="Function.Bundles.html" class="Module">Function.Bundles</a> <a id="128" class="Keyword">using</a> <a id="134" class="Symbol">(</a><a id="135" href="Function.Bundles.html#15133" class="Function Operator">_⟨$⟩_</a><a id="140" class="Symbol">)</a> <a id="142" class="Keyword">renaming</a> <a id="151" class="Symbol">(</a><a id="152" href="Function.Bundles.html#2043" class="Record">Func</a> <a id="157" class="Symbol">to</a> <a id="160" class="Record">_⟶_</a><a id="163" class="Symbol">)</a>
|
||
<a id="165" class="Keyword">open</a> <a id="170" class="Keyword">import</a> <a id="177" href="Function.Construct.Identity.html" class="Module">Function.Construct.Identity</a> <a id="205" class="Keyword">renaming</a> <a id="214" class="Symbol">(</a><a id="215" href="Function.Construct.Identity.html#2813" class="Function">function</a> <a id="224" class="Symbol">to</a> <a id="227" class="Function">idₛ</a><a id="230" class="Symbol">)</a>
|
||
<a id="232" class="Keyword">open</a> <a id="237" class="Keyword">import</a> <a id="244" href="Function.Construct.Setoid.html" class="Module">Function.Construct.Setoid</a> <a id="270" class="Keyword">renaming</a> <a id="279" class="Symbol">(</a><a id="280" href="Function.Construct.Setoid.html#376" class="Function">setoid</a> <a id="287" class="Symbol">to</a> <a id="290" class="Function">_⇨_</a><a id="293" class="Symbol">;</a> <a id="295" href="Function.Construct.Setoid.html#888" class="Function Operator">_∙_</a> <a id="299" class="Symbol">to</a> <a id="302" class="Function Operator">_∘_</a><a id="305" class="Symbol">)</a>
|
||
<a id="307" class="Keyword">open</a> <a id="312" class="Keyword">import</a> <a id="319" href="Relation.Binary.html" class="Module">Relation.Binary</a>
|
||
<a id="335" class="Keyword">open</a> <a id="340" class="Keyword">import</a> <a id="347" href="Data.Sum.html" class="Module">Data.Sum</a> <a id="356" class="Keyword">using</a> <a id="362" class="Symbol">(</a><a id="363" href="Data.Sum.Base.html#625" class="Datatype Operator">_⊎_</a><a id="366" class="Symbol">;</a> <a id="368" href="Data.Sum.Base.html#675" class="InductiveConstructor">inj₁</a><a id="372" class="Symbol">;</a> <a id="374" href="Data.Sum.Base.html#700" class="InductiveConstructor">inj₂</a><a id="378" class="Symbol">)</a>
|
||
<a id="380" class="Keyword">import</a> <a id="387" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a> <a id="425" class="Symbol">as</a> <a id="428" class="Module">Eq</a>
|
||
<a id="431" class="Keyword">open</a> <a id="436" href="Relation.Binary.PropositionalEquality.html" class="Module">Eq</a> <a id="439" class="Keyword">using</a> <a id="445" class="Symbol">(</a><a id="446" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a><a id="449" class="Symbol">)</a>
|
||
<a id="451" class="Keyword">open</a> <a id="456" class="Keyword">import</a> <a id="463" href="Function.html" class="Module">Function</a> <a id="472" class="Keyword">using</a> <a id="478" class="Symbol">(</a><a id="479" href="Function.Base.html#704" class="Function">id</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="Categories.Monad.html" class="Module">Categories.Monad</a>
|
||
<a id="512" class="Keyword">open</a> <a id="517" class="Keyword">import</a> <a id="524" href="Categories.Category.Instance.Setoids.html" class="Module">Categories.Category.Instance.Setoids</a>
|
||
<a id="561" class="Keyword">open</a> <a id="566" class="Keyword">import</a> <a id="573" href="Categories.NaturalTransformation.html" class="Module">Categories.NaturalTransformation</a> <a id="606" class="Keyword">hiding</a> <a id="613" class="Symbol">(</a><a id="614" href="Categories.NaturalTransformation.Core.html#2132" class="Function">id</a><a id="616" class="Symbol">)</a>
|
||
<a id="618" class="Keyword">open</a> <a id="623" class="Keyword">import</a> <a id="630" href="Data.Product.html" class="Module">Data.Product</a>
|
||
<a id="643" class="Keyword">open</a> <a id="648" class="Keyword">import</a> <a id="655" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html" class="Module">Data.Product.Relation.Binary.Pointwise.NonDependent</a>
|
||
<a id="707" class="Keyword">open</a> <a id="712" class="Keyword">import</a> <a id="719" href="Category.Ambient.Setoids.html" class="Module">Category.Ambient.Setoids</a>
|
||
|
||
<a id="745" class="Keyword">module</a> <a id="752" href="Monad.Instance.Setoids.Delay.html" class="Module">Monad.Instance.Setoids.Delay</a> <a id="781" class="Symbol">{</a><a id="782" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="784" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="785" class="Symbol">}</a> <a id="787" class="Keyword">where</a>
|
||
|
||
<a id="794" class="Keyword">open</a> <a id="799" href="Relation.Binary.Bundles.html#1080" class="Module">Setoid</a> <a id="806" class="Keyword">using</a> <a id="812" class="Symbol">()</a> <a id="815" class="Keyword">renaming</a> <a id="824" class="Symbol">(</a><a id="825" href="Relation.Binary.Bundles.html#1143" class="Field">Carrier</a> <a id="833" class="Symbol">to</a> <a id="836" class="Field">∣_∣</a><a id="839" class="Symbol">;</a> <a id="841" href="Relation.Binary.Bundles.html#1169" class="Field Operator">_≈_</a> <a id="845" class="Symbol">to</a> <a id="848" class="Field Operator">[_][_≡_]</a><a id="856" class="Symbol">)</a>
|
||
<a id="858" class="Keyword">open</a> <a id="863" class="Keyword">module</a> <a id="eq"></a><a id="870" href="Monad.Instance.Setoids.Delay.html#870" class="Module">eq</a> <a id="873" class="Symbol">(</a><a id="874" href="Monad.Instance.Setoids.Delay.html#874" class="Bound">S</a> <a id="876" class="Symbol">:</a> <a id="878" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="885" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="887" class="Symbol">(</a><a id="888" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="890" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="892" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="893" class="Symbol">))</a> <a id="896" class="Symbol">=</a> <a id="898" href="Relation.Binary.Structures.html#1550" class="Module">IsEquivalence</a> <a id="912" class="Symbol">(</a><a id="913" href="Relation.Binary.Bundles.html#1203" class="Field">Setoid.isEquivalence</a> <a id="934" href="Monad.Instance.Setoids.Delay.html#874" class="Bound">S</a><a id="935" class="Symbol">)</a> <a id="937" class="Keyword">using</a> <a id="943" class="Symbol">()</a> <a id="946" class="Keyword">renaming</a> <a id="955" class="Symbol">(</a><a id="956" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="961" class="Symbol">to</a> <a id="964" class="Function">≡-refl</a><a id="970" class="Symbol">;</a> <a id="972" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="976" class="Symbol">to</a> <a id="979" class="Function">≡-sym</a><a id="984" class="Symbol">;</a> <a id="986" href="Relation.Binary.Structures.html#1648" class="Function">trans</a> <a id="992" class="Symbol">to</a> <a id="995" class="Function">≡-trans</a><a id="1002" class="Symbol">)</a>
|
||
|
||
|
||
<a id="1006" class="Keyword">mutual</a>
|
||
|
||
<a id="1016" class="Keyword">data</a> <a id="Delay"></a><a id="1021" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="1027" class="Symbol">(</a><a id="1028" href="Monad.Instance.Setoids.Delay.html#1028" class="Bound">A</a> <a id="1030" class="Symbol">:</a> <a id="1032" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1036" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="1037" class="Symbol">)</a> <a id="1039" class="Symbol">:</a> <a id="1041" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1045" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="1047" class="Keyword">where</a>
|
||
<a id="Delay.now"></a><a id="1057" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="1063" class="Symbol">:</a> <a id="1065" href="Monad.Instance.Setoids.Delay.html#1028" class="Bound">A</a> <a id="1074" class="Symbol">→</a> <a id="1076" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="1082" href="Monad.Instance.Setoids.Delay.html#1028" class="Bound">A</a>
|
||
<a id="Delay.later"></a><a id="1088" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="1094" class="Symbol">:</a> <a id="1096" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="1103" href="Monad.Instance.Setoids.Delay.html#1028" class="Bound">A</a> <a id="1105" class="Symbol">→</a> <a id="1107" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="1113" href="Monad.Instance.Setoids.Delay.html#1028" class="Bound">A</a>
|
||
|
||
<a id="1118" class="Keyword">record</a> <a id="Delay′"></a><a id="1125" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="1132" class="Symbol">(</a><a id="1133" href="Monad.Instance.Setoids.Delay.html#1133" class="Bound">A</a> <a id="1135" class="Symbol">:</a> <a id="1137" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1141" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="1142" class="Symbol">)</a> <a id="1144" class="Symbol">:</a> <a id="1146" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1150" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="1152" class="Keyword">where</a>
|
||
<a id="1162" class="Keyword">coinductive</a>
|
||
<a id="1178" class="Keyword">field</a>
|
||
<a id="Delay′.force"></a><a id="1190" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="1196" class="Symbol">:</a> <a id="1198" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="1204" href="Monad.Instance.Setoids.Delay.html#1133" class="Bound">A</a>
|
||
|
||
<a id="1207" class="Keyword">open</a> <a id="1212" href="Monad.Instance.Setoids.Delay.html#1125" class="Module">Delay′</a> <a id="1219" class="Keyword">public</a>
|
||
|
||
<a id="1227" class="Keyword">module</a> <a id="Bisimilarity"></a><a id="1234" href="Monad.Instance.Setoids.Delay.html#1234" class="Module">Bisimilarity</a> <a id="1247" class="Symbol">(</a><a id="1248" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="1250" class="Symbol">:</a> <a id="1252" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="1259" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="1261" class="Symbol">(</a><a id="1262" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="1264" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1266" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="1267" class="Symbol">))</a> <a id="1270" class="Keyword">where</a>
|
||
|
||
<a id="Bisimilarity.never"></a><a id="1279" href="Monad.Instance.Setoids.Delay.html#1279" class="Function">never</a> <a id="1285" class="Symbol">:</a> <a id="1287" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="1293" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="1295" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="1297" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a>
|
||
<a id="Bisimilarity.never′"></a><a id="1301" href="Monad.Instance.Setoids.Delay.html#1301" class="Function">never′</a> <a id="1308" class="Symbol">:</a> <a id="1310" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="1317" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="1319" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="1321" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a>
|
||
|
||
<a id="1326" href="Monad.Instance.Setoids.Delay.html#1279" class="Function">never</a> <a id="1332" class="Symbol">=</a> <a id="1334" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="1340" href="Monad.Instance.Setoids.Delay.html#1301" class="Function">never′</a>
|
||
<a id="1349" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="1355" href="Monad.Instance.Setoids.Delay.html#1301" class="Function">never′</a> <a id="1362" class="Symbol">=</a> <a id="1364" href="Monad.Instance.Setoids.Delay.html#1279" class="Function">never</a>
|
||
|
||
<a id="1373" class="Comment">-- Removes a later constructor, if possible.</a>
|
||
|
||
<a id="Bisimilarity.drop-later"></a><a id="1421" href="Monad.Instance.Setoids.Delay.html#1421" class="Function">drop-later</a> <a id="1432" class="Symbol">:</a> <a id="1434" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="1440" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="1442" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="1444" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="1446" class="Symbol">→</a> <a id="1448" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="1454" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="1456" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="1458" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a>
|
||
<a id="1462" href="Monad.Instance.Setoids.Delay.html#1421" class="Function">drop-later</a> <a id="1473" class="Symbol">(</a><a id="1474" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="1480" href="Monad.Instance.Setoids.Delay.html#1480" class="Bound">x</a><a id="1481" class="Symbol">)</a> <a id="1483" class="Symbol">=</a> <a id="1485" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="1489" href="Monad.Instance.Setoids.Delay.html#1480" class="Bound">x</a>
|
||
<a id="1493" href="Monad.Instance.Setoids.Delay.html#1421" class="Function">drop-later</a> <a id="1504" class="Symbol">(</a><a id="1505" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="1511" href="Monad.Instance.Setoids.Delay.html#1511" class="Bound">x</a><a id="1512" class="Symbol">)</a> <a id="1514" class="Symbol">=</a> <a id="1516" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="1522" href="Monad.Instance.Setoids.Delay.html#1511" class="Bound">x</a>
|
||
|
||
<a id="1527" class="Keyword">mutual</a>
|
||
|
||
<a id="1539" class="Comment">-- adapted from https://www.cse.chalmers.se/∼nad/listings/delay-monad/Delay-monad.Bisimilarity.html</a>
|
||
|
||
<a id="1648" class="Keyword">data</a> <a id="Bisimilarity._∼_"></a><a id="1653" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">_∼_</a> <a id="1657" class="Symbol">:</a> <a id="1659" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="1665" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="1667" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="1669" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="1671" class="Symbol">→</a> <a id="1673" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="1679" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="1681" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="1683" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="1685" class="Symbol">→</a> <a id="1687" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1691" class="Symbol">(</a><a id="1692" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="1694" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1696" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="1697" class="Symbol">)</a> <a id="1699" class="Keyword">where</a>
|
||
<a id="Bisimilarity._∼_.now∼"></a><a id="1711" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="1719" class="Symbol">:</a> <a id="1721" class="Symbol">∀</a> <a id="1723" class="Symbol">{</a><a id="1724" href="Monad.Instance.Setoids.Delay.html#1724" class="Bound">x</a> <a id="1726" href="Monad.Instance.Setoids.Delay.html#1726" class="Bound">y</a><a id="1727" class="Symbol">}</a> <a id="1729" class="Symbol">→</a> <a id="1731" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">[</a> <a id="1733" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="1735" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">][</a> <a id="1738" href="Monad.Instance.Setoids.Delay.html#1724" class="Bound">x</a> <a id="1740" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">≡</a> <a id="1742" href="Monad.Instance.Setoids.Delay.html#1726" class="Bound">y</a> <a id="1744" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">]</a> <a id="1746" class="Symbol">→</a> <a id="1748" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="1752" href="Monad.Instance.Setoids.Delay.html#1724" class="Bound">x</a> <a id="1754" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">∼</a> <a id="1756" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="1760" href="Monad.Instance.Setoids.Delay.html#1726" class="Bound">y</a>
|
||
<a id="Bisimilarity._∼_.later∼"></a><a id="1768" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="1776" class="Symbol">:</a> <a id="1778" class="Symbol">∀</a> <a id="1780" class="Symbol">{</a><a id="1781" href="Monad.Instance.Setoids.Delay.html#1781" class="Bound">x</a> <a id="1783" href="Monad.Instance.Setoids.Delay.html#1783" class="Bound">y</a><a id="1784" class="Symbol">}</a> <a id="1786" class="Symbol">→</a> <a id="1788" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="1794" href="Monad.Instance.Setoids.Delay.html#1781" class="Bound">x</a> <a id="1796" href="Monad.Instance.Setoids.Delay.html#1839" class="Record Operator">∼′</a> <a id="1799" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="1805" href="Monad.Instance.Setoids.Delay.html#1783" class="Bound">y</a> <a id="1807" class="Symbol">→</a> <a id="1809" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="1815" href="Monad.Instance.Setoids.Delay.html#1781" class="Bound">x</a> <a id="1817" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">∼</a> <a id="1819" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="1825" href="Monad.Instance.Setoids.Delay.html#1783" class="Bound">y</a>
|
||
|
||
<a id="1832" class="Keyword">record</a> <a id="Bisimilarity._∼′_"></a><a id="1839" href="Monad.Instance.Setoids.Delay.html#1839" class="Record Operator">_∼′_</a> <a id="1844" class="Symbol">(</a><a id="1845" href="Monad.Instance.Setoids.Delay.html#1845" class="Bound">x</a> <a id="1847" href="Monad.Instance.Setoids.Delay.html#1847" class="Bound">y</a> <a id="1849" class="Symbol">:</a> <a id="1851" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="1857" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="1859" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="1861" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="1862" class="Symbol">)</a> <a id="1864" class="Symbol">:</a> <a id="1866" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1870" class="Symbol">(</a><a id="1871" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="1873" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1875" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="1876" class="Symbol">)</a> <a id="1878" class="Keyword">where</a>
|
||
<a id="1890" class="Keyword">coinductive</a>
|
||
|
||
<a id="1915" class="Keyword">field</a>
|
||
<a id="Bisimilarity._∼′_.force∼"></a><a id="1929" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="1936" class="Symbol">:</a> <a id="1938" href="Monad.Instance.Setoids.Delay.html#1845" class="Bound">x</a> <a id="1940" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">∼</a> <a id="1942" href="Monad.Instance.Setoids.Delay.html#1847" class="Bound">y</a>
|
||
|
||
<a id="1947" class="Keyword">open</a> <a id="1952" href="Monad.Instance.Setoids.Delay.html#1839" class="Module Operator">_∼′_</a> <a id="1957" class="Keyword">public</a>
|
||
|
||
<a id="1967" class="Comment">-- strong bisimilarity of now and later leads to a clash</a>
|
||
<a id="Bisimilarity.now∼later"></a><a id="2026" href="Monad.Instance.Setoids.Delay.html#2026" class="Function">now∼later</a> <a id="2036" class="Symbol">:</a> <a id="2038" class="Symbol">∀</a> <a id="2040" class="Symbol">{</a><a id="2041" href="Monad.Instance.Setoids.Delay.html#2041" class="Bound">ℓ'</a><a id="2043" class="Symbol">}{</a><a id="2045" href="Monad.Instance.Setoids.Delay.html#2045" class="Bound">Z</a> <a id="2047" class="Symbol">:</a> <a id="2049" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2053" href="Monad.Instance.Setoids.Delay.html#2041" class="Bound">ℓ'</a><a id="2055" class="Symbol">}{</a><a id="2057" href="Monad.Instance.Setoids.Delay.html#2057" class="Bound">x</a> <a id="2059" class="Symbol">:</a> <a id="2061" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2063" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2065" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="2066" class="Symbol">}{</a><a id="2068" href="Monad.Instance.Setoids.Delay.html#2068" class="Bound">y</a> <a id="2070" class="Symbol">:</a> <a id="2072" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="2079" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2081" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2083" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="2084" class="Symbol">}</a> <a id="2086" class="Symbol">→</a> <a id="2088" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="2092" href="Monad.Instance.Setoids.Delay.html#2057" class="Bound">x</a> <a id="2094" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">∼</a> <a id="2096" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="2102" href="Monad.Instance.Setoids.Delay.html#2068" class="Bound">y</a> <a id="2104" class="Symbol">→</a> <a id="2106" href="Monad.Instance.Setoids.Delay.html#2045" class="Bound">Z</a>
|
||
<a id="2110" href="Monad.Instance.Setoids.Delay.html#2026" class="Function">now∼later</a> <a id="2120" class="Symbol">()</a>
|
||
|
||
<a id="Bisimilarity.∼-refl"></a><a id="2126" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">∼-refl</a> <a id="2134" class="Symbol">:</a> <a id="2136" class="Symbol">∀</a> <a id="2138" class="Symbol">{</a><a id="2139" href="Monad.Instance.Setoids.Delay.html#2139" class="Bound">x</a> <a id="2141" class="Symbol">:</a> <a id="2143" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="2149" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2151" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2153" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="2154" class="Symbol">}</a> <a id="2156" class="Symbol">→</a> <a id="2158" href="Monad.Instance.Setoids.Delay.html#2139" class="Bound">x</a> <a id="2160" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">∼</a> <a id="2162" href="Monad.Instance.Setoids.Delay.html#2139" class="Bound">x</a>
|
||
<a id="Bisimilarity.∼′-refl"></a><a id="2166" href="Monad.Instance.Setoids.Delay.html#2166" class="Function">∼′-refl</a> <a id="2174" class="Symbol">:</a> <a id="2176" class="Symbol">∀</a> <a id="2178" class="Symbol">{</a><a id="2179" href="Monad.Instance.Setoids.Delay.html#2179" class="Bound">x</a> <a id="2181" class="Symbol">:</a> <a id="2183" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="2189" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2191" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2193" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="2194" class="Symbol">}</a> <a id="2196" class="Symbol">→</a> <a id="2198" href="Monad.Instance.Setoids.Delay.html#2179" class="Bound">x</a> <a id="2200" href="Monad.Instance.Setoids.Delay.html#1839" class="Record Operator">∼′</a> <a id="2203" href="Monad.Instance.Setoids.Delay.html#2179" class="Bound">x</a>
|
||
|
||
<a id="2208" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">∼-refl</a> <a id="2215" class="Symbol">{</a><a id="2216" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="2220" href="Monad.Instance.Setoids.Delay.html#2220" class="Bound">x</a><a id="2221" class="Symbol">}</a> <a id="2225" class="Symbol">=</a> <a id="2227" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="2232" class="Symbol">(</a><a id="2233" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="2240" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a><a id="2241" class="Symbol">)</a>
|
||
<a id="2246" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">∼-refl</a> <a id="2253" class="Symbol">{</a><a id="2254" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="2260" href="Monad.Instance.Setoids.Delay.html#2260" class="Bound">x</a><a id="2261" class="Symbol">}</a> <a id="2263" class="Symbol">=</a> <a id="2265" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="2272" href="Monad.Instance.Setoids.Delay.html#2166" class="Function">∼′-refl</a>
|
||
|
||
<a id="2283" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="2290" class="Symbol">(</a><a id="2291" href="Monad.Instance.Setoids.Delay.html#2166" class="Function">∼′-refl</a> <a id="2299" class="Symbol">{</a><a id="2300" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="2304" href="Monad.Instance.Setoids.Delay.html#2304" class="Bound">x</a><a id="2305" class="Symbol">})</a> <a id="2310" class="Symbol">=</a> <a id="2312" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="2317" class="Symbol">(</a><a id="2318" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="2325" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a><a id="2326" class="Symbol">)</a>
|
||
<a id="2330" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="2337" class="Symbol">(</a><a id="2338" href="Monad.Instance.Setoids.Delay.html#2166" class="Function">∼′-refl</a> <a id="2346" class="Symbol">{</a><a id="2347" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="2353" href="Monad.Instance.Setoids.Delay.html#2353" class="Bound">x</a><a id="2354" class="Symbol">})</a> <a id="2357" class="Symbol">=</a> <a id="2359" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="2366" href="Monad.Instance.Setoids.Delay.html#2166" class="Function">∼′-refl</a>
|
||
|
||
<a id="Bisimilarity.∼-sym"></a><a id="2377" href="Monad.Instance.Setoids.Delay.html#2377" class="Function">∼-sym</a> <a id="2384" class="Symbol">:</a> <a id="2386" class="Symbol">∀</a> <a id="2388" class="Symbol">{</a><a id="2389" href="Monad.Instance.Setoids.Delay.html#2389" class="Bound">x</a> <a id="2391" href="Monad.Instance.Setoids.Delay.html#2391" class="Bound">y</a> <a id="2393" class="Symbol">:</a> <a id="2395" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="2401" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2403" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2405" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="2406" class="Symbol">}</a> <a id="2408" class="Symbol">→</a> <a id="2410" href="Monad.Instance.Setoids.Delay.html#2389" class="Bound">x</a> <a id="2412" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">∼</a> <a id="2414" href="Monad.Instance.Setoids.Delay.html#2391" class="Bound">y</a> <a id="2416" class="Symbol">→</a> <a id="2418" href="Monad.Instance.Setoids.Delay.html#2391" class="Bound">y</a> <a id="2420" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">∼</a> <a id="2422" href="Monad.Instance.Setoids.Delay.html#2389" class="Bound">x</a>
|
||
<a id="Bisimilarity.∼′-sym"></a><a id="2426" href="Monad.Instance.Setoids.Delay.html#2426" class="Function">∼′-sym</a> <a id="2433" class="Symbol">:</a> <a id="2435" class="Symbol">∀</a> <a id="2437" class="Symbol">{</a><a id="2438" href="Monad.Instance.Setoids.Delay.html#2438" class="Bound">x</a> <a id="2440" href="Monad.Instance.Setoids.Delay.html#2440" class="Bound">y</a> <a id="2442" class="Symbol">:</a> <a id="2444" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="2450" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2452" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2454" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="2455" class="Symbol">}</a> <a id="2457" class="Symbol">→</a> <a id="2459" href="Monad.Instance.Setoids.Delay.html#2438" class="Bound">x</a> <a id="2461" href="Monad.Instance.Setoids.Delay.html#1839" class="Record Operator">∼′</a> <a id="2464" href="Monad.Instance.Setoids.Delay.html#2440" class="Bound">y</a> <a id="2466" class="Symbol">→</a> <a id="2468" href="Monad.Instance.Setoids.Delay.html#2440" class="Bound">y</a> <a id="2470" href="Monad.Instance.Setoids.Delay.html#1839" class="Record Operator">∼′</a> <a id="2473" href="Monad.Instance.Setoids.Delay.html#2438" class="Bound">x</a>
|
||
|
||
<a id="2478" href="Monad.Instance.Setoids.Delay.html#2377" class="Function">∼-sym</a> <a id="2484" class="Symbol">(</a><a id="2485" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="2490" href="Monad.Instance.Setoids.Delay.html#2490" class="Bound">x≡y</a><a id="2493" class="Symbol">)</a> <a id="2495" class="Symbol">=</a> <a id="2497" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="2502" class="Symbol">(</a><a id="2503" href="Monad.Instance.Setoids.Delay.html#979" class="Function">≡-sym</a> <a id="2509" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2511" href="Monad.Instance.Setoids.Delay.html#2490" class="Bound">x≡y</a><a id="2514" class="Symbol">)</a>
|
||
<a id="2518" href="Monad.Instance.Setoids.Delay.html#2377" class="Function">∼-sym</a> <a id="2524" class="Symbol">(</a><a id="2525" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="2532" href="Monad.Instance.Setoids.Delay.html#2532" class="Bound">fx∼fy</a><a id="2537" class="Symbol">)</a> <a id="2539" class="Symbol">=</a> <a id="2541" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="2548" class="Symbol">(</a><a id="2549" href="Monad.Instance.Setoids.Delay.html#2426" class="Function">∼′-sym</a> <a id="2556" href="Monad.Instance.Setoids.Delay.html#2532" class="Bound">fx∼fy</a><a id="2561" class="Symbol">)</a>
|
||
|
||
<a id="2566" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="2573" class="Symbol">(</a><a id="2574" href="Monad.Instance.Setoids.Delay.html#2426" class="Function">∼′-sym</a> <a id="2581" href="Monad.Instance.Setoids.Delay.html#2581" class="Bound">x∼′y</a><a id="2585" class="Symbol">)</a> <a id="2587" class="Symbol">=</a> <a id="2589" href="Monad.Instance.Setoids.Delay.html#2377" class="Function">∼-sym</a> <a id="2595" class="Symbol">(</a><a id="2596" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="2603" href="Monad.Instance.Setoids.Delay.html#2581" class="Bound">x∼′y</a><a id="2607" class="Symbol">)</a>
|
||
|
||
<a id="Bisimilarity.∼-trans"></a><a id="2612" href="Monad.Instance.Setoids.Delay.html#2612" class="Function">∼-trans</a> <a id="2621" class="Symbol">:</a> <a id="2623" class="Symbol">∀</a> <a id="2625" class="Symbol">{</a><a id="2626" href="Monad.Instance.Setoids.Delay.html#2626" class="Bound">x</a> <a id="2628" href="Monad.Instance.Setoids.Delay.html#2628" class="Bound">y</a> <a id="2630" href="Monad.Instance.Setoids.Delay.html#2630" class="Bound">z</a> <a id="2632" class="Symbol">:</a> <a id="2634" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="2640" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2642" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2644" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="2645" class="Symbol">}</a> <a id="2647" class="Symbol">→</a> <a id="2649" href="Monad.Instance.Setoids.Delay.html#2626" class="Bound">x</a> <a id="2651" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">∼</a> <a id="2653" href="Monad.Instance.Setoids.Delay.html#2628" class="Bound">y</a> <a id="2655" class="Symbol">→</a> <a id="2657" href="Monad.Instance.Setoids.Delay.html#2628" class="Bound">y</a> <a id="2659" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">∼</a> <a id="2661" href="Monad.Instance.Setoids.Delay.html#2630" class="Bound">z</a> <a id="2663" class="Symbol">→</a> <a id="2665" href="Monad.Instance.Setoids.Delay.html#2626" class="Bound">x</a> <a id="2667" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">∼</a> <a id="2669" href="Monad.Instance.Setoids.Delay.html#2630" class="Bound">z</a>
|
||
<a id="Bisimilarity.∼′-trans"></a><a id="2673" href="Monad.Instance.Setoids.Delay.html#2673" class="Function">∼′-trans</a> <a id="2682" class="Symbol">:</a> <a id="2684" class="Symbol">∀</a> <a id="2686" class="Symbol">{</a><a id="2687" href="Monad.Instance.Setoids.Delay.html#2687" class="Bound">x</a> <a id="2689" href="Monad.Instance.Setoids.Delay.html#2689" class="Bound">y</a> <a id="2691" href="Monad.Instance.Setoids.Delay.html#2691" class="Bound">z</a> <a id="2693" class="Symbol">:</a> <a id="2695" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="2701" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2703" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2705" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="2706" class="Symbol">}</a> <a id="2708" class="Symbol">→</a> <a id="2710" href="Monad.Instance.Setoids.Delay.html#2687" class="Bound">x</a> <a id="2712" href="Monad.Instance.Setoids.Delay.html#1839" class="Record Operator">∼′</a> <a id="2715" href="Monad.Instance.Setoids.Delay.html#2689" class="Bound">y</a> <a id="2717" class="Symbol">→</a> <a id="2719" href="Monad.Instance.Setoids.Delay.html#2689" class="Bound">y</a> <a id="2721" href="Monad.Instance.Setoids.Delay.html#1839" class="Record Operator">∼′</a> <a id="2724" href="Monad.Instance.Setoids.Delay.html#2691" class="Bound">z</a> <a id="2726" class="Symbol">→</a> <a id="2728" href="Monad.Instance.Setoids.Delay.html#2687" class="Bound">x</a> <a id="2730" href="Monad.Instance.Setoids.Delay.html#1839" class="Record Operator">∼′</a> <a id="2733" href="Monad.Instance.Setoids.Delay.html#2691" class="Bound">z</a>
|
||
|
||
<a id="2738" href="Monad.Instance.Setoids.Delay.html#2612" class="Function">∼-trans</a> <a id="2746" class="Symbol">(</a><a id="2747" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="2752" href="Monad.Instance.Setoids.Delay.html#2752" class="Bound">x≡y</a><a id="2755" class="Symbol">)</a> <a id="2757" class="Symbol">(</a><a id="2758" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="2763" href="Monad.Instance.Setoids.Delay.html#2763" class="Bound">y≡z</a><a id="2766" class="Symbol">)</a> <a id="2768" class="Symbol">=</a> <a id="2770" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="2775" class="Symbol">(</a><a id="2776" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="2784" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2786" href="Monad.Instance.Setoids.Delay.html#2752" class="Bound">x≡y</a> <a id="2790" href="Monad.Instance.Setoids.Delay.html#2763" class="Bound">y≡z</a><a id="2793" class="Symbol">)</a>
|
||
<a id="2797" href="Monad.Instance.Setoids.Delay.html#2612" class="Function">∼-trans</a> <a id="2805" class="Symbol">(</a><a id="2806" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="2813" href="Monad.Instance.Setoids.Delay.html#2813" class="Bound">x∼y</a><a id="2816" class="Symbol">)</a> <a id="2818" class="Symbol">(</a><a id="2819" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="2826" href="Monad.Instance.Setoids.Delay.html#2826" class="Bound">y∼z</a><a id="2829" class="Symbol">)</a> <a id="2831" class="Symbol">=</a> <a id="2833" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="2840" class="Symbol">(</a><a id="2841" href="Monad.Instance.Setoids.Delay.html#2673" class="Function">∼′-trans</a> <a id="2850" href="Monad.Instance.Setoids.Delay.html#2813" class="Bound">x∼y</a> <a id="2854" href="Monad.Instance.Setoids.Delay.html#2826" class="Bound">y∼z</a><a id="2857" class="Symbol">)</a>
|
||
|
||
<a id="2862" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="2869" class="Symbol">(</a><a id="2870" href="Monad.Instance.Setoids.Delay.html#2673" class="Function">∼′-trans</a> <a id="2879" href="Monad.Instance.Setoids.Delay.html#2879" class="Bound">x∼y</a> <a id="2883" href="Monad.Instance.Setoids.Delay.html#2883" class="Bound">y∼z</a><a id="2886" class="Symbol">)</a> <a id="2888" class="Symbol">=</a> <a id="2890" href="Monad.Instance.Setoids.Delay.html#2612" class="Function">∼-trans</a> <a id="2898" class="Symbol">(</a><a id="2899" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="2906" href="Monad.Instance.Setoids.Delay.html#2879" class="Bound">x∼y</a><a id="2909" class="Symbol">)</a> <a id="2911" class="Symbol">(</a><a id="2912" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="2919" href="Monad.Instance.Setoids.Delay.html#2883" class="Bound">y∼z</a><a id="2922" class="Symbol">)</a>
|
||
|
||
<a id="2927" class="Keyword">data</a> <a id="Bisimilarity._↓_"></a><a id="2932" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">_↓_</a> <a id="2936" class="Symbol">:</a> <a id="2938" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="2944" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2946" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2948" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2950" class="Symbol">→</a> <a id="2952" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2954" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="2956" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="2958" class="Symbol">→</a> <a id="2960" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2964" class="Symbol">(</a><a id="2965" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="2967" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2969" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="2970" class="Symbol">)</a> <a id="2972" class="Keyword">where</a>
|
||
<a id="Bisimilarity._↓_.now↓"></a><a id="2982" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="2989" class="Symbol">:</a> <a id="2991" class="Symbol">∀</a> <a id="2993" class="Symbol">{</a><a id="2994" href="Monad.Instance.Setoids.Delay.html#2994" class="Bound">x</a> <a id="2996" href="Monad.Instance.Setoids.Delay.html#2996" class="Bound">y</a><a id="2997" class="Symbol">}</a> <a id="2999" class="Symbol">(</a><a id="3000" href="Monad.Instance.Setoids.Delay.html#3000" class="Bound">x≡y</a> <a id="3004" class="Symbol">:</a> <a id="3006" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">[</a> <a id="3008" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3010" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">][</a> <a id="3013" href="Monad.Instance.Setoids.Delay.html#2994" class="Bound">x</a> <a id="3015" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">≡</a> <a id="3017" href="Monad.Instance.Setoids.Delay.html#2996" class="Bound">y</a> <a id="3019" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">]</a><a id="3020" class="Symbol">)</a> <a id="3022" class="Symbol">→</a> <a id="3024" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="3028" href="Monad.Instance.Setoids.Delay.html#2994" class="Bound">x</a> <a id="3030" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="3032" href="Monad.Instance.Setoids.Delay.html#2996" class="Bound">y</a>
|
||
<a id="Bisimilarity._↓_.later↓"></a><a id="3038" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="3045" class="Symbol">:</a> <a id="3047" class="Symbol">∀</a> <a id="3049" class="Symbol">{</a><a id="3050" href="Monad.Instance.Setoids.Delay.html#3050" class="Bound">x</a> <a id="3052" href="Monad.Instance.Setoids.Delay.html#3052" class="Bound">y</a><a id="3053" class="Symbol">}</a> <a id="3055" class="Symbol">(</a><a id="3056" href="Monad.Instance.Setoids.Delay.html#3056" class="Bound">x↓y</a> <a id="3060" class="Symbol">:</a> <a id="3062" class="Symbol">(</a><a id="3063" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="3069" href="Monad.Instance.Setoids.Delay.html#3050" class="Bound">x</a><a id="3070" class="Symbol">)</a> <a id="3072" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="3074" href="Monad.Instance.Setoids.Delay.html#3052" class="Bound">y</a><a id="3075" class="Symbol">)</a> <a id="3077" class="Symbol">→</a> <a id="3079" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="3085" href="Monad.Instance.Setoids.Delay.html#3050" class="Bound">x</a> <a id="3087" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="3089" href="Monad.Instance.Setoids.Delay.html#3052" class="Bound">y</a>
|
||
|
||
<a id="Bisimilarity.unique↓"></a><a id="3094" href="Monad.Instance.Setoids.Delay.html#3094" class="Function">unique↓</a> <a id="3102" class="Symbol">:</a> <a id="3104" class="Symbol">∀</a> <a id="3106" class="Symbol">{</a><a id="3107" href="Monad.Instance.Setoids.Delay.html#3107" class="Bound">a</a> <a id="3109" class="Symbol">:</a> <a id="3111" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="3117" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3119" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3121" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3123" class="Symbol">}</a> <a id="3125" class="Symbol">{</a><a id="3126" href="Monad.Instance.Setoids.Delay.html#3126" class="Bound">x</a> <a id="3128" href="Monad.Instance.Setoids.Delay.html#3128" class="Bound">y</a> <a id="3130" class="Symbol">:</a> <a id="3132" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3134" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3136" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="3137" class="Symbol">}</a> <a id="3139" class="Symbol">→</a> <a id="3141" href="Monad.Instance.Setoids.Delay.html#3107" class="Bound">a</a> <a id="3143" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="3145" href="Monad.Instance.Setoids.Delay.html#3126" class="Bound">x</a> <a id="3147" class="Symbol">→</a> <a id="3149" href="Monad.Instance.Setoids.Delay.html#3107" class="Bound">a</a> <a id="3151" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="3153" href="Monad.Instance.Setoids.Delay.html#3128" class="Bound">y</a> <a id="3155" class="Symbol">→</a> <a id="3157" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">[</a> <a id="3159" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3161" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">][</a> <a id="3164" href="Monad.Instance.Setoids.Delay.html#3126" class="Bound">x</a> <a id="3166" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">≡</a> <a id="3168" href="Monad.Instance.Setoids.Delay.html#3128" class="Bound">y</a> <a id="3170" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">]</a>
|
||
<a id="3174" href="Monad.Instance.Setoids.Delay.html#3094" class="Function">unique↓</a> <a id="3182" class="Symbol">(</a><a id="3183" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="3188" href="Monad.Instance.Setoids.Delay.html#3188" class="Bound">a≡x</a><a id="3191" class="Symbol">)</a> <a id="3193" class="Symbol">(</a><a id="3194" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="3199" href="Monad.Instance.Setoids.Delay.html#3199" class="Bound">a≡y</a><a id="3202" class="Symbol">)</a> <a id="3204" class="Symbol">=</a> <a id="3206" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="3214" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3216" class="Symbol">(</a><a id="3217" href="Monad.Instance.Setoids.Delay.html#979" class="Function">≡-sym</a> <a id="3223" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3225" href="Monad.Instance.Setoids.Delay.html#3188" class="Bound">a≡x</a><a id="3228" class="Symbol">)</a> <a id="3230" href="Monad.Instance.Setoids.Delay.html#3199" class="Bound">a≡y</a>
|
||
<a id="3236" href="Monad.Instance.Setoids.Delay.html#3094" class="Function">unique↓</a> <a id="3244" class="Symbol">(</a><a id="3245" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="3252" href="Monad.Instance.Setoids.Delay.html#3252" class="Bound">fb↓x</a><a id="3256" class="Symbol">)</a> <a id="3258" class="Symbol">(</a><a id="3259" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="3266" href="Monad.Instance.Setoids.Delay.html#3266" class="Bound">fb↓y</a><a id="3270" class="Symbol">)</a> <a id="3272" class="Symbol">=</a> <a id="3274" href="Monad.Instance.Setoids.Delay.html#3094" class="Function">unique↓</a> <a id="3282" href="Monad.Instance.Setoids.Delay.html#3252" class="Bound">fb↓x</a> <a id="3287" href="Monad.Instance.Setoids.Delay.html#3266" class="Bound">fb↓y</a>
|
||
|
||
<a id="3295" class="Keyword">mutual</a>
|
||
|
||
<a id="3309" class="Keyword">data</a> <a id="Bisimilarity._≈_"></a><a id="3314" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">_≈_</a> <a id="3318" class="Symbol">:</a> <a id="3320" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="3326" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3328" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3330" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3332" class="Symbol">→</a> <a id="3334" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="3340" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3342" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3344" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3346" class="Symbol">→</a> <a id="3348" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3352" class="Symbol">(</a><a id="3353" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="3355" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="3357" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="3358" class="Symbol">)</a> <a id="3360" class="Keyword">where</a>
|
||
<a id="Bisimilarity._≈_.↓≈"></a><a id="3372" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="3379" class="Symbol">:</a> <a id="3381" class="Symbol">∀</a> <a id="3383" class="Symbol">{</a><a id="3384" href="Monad.Instance.Setoids.Delay.html#3384" class="Bound">x</a> <a id="3386" href="Monad.Instance.Setoids.Delay.html#3386" class="Bound">y</a> <a id="3388" href="Monad.Instance.Setoids.Delay.html#3388" class="Bound">a</a> <a id="3390" href="Monad.Instance.Setoids.Delay.html#3390" class="Bound">b</a><a id="3391" class="Symbol">}</a> <a id="3393" class="Symbol">(</a><a id="3394" href="Monad.Instance.Setoids.Delay.html#3394" class="Bound">a≡b</a> <a id="3398" class="Symbol">:</a> <a id="3400" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">[</a> <a id="3402" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3404" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">][</a> <a id="3407" href="Monad.Instance.Setoids.Delay.html#3388" class="Bound">a</a> <a id="3409" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">≡</a> <a id="3411" href="Monad.Instance.Setoids.Delay.html#3390" class="Bound">b</a> <a id="3413" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">]</a><a id="3414" class="Symbol">)</a> <a id="3416" class="Symbol">(</a><a id="3417" href="Monad.Instance.Setoids.Delay.html#3417" class="Bound">x↓a</a> <a id="3421" class="Symbol">:</a> <a id="3423" href="Monad.Instance.Setoids.Delay.html#3384" class="Bound">x</a> <a id="3425" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="3427" href="Monad.Instance.Setoids.Delay.html#3388" class="Bound">a</a><a id="3428" class="Symbol">)</a> <a id="3430" class="Symbol">(</a><a id="3431" href="Monad.Instance.Setoids.Delay.html#3431" class="Bound">y↓b</a> <a id="3435" class="Symbol">:</a> <a id="3437" href="Monad.Instance.Setoids.Delay.html#3386" class="Bound">y</a> <a id="3439" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="3441" href="Monad.Instance.Setoids.Delay.html#3390" class="Bound">b</a><a id="3442" class="Symbol">)</a> <a id="3444" class="Symbol">→</a> <a id="3446" href="Monad.Instance.Setoids.Delay.html#3384" class="Bound">x</a> <a id="3448" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">≈</a> <a id="3450" href="Monad.Instance.Setoids.Delay.html#3386" class="Bound">y</a>
|
||
<a id="Bisimilarity._≈_.later≈"></a><a id="3458" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="3465" class="Symbol">:</a> <a id="3467" class="Symbol">∀</a> <a id="3469" class="Symbol">{</a><a id="3470" href="Monad.Instance.Setoids.Delay.html#3470" class="Bound">x</a> <a id="3472" href="Monad.Instance.Setoids.Delay.html#3472" class="Bound">y</a><a id="3473" class="Symbol">}</a> <a id="3475" class="Symbol">(</a><a id="3476" href="Monad.Instance.Setoids.Delay.html#3476" class="Bound">x≈y</a> <a id="3480" class="Symbol">:</a> <a id="3482" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="3488" href="Monad.Instance.Setoids.Delay.html#3470" class="Bound">x</a> <a id="3490" href="Monad.Instance.Setoids.Delay.html#3534" class="Record Operator">≈′</a> <a id="3493" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="3499" href="Monad.Instance.Setoids.Delay.html#3472" class="Bound">y</a><a id="3500" class="Symbol">)</a> <a id="3502" class="Symbol">→</a> <a id="3504" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="3510" href="Monad.Instance.Setoids.Delay.html#3470" class="Bound">x</a> <a id="3512" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">≈</a> <a id="3514" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="3520" href="Monad.Instance.Setoids.Delay.html#3472" class="Bound">y</a>
|
||
|
||
<a id="3527" class="Keyword">record</a> <a id="Bisimilarity._≈′_"></a><a id="3534" href="Monad.Instance.Setoids.Delay.html#3534" class="Record Operator">_≈′_</a> <a id="3539" class="Symbol">(</a><a id="3540" href="Monad.Instance.Setoids.Delay.html#3540" class="Bound">x</a> <a id="3542" href="Monad.Instance.Setoids.Delay.html#3542" class="Bound">y</a> <a id="3544" class="Symbol">:</a> <a id="3546" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="3552" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3554" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3556" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="3557" class="Symbol">)</a> <a id="3559" class="Symbol">:</a> <a id="3561" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3565" class="Symbol">(</a><a id="3566" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="3568" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="3570" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="3571" class="Symbol">)</a> <a id="3573" class="Keyword">where</a>
|
||
<a id="3585" class="Keyword">coinductive</a>
|
||
|
||
<a id="3610" class="Keyword">field</a>
|
||
<a id="Bisimilarity._≈′_.force≈"></a><a id="3624" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="3631" class="Symbol">:</a> <a id="3633" href="Monad.Instance.Setoids.Delay.html#3540" class="Bound">x</a> <a id="3635" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">≈</a> <a id="3637" href="Monad.Instance.Setoids.Delay.html#3542" class="Bound">y</a>
|
||
|
||
<a id="3642" class="Keyword">open</a> <a id="3647" href="Monad.Instance.Setoids.Delay.html#3534" class="Module Operator">_≈′_</a> <a id="3652" class="Keyword">public</a>
|
||
|
||
<a id="Bisimilarity.≈→≈′"></a><a id="3662" href="Monad.Instance.Setoids.Delay.html#3662" class="Function">≈→≈′</a> <a id="3667" class="Symbol">:</a> <a id="3669" class="Symbol">∀</a> <a id="3671" class="Symbol">{</a><a id="3672" href="Monad.Instance.Setoids.Delay.html#3672" class="Bound">x</a> <a id="3674" href="Monad.Instance.Setoids.Delay.html#3674" class="Bound">y</a> <a id="3676" class="Symbol">:</a> <a id="3678" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="3684" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3686" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3688" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="3689" class="Symbol">}</a> <a id="3691" class="Symbol">→</a> <a id="3693" href="Monad.Instance.Setoids.Delay.html#3672" class="Bound">x</a> <a id="3695" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">≈</a> <a id="3697" href="Monad.Instance.Setoids.Delay.html#3674" class="Bound">y</a> <a id="3699" class="Symbol">→</a> <a id="3701" href="Monad.Instance.Setoids.Delay.html#3672" class="Bound">x</a> <a id="3703" href="Monad.Instance.Setoids.Delay.html#3534" class="Record Operator">≈′</a> <a id="3706" href="Monad.Instance.Setoids.Delay.html#3674" class="Bound">y</a>
|
||
<a id="3710" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="3717" class="Symbol">(</a><a id="3718" href="Monad.Instance.Setoids.Delay.html#3662" class="Function">≈→≈′</a> <a id="3723" href="Monad.Instance.Setoids.Delay.html#3723" class="Bound">x≈y</a><a id="3726" class="Symbol">)</a> <a id="3728" class="Symbol">=</a> <a id="3730" href="Monad.Instance.Setoids.Delay.html#3723" class="Bound">x≈y</a>
|
||
|
||
<a id="Bisimilarity.≡↓"></a><a id="3737" href="Monad.Instance.Setoids.Delay.html#3737" class="Function">≡↓</a> <a id="3740" class="Symbol">:</a> <a id="3742" class="Symbol">∀</a> <a id="3744" class="Symbol">{</a><a id="3745" href="Monad.Instance.Setoids.Delay.html#3745" class="Bound">x</a> <a id="3747" href="Monad.Instance.Setoids.Delay.html#3747" class="Bound">y</a> <a id="3749" class="Symbol">:</a> <a id="3751" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3753" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3755" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="3756" class="Symbol">}</a> <a id="3758" class="Symbol">{</a><a id="3759" href="Monad.Instance.Setoids.Delay.html#3759" class="Bound">z</a> <a id="3761" class="Symbol">:</a> <a id="3763" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="3769" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3771" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3773" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="3774" class="Symbol">}</a> <a id="3776" class="Symbol">→</a> <a id="3778" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">[</a> <a id="3780" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3782" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">][</a> <a id="3785" href="Monad.Instance.Setoids.Delay.html#3745" class="Bound">x</a> <a id="3787" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">≡</a> <a id="3789" href="Monad.Instance.Setoids.Delay.html#3747" class="Bound">y</a> <a id="3791" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">]</a> <a id="3793" class="Symbol">→</a> <a id="3795" href="Monad.Instance.Setoids.Delay.html#3759" class="Bound">z</a> <a id="3797" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="3799" href="Monad.Instance.Setoids.Delay.html#3745" class="Bound">x</a> <a id="3801" class="Symbol">→</a> <a id="3803" href="Monad.Instance.Setoids.Delay.html#3759" class="Bound">z</a> <a id="3805" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="3807" href="Monad.Instance.Setoids.Delay.html#3747" class="Bound">y</a>
|
||
<a id="3811" href="Monad.Instance.Setoids.Delay.html#3737" class="Function">≡↓</a> <a id="3814" class="Symbol">{</a><a id="3815" href="Monad.Instance.Setoids.Delay.html#3815" class="Bound">x</a><a id="3816" class="Symbol">}</a> <a id="3818" class="Symbol">{</a><a id="3819" href="Monad.Instance.Setoids.Delay.html#3819" class="Bound">y</a><a id="3820" class="Symbol">}</a> <a id="3822" class="Symbol">{</a><a id="3823" class="DottedPattern Symbol">.(</a><a id="3825" href="Monad.Instance.Setoids.Delay.html#1057" class="DottedPattern InductiveConstructor">now</a> <a id="3829" class="DottedPattern Symbol">_)</a><a id="3831" class="Symbol">}</a> <a id="3833" href="Monad.Instance.Setoids.Delay.html#3833" class="Bound">x≡y</a> <a id="3837" class="Symbol">(</a><a id="3838" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="3843" href="Monad.Instance.Setoids.Delay.html#3843" class="Bound">a≡x</a><a id="3846" class="Symbol">)</a> <a id="3848" class="Symbol">=</a> <a id="3850" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="3855" class="Symbol">(</a><a id="3856" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="3864" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3866" href="Monad.Instance.Setoids.Delay.html#3843" class="Bound">a≡x</a> <a id="3870" href="Monad.Instance.Setoids.Delay.html#3833" class="Bound">x≡y</a><a id="3873" class="Symbol">)</a>
|
||
<a id="3877" href="Monad.Instance.Setoids.Delay.html#3737" class="Function">≡↓</a> <a id="3880" class="Symbol">{</a><a id="3881" href="Monad.Instance.Setoids.Delay.html#3881" class="Bound">x</a><a id="3882" class="Symbol">}</a> <a id="3884" class="Symbol">{</a><a id="3885" href="Monad.Instance.Setoids.Delay.html#3885" class="Bound">y</a><a id="3886" class="Symbol">}</a> <a id="3888" class="Symbol">{</a><a id="3889" class="DottedPattern Symbol">.(</a><a id="3891" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="3897" class="DottedPattern Symbol">_)</a><a id="3899" class="Symbol">}</a> <a id="3901" href="Monad.Instance.Setoids.Delay.html#3901" class="Bound">x≡y</a> <a id="3905" class="Symbol">(</a><a id="3906" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="3913" href="Monad.Instance.Setoids.Delay.html#3913" class="Bound">z↓x</a><a id="3916" class="Symbol">)</a> <a id="3918" class="Symbol">=</a> <a id="3920" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="3927" class="Symbol">(</a><a id="3928" href="Monad.Instance.Setoids.Delay.html#3737" class="Function">≡↓</a> <a id="3931" href="Monad.Instance.Setoids.Delay.html#3901" class="Bound">x≡y</a> <a id="3935" href="Monad.Instance.Setoids.Delay.html#3913" class="Bound">z↓x</a><a id="3938" class="Symbol">)</a>
|
||
|
||
<a id="Bisimilarity.≈↓"></a><a id="3943" href="Monad.Instance.Setoids.Delay.html#3943" class="Function">≈↓</a> <a id="3947" class="Symbol">:</a> <a id="3949" class="Symbol">∀</a> <a id="3951" class="Symbol">{</a><a id="3952" href="Monad.Instance.Setoids.Delay.html#3952" class="Bound">x</a> <a id="3954" href="Monad.Instance.Setoids.Delay.html#3954" class="Bound">y</a> <a id="3956" class="Symbol">:</a> <a id="3958" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="3964" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3966" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3968" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3970" class="Symbol">}</a> <a id="3972" class="Symbol">{</a><a id="3973" href="Monad.Instance.Setoids.Delay.html#3973" class="Bound">a</a> <a id="3975" class="Symbol">:</a> <a id="3977" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="3979" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="3981" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="3982" class="Symbol">}</a> <a id="3984" class="Symbol">→</a> <a id="3986" href="Monad.Instance.Setoids.Delay.html#3952" class="Bound">x</a> <a id="3988" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">≈</a> <a id="3990" href="Monad.Instance.Setoids.Delay.html#3954" class="Bound">y</a> <a id="3992" class="Symbol">→</a> <a id="3994" href="Monad.Instance.Setoids.Delay.html#3952" class="Bound">x</a> <a id="3996" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="3998" href="Monad.Instance.Setoids.Delay.html#3973" class="Bound">a</a> <a id="4000" class="Symbol">→</a> <a id="4002" href="Monad.Instance.Setoids.Delay.html#3954" class="Bound">y</a> <a id="4004" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="4006" href="Monad.Instance.Setoids.Delay.html#3973" class="Bound">a</a>
|
||
|
||
<a id="4011" href="Monad.Instance.Setoids.Delay.html#3943" class="Function">≈↓</a> <a id="4014" class="Symbol">(</a><a id="4015" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="4018" href="Monad.Instance.Setoids.Delay.html#4018" class="Bound">c≡b</a> <a id="4022" class="Symbol">(</a><a id="4023" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="4028" href="Monad.Instance.Setoids.Delay.html#4028" class="Bound">x≡c</a><a id="4031" class="Symbol">)</a> <a id="4033" href="Monad.Instance.Setoids.Delay.html#4033" class="Bound">y↓b</a><a id="4036" class="Symbol">)</a> <a id="4038" class="Symbol">(</a><a id="4039" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="4044" href="Monad.Instance.Setoids.Delay.html#4044" class="Bound">x≡a</a><a id="4047" class="Symbol">)</a> <a id="4049" class="Symbol">=</a> <a id="4051" href="Monad.Instance.Setoids.Delay.html#3737" class="Function">≡↓</a> <a id="4054" class="Symbol">(</a><a id="4055" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="4063" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4065" class="Symbol">(</a><a id="4066" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="4074" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4076" class="Symbol">(</a><a id="4077" href="Monad.Instance.Setoids.Delay.html#979" class="Function">≡-sym</a> <a id="4083" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4085" href="Monad.Instance.Setoids.Delay.html#4018" class="Bound">c≡b</a><a id="4088" class="Symbol">)</a> <a id="4090" class="Symbol">(</a><a id="4091" href="Monad.Instance.Setoids.Delay.html#979" class="Function">≡-sym</a> <a id="4097" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4099" href="Monad.Instance.Setoids.Delay.html#4028" class="Bound">x≡c</a><a id="4102" class="Symbol">))</a> <a id="4105" href="Monad.Instance.Setoids.Delay.html#4044" class="Bound">x≡a</a><a id="4108" class="Symbol">)</a> <a id="4110" href="Monad.Instance.Setoids.Delay.html#4033" class="Bound">y↓b</a>
|
||
<a id="4116" href="Monad.Instance.Setoids.Delay.html#3943" class="Function">≈↓</a> <a id="4119" class="Symbol">(</a><a id="4120" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="4123" href="Monad.Instance.Setoids.Delay.html#4123" class="Bound">c≡b</a> <a id="4127" class="Symbol">(</a><a id="4128" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="4135" href="Monad.Instance.Setoids.Delay.html#4135" class="Bound">x↓c</a><a id="4138" class="Symbol">)</a> <a id="4140" href="Monad.Instance.Setoids.Delay.html#4140" class="Bound">y↓b</a><a id="4143" class="Symbol">)</a> <a id="4145" class="Symbol">(</a><a id="4146" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="4153" href="Monad.Instance.Setoids.Delay.html#4153" class="Bound">x↓a</a><a id="4156" class="Symbol">)</a> <a id="4158" class="Symbol">=</a> <a id="4160" href="Monad.Instance.Setoids.Delay.html#3737" class="Function">≡↓</a> <a id="4163" class="Symbol">(</a><a id="4164" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="4172" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4174" class="Symbol">(</a><a id="4175" href="Monad.Instance.Setoids.Delay.html#979" class="Function">≡-sym</a> <a id="4181" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4183" href="Monad.Instance.Setoids.Delay.html#4123" class="Bound">c≡b</a><a id="4186" class="Symbol">)</a> <a id="4188" class="Symbol">(</a><a id="4189" href="Monad.Instance.Setoids.Delay.html#979" class="Function">≡-sym</a> <a id="4195" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4197" class="Symbol">(</a><a id="4198" href="Monad.Instance.Setoids.Delay.html#3094" class="Function">unique↓</a> <a id="4206" href="Monad.Instance.Setoids.Delay.html#4153" class="Bound">x↓a</a> <a id="4210" href="Monad.Instance.Setoids.Delay.html#4135" class="Bound">x↓c</a><a id="4213" class="Symbol">)))</a> <a id="4217" href="Monad.Instance.Setoids.Delay.html#4140" class="Bound">y↓b</a>
|
||
<a id="4223" href="Monad.Instance.Setoids.Delay.html#3943" class="Function">≈↓</a> <a id="4226" class="Symbol">(</a><a id="4227" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="4234" href="Monad.Instance.Setoids.Delay.html#4234" class="Bound">fx≈fy</a><a id="4239" class="Symbol">)</a> <a id="4241" class="Symbol">(</a><a id="4242" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="4249" href="Monad.Instance.Setoids.Delay.html#4249" class="Bound">fx↓a</a><a id="4253" class="Symbol">)</a> <a id="4255" class="Symbol">=</a> <a id="4257" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="4264" class="Symbol">(</a><a id="4265" href="Monad.Instance.Setoids.Delay.html#3943" class="Function">≈↓</a> <a id="4268" class="Symbol">(</a><a id="4269" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="4276" href="Monad.Instance.Setoids.Delay.html#4234" class="Bound">fx≈fy</a><a id="4281" class="Symbol">)</a> <a id="4283" href="Monad.Instance.Setoids.Delay.html#4249" class="Bound">fx↓a</a><a id="4287" class="Symbol">)</a>
|
||
|
||
|
||
<a id="Bisimilarity.≈-refl"></a><a id="4293" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="4301" class="Symbol">:</a> <a id="4303" class="Symbol">∀</a> <a id="4305" class="Symbol">{</a><a id="4306" href="Monad.Instance.Setoids.Delay.html#4306" class="Bound">x</a> <a id="4308" class="Symbol">:</a> <a id="4310" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="4316" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="4318" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4320" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="4321" class="Symbol">}</a> <a id="4323" class="Symbol">→</a> <a id="4325" href="Monad.Instance.Setoids.Delay.html#4306" class="Bound">x</a> <a id="4327" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">≈</a> <a id="4329" href="Monad.Instance.Setoids.Delay.html#4306" class="Bound">x</a>
|
||
<a id="Bisimilarity.≈′-refl"></a><a id="4333" href="Monad.Instance.Setoids.Delay.html#4333" class="Function">≈′-refl</a> <a id="4341" class="Symbol">:</a> <a id="4343" class="Symbol">∀</a> <a id="4345" class="Symbol">{</a><a id="4346" href="Monad.Instance.Setoids.Delay.html#4346" class="Bound">x</a> <a id="4348" class="Symbol">:</a> <a id="4350" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="4356" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="4358" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4360" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="4361" class="Symbol">}</a> <a id="4363" class="Symbol">→</a> <a id="4365" href="Monad.Instance.Setoids.Delay.html#4346" class="Bound">x</a> <a id="4367" href="Monad.Instance.Setoids.Delay.html#3534" class="Record Operator">≈′</a> <a id="4370" href="Monad.Instance.Setoids.Delay.html#4346" class="Bound">x</a>
|
||
|
||
<a id="4375" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="4382" class="Symbol">{</a><a id="4383" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="4387" href="Monad.Instance.Setoids.Delay.html#4387" class="Bound">x</a><a id="4388" class="Symbol">}</a> <a id="4392" class="Symbol">=</a> <a id="4394" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="4397" class="Symbol">(</a><a id="4398" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="4405" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a><a id="4406" class="Symbol">)</a> <a id="4408" class="Symbol">(</a><a id="4409" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="4414" class="Symbol">(</a><a id="4415" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="4422" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a><a id="4423" class="Symbol">))</a> <a id="4426" class="Symbol">(</a><a id="4427" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="4432" class="Symbol">(</a><a id="4433" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="4440" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a><a id="4441" class="Symbol">))</a>
|
||
<a id="4446" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="4453" class="Symbol">{</a><a id="4454" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="4460" href="Monad.Instance.Setoids.Delay.html#4460" class="Bound">x</a><a id="4461" class="Symbol">}</a> <a id="4463" class="Symbol">=</a> <a id="4465" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="4472" href="Monad.Instance.Setoids.Delay.html#4333" class="Function">≈′-refl</a>
|
||
|
||
<a id="4483" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="4490" href="Monad.Instance.Setoids.Delay.html#4333" class="Function">≈′-refl</a> <a id="4498" class="Symbol">=</a> <a id="4500" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a>
|
||
|
||
|
||
<a id="Bisimilarity.≈-sym"></a><a id="4511" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="4518" class="Symbol">:</a> <a id="4520" class="Symbol">∀</a> <a id="4522" class="Symbol">{</a><a id="4523" href="Monad.Instance.Setoids.Delay.html#4523" class="Bound">x</a> <a id="4525" href="Monad.Instance.Setoids.Delay.html#4525" class="Bound">y</a> <a id="4527" class="Symbol">:</a> <a id="4529" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="4535" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="4537" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4539" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="4540" class="Symbol">}</a> <a id="4542" class="Symbol">→</a> <a id="4544" href="Monad.Instance.Setoids.Delay.html#4523" class="Bound">x</a> <a id="4546" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">≈</a> <a id="4548" href="Monad.Instance.Setoids.Delay.html#4525" class="Bound">y</a> <a id="4550" class="Symbol">→</a> <a id="4552" href="Monad.Instance.Setoids.Delay.html#4525" class="Bound">y</a> <a id="4554" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">≈</a> <a id="4556" href="Monad.Instance.Setoids.Delay.html#4523" class="Bound">x</a>
|
||
<a id="Bisimilarity.≈′-sym"></a><a id="4560" href="Monad.Instance.Setoids.Delay.html#4560" class="Function">≈′-sym</a> <a id="4567" class="Symbol">:</a> <a id="4569" class="Symbol">∀</a> <a id="4571" class="Symbol">{</a><a id="4572" href="Monad.Instance.Setoids.Delay.html#4572" class="Bound">x</a> <a id="4574" href="Monad.Instance.Setoids.Delay.html#4574" class="Bound">y</a> <a id="4576" class="Symbol">:</a> <a id="4578" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="4584" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="4586" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4588" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="4589" class="Symbol">}</a> <a id="4591" class="Symbol">→</a> <a id="4593" href="Monad.Instance.Setoids.Delay.html#4572" class="Bound">x</a> <a id="4595" href="Monad.Instance.Setoids.Delay.html#3534" class="Record Operator">≈′</a> <a id="4598" href="Monad.Instance.Setoids.Delay.html#4574" class="Bound">y</a> <a id="4600" class="Symbol">→</a> <a id="4602" href="Monad.Instance.Setoids.Delay.html#4574" class="Bound">y</a> <a id="4604" href="Monad.Instance.Setoids.Delay.html#3534" class="Record Operator">≈′</a> <a id="4607" href="Monad.Instance.Setoids.Delay.html#4572" class="Bound">x</a>
|
||
|
||
<a id="4612" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="4618" class="Symbol">(</a><a id="4619" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="4622" href="Monad.Instance.Setoids.Delay.html#4622" class="Bound">a≡b</a> <a id="4626" href="Monad.Instance.Setoids.Delay.html#4626" class="Bound">x↓a</a> <a id="4630" href="Monad.Instance.Setoids.Delay.html#4630" class="Bound">y↓b</a><a id="4633" class="Symbol">)</a> <a id="4635" class="Symbol">=</a> <a id="4637" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="4640" class="Symbol">(</a><a id="4641" href="Monad.Instance.Setoids.Delay.html#979" class="Function">≡-sym</a> <a id="4647" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4649" href="Monad.Instance.Setoids.Delay.html#4622" class="Bound">a≡b</a><a id="4652" class="Symbol">)</a> <a id="4654" href="Monad.Instance.Setoids.Delay.html#4630" class="Bound">y↓b</a> <a id="4658" href="Monad.Instance.Setoids.Delay.html#4626" class="Bound">x↓a</a>
|
||
<a id="4664" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="4670" class="Symbol">(</a><a id="4671" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="4678" href="Monad.Instance.Setoids.Delay.html#4678" class="Bound">x≈y</a><a id="4681" class="Symbol">)</a> <a id="4683" class="Symbol">=</a> <a id="4685" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="4692" class="Symbol">(</a><a id="4693" href="Monad.Instance.Setoids.Delay.html#4560" class="Function">≈′-sym</a> <a id="4700" href="Monad.Instance.Setoids.Delay.html#4678" class="Bound">x≈y</a><a id="4703" class="Symbol">)</a>
|
||
|
||
<a id="4708" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="4715" class="Symbol">(</a><a id="4716" href="Monad.Instance.Setoids.Delay.html#4560" class="Function">≈′-sym</a> <a id="4723" href="Monad.Instance.Setoids.Delay.html#4723" class="Bound">x∼′y</a><a id="4727" class="Symbol">)</a> <a id="4729" class="Symbol">=</a> <a id="4731" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="4737" class="Symbol">(</a><a id="4738" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="4745" href="Monad.Instance.Setoids.Delay.html#4723" class="Bound">x∼′y</a><a id="4749" class="Symbol">)</a>
|
||
|
||
|
||
<a id="Bisimilarity.≈-trans"></a><a id="4755" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="4764" class="Symbol">:</a> <a id="4766" class="Symbol">∀</a> <a id="4768" class="Symbol">{</a><a id="4769" href="Monad.Instance.Setoids.Delay.html#4769" class="Bound">x</a> <a id="4771" href="Monad.Instance.Setoids.Delay.html#4771" class="Bound">y</a> <a id="4773" href="Monad.Instance.Setoids.Delay.html#4773" class="Bound">z</a> <a id="4775" class="Symbol">:</a> <a id="4777" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="4783" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="4785" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4787" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="4788" class="Symbol">}</a> <a id="4790" class="Symbol">→</a> <a id="4792" href="Monad.Instance.Setoids.Delay.html#4769" class="Bound">x</a> <a id="4794" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">≈</a> <a id="4796" href="Monad.Instance.Setoids.Delay.html#4771" class="Bound">y</a> <a id="4798" class="Symbol">→</a> <a id="4800" href="Monad.Instance.Setoids.Delay.html#4771" class="Bound">y</a> <a id="4802" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">≈</a> <a id="4804" href="Monad.Instance.Setoids.Delay.html#4773" class="Bound">z</a> <a id="4806" class="Symbol">→</a> <a id="4808" href="Monad.Instance.Setoids.Delay.html#4769" class="Bound">x</a> <a id="4810" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">≈</a> <a id="4812" href="Monad.Instance.Setoids.Delay.html#4773" class="Bound">z</a>
|
||
<a id="Bisimilarity.≈′-trans"></a><a id="4816" href="Monad.Instance.Setoids.Delay.html#4816" class="Function">≈′-trans</a> <a id="4825" class="Symbol">:</a> <a id="4827" class="Symbol">∀</a> <a id="4829" class="Symbol">{</a><a id="4830" href="Monad.Instance.Setoids.Delay.html#4830" class="Bound">x</a> <a id="4832" href="Monad.Instance.Setoids.Delay.html#4832" class="Bound">y</a> <a id="4834" href="Monad.Instance.Setoids.Delay.html#4834" class="Bound">z</a> <a id="4836" class="Symbol">:</a> <a id="4838" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="4844" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="4846" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4848" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="4849" class="Symbol">}</a> <a id="4851" class="Symbol">→</a> <a id="4853" href="Monad.Instance.Setoids.Delay.html#4830" class="Bound">x</a> <a id="4855" href="Monad.Instance.Setoids.Delay.html#3534" class="Record Operator">≈′</a> <a id="4858" href="Monad.Instance.Setoids.Delay.html#4832" class="Bound">y</a> <a id="4860" class="Symbol">→</a> <a id="4862" href="Monad.Instance.Setoids.Delay.html#4832" class="Bound">y</a> <a id="4864" href="Monad.Instance.Setoids.Delay.html#3534" class="Record Operator">≈′</a> <a id="4867" href="Monad.Instance.Setoids.Delay.html#4834" class="Bound">z</a> <a id="4869" class="Symbol">→</a> <a id="4871" href="Monad.Instance.Setoids.Delay.html#4830" class="Bound">x</a> <a id="4873" href="Monad.Instance.Setoids.Delay.html#3534" class="Record Operator">≈′</a> <a id="4876" href="Monad.Instance.Setoids.Delay.html#4834" class="Bound">z</a>
|
||
|
||
<a id="4881" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="4889" class="Symbol">(</a><a id="4890" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="4893" href="Monad.Instance.Setoids.Delay.html#4893" class="Bound">a≡b</a> <a id="4897" href="Monad.Instance.Setoids.Delay.html#4897" class="Bound">x↓a</a> <a id="4901" href="Monad.Instance.Setoids.Delay.html#4901" class="Bound">y↓b</a><a id="4904" class="Symbol">)</a> <a id="4906" class="Symbol">(</a><a id="4907" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="4910" href="Monad.Instance.Setoids.Delay.html#4910" class="Bound">c≡d</a> <a id="4914" href="Monad.Instance.Setoids.Delay.html#4914" class="Bound">y↓c</a> <a id="4918" href="Monad.Instance.Setoids.Delay.html#4918" class="Bound">z↓d</a><a id="4921" class="Symbol">)</a> <a id="4923" class="Symbol">=</a> <a id="4925" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="4928" class="Symbol">(</a><a id="4929" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="4937" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4939" class="Symbol">(</a><a id="4940" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="4948" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="4950" href="Monad.Instance.Setoids.Delay.html#4893" class="Bound">a≡b</a> <a id="4954" class="Symbol">(</a><a id="4955" href="Monad.Instance.Setoids.Delay.html#3094" class="Function">unique↓</a> <a id="4963" href="Monad.Instance.Setoids.Delay.html#4901" class="Bound">y↓b</a> <a id="4967" href="Monad.Instance.Setoids.Delay.html#4914" class="Bound">y↓c</a><a id="4970" class="Symbol">))</a> <a id="4973" href="Monad.Instance.Setoids.Delay.html#4910" class="Bound">c≡d</a><a id="4976" class="Symbol">)</a> <a id="4978" href="Monad.Instance.Setoids.Delay.html#4897" class="Bound">x↓a</a> <a id="4982" href="Monad.Instance.Setoids.Delay.html#4918" class="Bound">z↓d</a>
|
||
<a id="4988" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="4996" class="Symbol">(</a><a id="4997" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="5000" href="Monad.Instance.Setoids.Delay.html#5000" class="Bound">a≡b</a> <a id="5004" href="Monad.Instance.Setoids.Delay.html#5004" class="Bound">z↓a</a> <a id="5008" class="Symbol">(</a><a id="5009" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="5016" href="Monad.Instance.Setoids.Delay.html#5016" class="Bound">x↓b</a><a id="5019" class="Symbol">))</a> <a id="5022" class="Symbol">(</a><a id="5023" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="5030" href="Monad.Instance.Setoids.Delay.html#5030" class="Bound">x≈y</a><a id="5033" class="Symbol">)</a> <a id="5035" class="Symbol">=</a> <a id="5037" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="5040" href="Monad.Instance.Setoids.Delay.html#5000" class="Bound">a≡b</a> <a id="5044" href="Monad.Instance.Setoids.Delay.html#5004" class="Bound">z↓a</a> <a id="5048" class="Symbol">(</a><a id="5049" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="5056" class="Symbol">(</a><a id="5057" href="Monad.Instance.Setoids.Delay.html#3943" class="Function">≈↓</a> <a id="5060" class="Symbol">(</a><a id="5061" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="5068" href="Monad.Instance.Setoids.Delay.html#5030" class="Bound">x≈y</a><a id="5071" class="Symbol">)</a> <a id="5073" href="Monad.Instance.Setoids.Delay.html#5016" class="Bound">x↓b</a><a id="5076" class="Symbol">))</a>
|
||
<a id="5081" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="5089" class="Symbol">(</a><a id="5090" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="5097" href="Monad.Instance.Setoids.Delay.html#5097" class="Bound">x≈y</a><a id="5100" class="Symbol">)</a> <a id="5102" class="Symbol">(</a><a id="5103" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="5106" href="Monad.Instance.Setoids.Delay.html#5106" class="Bound">a≡b</a> <a id="5110" class="Symbol">(</a><a id="5111" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="5118" href="Monad.Instance.Setoids.Delay.html#5118" class="Bound">y↓a</a><a id="5121" class="Symbol">)</a> <a id="5123" href="Monad.Instance.Setoids.Delay.html#5123" class="Bound">z↓b</a><a id="5126" class="Symbol">)</a> <a id="5128" class="Symbol">=</a> <a id="5130" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="5133" href="Monad.Instance.Setoids.Delay.html#5106" class="Bound">a≡b</a> <a id="5137" class="Symbol">(</a><a id="5138" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="5145" class="Symbol">(</a><a id="5146" href="Monad.Instance.Setoids.Delay.html#3943" class="Function">≈↓</a> <a id="5149" class="Symbol">(</a><a id="5150" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="5156" class="Symbol">(</a><a id="5157" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="5164" href="Monad.Instance.Setoids.Delay.html#5097" class="Bound">x≈y</a><a id="5167" class="Symbol">))</a> <a id="5170" href="Monad.Instance.Setoids.Delay.html#5118" class="Bound">y↓a</a><a id="5173" class="Symbol">))</a> <a id="5176" href="Monad.Instance.Setoids.Delay.html#5123" class="Bound">z↓b</a>
|
||
<a id="5182" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="5190" class="Symbol">(</a><a id="5191" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="5198" href="Monad.Instance.Setoids.Delay.html#5198" class="Bound">x≈y</a><a id="5201" class="Symbol">)</a> <a id="5203" class="Symbol">(</a><a id="5204" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="5211" href="Monad.Instance.Setoids.Delay.html#5211" class="Bound">y≈z</a><a id="5214" class="Symbol">)</a> <a id="5216" class="Symbol">=</a> <a id="5218" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="5225" class="Symbol">(</a><a id="5226" href="Monad.Instance.Setoids.Delay.html#4816" class="Function">≈′-trans</a> <a id="5235" href="Monad.Instance.Setoids.Delay.html#5198" class="Bound">x≈y</a> <a id="5239" href="Monad.Instance.Setoids.Delay.html#5211" class="Bound">y≈z</a><a id="5242" class="Symbol">)</a>
|
||
|
||
<a id="5248" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="5255" class="Symbol">(</a><a id="5256" href="Monad.Instance.Setoids.Delay.html#4816" class="Function">≈′-trans</a> <a id="5265" href="Monad.Instance.Setoids.Delay.html#5265" class="Bound">x≈′y</a> <a id="5270" href="Monad.Instance.Setoids.Delay.html#5270" class="Bound">y≈′z</a><a id="5274" class="Symbol">)</a> <a id="5276" class="Symbol">=</a> <a id="5278" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="5286" class="Symbol">(</a><a id="5287" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="5294" href="Monad.Instance.Setoids.Delay.html#5265" class="Bound">x≈′y</a><a id="5298" class="Symbol">)</a> <a id="5300" class="Symbol">(</a><a id="5301" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="5308" href="Monad.Instance.Setoids.Delay.html#5270" class="Bound">y≈′z</a><a id="5312" class="Symbol">)</a>
|
||
|
||
<a id="5317" class="Keyword">mutual</a>
|
||
<a id="5328" class="Keyword">data</a> <a id="Bisimilarity._≲_"></a><a id="5333" href="Monad.Instance.Setoids.Delay.html#5333" class="Datatype Operator">_≲_</a> <a id="5337" class="Symbol">:</a> <a id="5339" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="5345" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="5347" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="5349" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="5351" class="Symbol">→</a> <a id="5353" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="5359" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="5361" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="5363" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="5365" class="Symbol">→</a> <a id="5367" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5371" class="Symbol">(</a><a id="5372" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="5374" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="5376" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="5377" class="Symbol">)</a> <a id="5379" class="Keyword">where</a>
|
||
<a id="Bisimilarity._≲_.↓≲"></a><a id="5391" href="Monad.Instance.Setoids.Delay.html#5391" class="InductiveConstructor">↓≲</a> <a id="5398" class="Symbol">:</a> <a id="5400" class="Symbol">∀</a> <a id="5402" class="Symbol">{</a><a id="5403" href="Monad.Instance.Setoids.Delay.html#5403" class="Bound">y</a> <a id="5405" href="Monad.Instance.Setoids.Delay.html#5405" class="Bound">a</a><a id="5406" class="Symbol">}</a> <a id="5408" class="Symbol">(</a><a id="5409" href="Monad.Instance.Setoids.Delay.html#5409" class="Bound">y↓a</a> <a id="5413" class="Symbol">:</a> <a id="5415" href="Monad.Instance.Setoids.Delay.html#5403" class="Bound">y</a> <a id="5417" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">↓</a> <a id="5419" href="Monad.Instance.Setoids.Delay.html#5405" class="Bound">a</a><a id="5420" class="Symbol">)</a> <a id="5422" class="Symbol">→</a> <a id="5424" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="5428" href="Monad.Instance.Setoids.Delay.html#5405" class="Bound">a</a> <a id="5430" href="Monad.Instance.Setoids.Delay.html#5333" class="Datatype Operator">≲</a> <a id="5432" href="Monad.Instance.Setoids.Delay.html#5403" class="Bound">y</a>
|
||
<a id="Bisimilarity._≲_.later≲"></a><a id="5440" href="Monad.Instance.Setoids.Delay.html#5440" class="InductiveConstructor">later≲</a> <a id="5447" class="Symbol">:</a> <a id="5449" class="Symbol">∀</a> <a id="5451" class="Symbol">{</a><a id="5452" href="Monad.Instance.Setoids.Delay.html#5452" class="Bound">x</a> <a id="5454" href="Monad.Instance.Setoids.Delay.html#5454" class="Bound">y</a><a id="5455" class="Symbol">}</a> <a id="5457" class="Symbol">(</a><a id="5458" href="Monad.Instance.Setoids.Delay.html#5458" class="Bound">x≈y</a> <a id="5462" class="Symbol">:</a> <a id="5464" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="5470" href="Monad.Instance.Setoids.Delay.html#5452" class="Bound">x</a> <a id="5472" href="Monad.Instance.Setoids.Delay.html#5516" class="Record Operator">≲′</a> <a id="5475" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="5481" href="Monad.Instance.Setoids.Delay.html#5454" class="Bound">y</a><a id="5482" class="Symbol">)</a> <a id="5484" class="Symbol">→</a> <a id="5486" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="5492" href="Monad.Instance.Setoids.Delay.html#5452" class="Bound">x</a> <a id="5494" href="Monad.Instance.Setoids.Delay.html#5333" class="Datatype Operator">≲</a> <a id="5496" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="5502" href="Monad.Instance.Setoids.Delay.html#5454" class="Bound">y</a>
|
||
|
||
<a id="5509" class="Keyword">record</a> <a id="Bisimilarity._≲′_"></a><a id="5516" href="Monad.Instance.Setoids.Delay.html#5516" class="Record Operator">_≲′_</a> <a id="5521" class="Symbol">(</a><a id="5522" href="Monad.Instance.Setoids.Delay.html#5522" class="Bound">x</a> <a id="5524" href="Monad.Instance.Setoids.Delay.html#5524" class="Bound">y</a> <a id="5526" class="Symbol">:</a> <a id="5528" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="5534" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="5536" href="Monad.Instance.Setoids.Delay.html#1248" class="Bound">A</a> <a id="5538" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="5539" class="Symbol">)</a> <a id="5541" class="Symbol">:</a> <a id="5543" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5547" class="Symbol">(</a><a id="5548" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="5550" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="5552" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="5553" class="Symbol">)</a> <a id="5555" class="Keyword">where</a>
|
||
<a id="5567" class="Keyword">coinductive</a>
|
||
|
||
<a id="5592" class="Keyword">field</a>
|
||
<a id="Bisimilarity._≲′_.force≲"></a><a id="5606" href="Monad.Instance.Setoids.Delay.html#5606" class="Field">force≲</a> <a id="5613" class="Symbol">:</a> <a id="5615" href="Monad.Instance.Setoids.Delay.html#5522" class="Bound">x</a> <a id="5617" href="Monad.Instance.Setoids.Delay.html#5333" class="Datatype Operator">≲</a> <a id="5619" href="Monad.Instance.Setoids.Delay.html#5524" class="Bound">y</a>
|
||
|
||
<a id="5624" class="Keyword">open</a> <a id="5629" href="Monad.Instance.Setoids.Delay.html#5516" class="Module Operator">_≲′_</a> <a id="5634" class="Keyword">public</a>
|
||
|
||
<a id="5642" class="Keyword">open</a> <a id="5647" href="Monad.Instance.Setoids.Delay.html#1234" class="Module">Bisimilarity</a> <a id="5660" class="Keyword">renaming</a> <a id="5669" class="Symbol">(</a><a id="5670" href="Monad.Instance.Setoids.Delay.html#3314" class="Datatype Operator">_≈_</a> <a id="5674" class="Symbol">to</a> <a id="5677" class="Datatype Operator">[_][_≈_]</a><a id="5685" class="Symbol">;</a> <a id="5687" href="Monad.Instance.Setoids.Delay.html#3534" class="Record Operator">_≈′_</a> <a id="5692" class="Symbol">to</a> <a id="5695" class="Record Operator">[_][_≈′_]</a><a id="5704" class="Symbol">;</a> <a id="5706" href="Monad.Instance.Setoids.Delay.html#1653" class="Datatype Operator">_∼_</a> <a id="5710" class="Symbol">to</a> <a id="5713" class="Datatype Operator">[_][_∼_]</a><a id="5721" class="Symbol">;</a> <a id="5723" href="Monad.Instance.Setoids.Delay.html#1839" class="Record Operator">_∼′_</a> <a id="5728" class="Symbol">to</a> <a id="5731" class="Record Operator">[_][_∼′_]</a><a id="5740" class="Symbol">;</a> <a id="5742" href="Monad.Instance.Setoids.Delay.html#2932" class="Datatype Operator">_↓_</a> <a id="5746" class="Symbol">to</a> <a id="5749" class="Datatype Operator">[_][_↓_]</a><a id="5757" class="Symbol">;</a> <a id="5759" href="Monad.Instance.Setoids.Delay.html#5333" class="Datatype Operator">_≲_</a> <a id="5763" class="Symbol">to</a> <a id="5766" class="Datatype Operator">[_][_≲_]</a><a id="5774" class="Symbol">;</a> <a id="5776" href="Monad.Instance.Setoids.Delay.html#5516" class="Record Operator">_≲′_</a> <a id="5781" class="Symbol">to</a> <a id="5784" class="Record Operator">[_][_≲′_]</a><a id="5793" class="Symbol">)</a>
|
||
|
||
|
||
<a id="5797" class="Keyword">module</a> <a id="DelayMonad"></a><a id="5804" href="Monad.Instance.Setoids.Delay.html#5804" class="Module">DelayMonad</a> <a id="5815" class="Keyword">where</a>
|
||
<a id="DelayMonad.Delayₛ"></a><a id="5823" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="5830" class="Symbol">:</a> <a id="5832" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="5839" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="5841" class="Symbol">(</a><a id="5842" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="5844" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="5846" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="5847" class="Symbol">)</a> <a id="5849" class="Symbol">→</a> <a id="5851" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="5858" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="5860" class="Symbol">(</a><a id="5861" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="5863" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="5865" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="5866" class="Symbol">)</a>
|
||
<a id="5870" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="5877" href="Monad.Instance.Setoids.Delay.html#5877" class="Bound">A</a> <a id="5879" class="Symbol">=</a> <a id="5881" class="Keyword">record</a> <a id="5888" class="Symbol">{</a> <a id="5890" href="Relation.Binary.Bundles.html#1143" class="Field">Carrier</a> <a id="5898" class="Symbol">=</a> <a id="5900" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="5906" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="5908" href="Monad.Instance.Setoids.Delay.html#5877" class="Bound">A</a> <a id="5910" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="5912" class="Symbol">;</a> <a id="5914" href="Relation.Binary.Bundles.html#1169" class="Field Operator">_≈_</a> <a id="5918" class="Symbol">=</a> <a id="5920" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[_][_≈_]</a> <a id="5929" href="Monad.Instance.Setoids.Delay.html#5877" class="Bound">A</a> <a id="5931" class="Symbol">;</a> <a id="5933" href="Relation.Binary.Bundles.html#1203" class="Field">isEquivalence</a> <a id="5947" class="Symbol">=</a> <a id="5949" class="Keyword">record</a> <a id="5956" class="Symbol">{</a> <a id="5958" href="Relation.Binary.Structures.html#1596" class="Field">refl</a> <a id="5963" class="Symbol">=</a> <a id="5965" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="5972" href="Monad.Instance.Setoids.Delay.html#5877" class="Bound">A</a> <a id="5974" class="Symbol">;</a> <a id="5976" href="Relation.Binary.Structures.html#1622" class="Field">sym</a> <a id="5980" class="Symbol">=</a> <a id="5982" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="5988" href="Monad.Instance.Setoids.Delay.html#5877" class="Bound">A</a> <a id="5990" class="Symbol">;</a> <a id="5992" href="Relation.Binary.Structures.html#1648" class="Field">trans</a> <a id="5998" class="Symbol">=</a> <a id="6000" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="6008" href="Monad.Instance.Setoids.Delay.html#5877" class="Bound">A</a> <a id="6010" class="Symbol">}</a> <a id="6012" class="Symbol">}</a>
|
||
<a id="DelayMonad.Delayₛ∼"></a><a id="6016" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ∼</a> <a id="6024" class="Symbol">:</a> <a id="6026" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="6033" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6035" class="Symbol">(</a><a id="6036" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6038" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="6040" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="6041" class="Symbol">)</a> <a id="6043" class="Symbol">→</a> <a id="6045" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="6052" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6054" class="Symbol">(</a><a id="6055" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6057" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="6059" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="6060" class="Symbol">)</a>
|
||
<a id="6064" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ∼</a> <a id="6072" href="Monad.Instance.Setoids.Delay.html#6072" class="Bound">A</a> <a id="6074" class="Symbol">=</a> <a id="6076" class="Keyword">record</a> <a id="6083" class="Symbol">{</a> <a id="6085" href="Relation.Binary.Bundles.html#1143" class="Field">Carrier</a> <a id="6093" class="Symbol">=</a> <a id="6095" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="6101" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="6103" href="Monad.Instance.Setoids.Delay.html#6072" class="Bound">A</a> <a id="6105" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="6107" class="Symbol">;</a> <a id="6109" href="Relation.Binary.Bundles.html#1169" class="Field Operator">_≈_</a> <a id="6113" class="Symbol">=</a> <a id="6115" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[_][_∼_]</a> <a id="6124" href="Monad.Instance.Setoids.Delay.html#6072" class="Bound">A</a> <a id="6126" class="Symbol">;</a> <a id="6128" href="Relation.Binary.Bundles.html#1203" class="Field">isEquivalence</a> <a id="6142" class="Symbol">=</a> <a id="6144" class="Keyword">record</a> <a id="6151" class="Symbol">{</a> <a id="6153" href="Relation.Binary.Structures.html#1596" class="Field">refl</a> <a id="6158" class="Symbol">=</a> <a id="6160" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">∼-refl</a> <a id="6167" href="Monad.Instance.Setoids.Delay.html#6072" class="Bound">A</a> <a id="6169" class="Symbol">;</a> <a id="6171" href="Relation.Binary.Structures.html#1622" class="Field">sym</a> <a id="6175" class="Symbol">=</a> <a id="6177" href="Monad.Instance.Setoids.Delay.html#2377" class="Function">∼-sym</a> <a id="6183" href="Monad.Instance.Setoids.Delay.html#6072" class="Bound">A</a> <a id="6185" class="Symbol">;</a> <a id="6187" href="Relation.Binary.Structures.html#1648" class="Field">trans</a> <a id="6193" class="Symbol">=</a> <a id="6195" href="Monad.Instance.Setoids.Delay.html#2612" class="Function">∼-trans</a> <a id="6203" href="Monad.Instance.Setoids.Delay.html#6072" class="Bound">A</a> <a id="6205" class="Symbol">}</a> <a id="6207" class="Symbol">}</a>
|
||
<a id="DelayMonad.<_>"></a><a id="6211" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><_></a> <a id="6215" class="Symbol">=</a> <a id="6217" href="Function.Bundles.html#15133" class="Function Operator">_⟨$⟩_</a>
|
||
<a id="6225" class="Keyword">open</a> <a id="6230" href="Monad.Instance.Setoids.Delay.html#160" class="Module">_⟶_</a> <a id="6234" class="Keyword">using</a> <a id="6240" class="Symbol">(</a><a id="6241" href="Function.Bundles.html#2113" class="Field">cong</a><a id="6245" class="Symbol">)</a>
|
||
|
||
<a id="DelayMonad.∼⇒≈"></a><a id="6250" href="Monad.Instance.Setoids.Delay.html#6250" class="Function">∼⇒≈</a> <a id="6254" class="Symbol">:</a> <a id="6256" class="Symbol">∀</a> <a id="6258" class="Symbol">{</a><a id="6259" href="Monad.Instance.Setoids.Delay.html#6259" class="Bound">A</a> <a id="6261" class="Symbol">:</a> <a id="6263" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="6270" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6272" class="Symbol">(</a><a id="6273" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6275" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="6277" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="6278" class="Symbol">)}</a> <a id="6281" class="Symbol">{</a><a id="6282" href="Monad.Instance.Setoids.Delay.html#6282" class="Bound">x</a> <a id="6284" href="Monad.Instance.Setoids.Delay.html#6284" class="Bound">y</a> <a id="6286" class="Symbol">:</a> <a id="6288" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="6294" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="6296" href="Monad.Instance.Setoids.Delay.html#6259" class="Bound">A</a> <a id="6298" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="6299" class="Symbol">}</a> <a id="6301" class="Symbol">→</a> <a id="6303" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="6305" href="Monad.Instance.Setoids.Delay.html#6259" class="Bound">A</a> <a id="6307" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="6310" href="Monad.Instance.Setoids.Delay.html#6282" class="Bound">x</a> <a id="6312" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="6314" href="Monad.Instance.Setoids.Delay.html#6284" class="Bound">y</a> <a id="6316" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a> <a id="6318" class="Symbol">→</a> <a id="6320" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="6322" href="Monad.Instance.Setoids.Delay.html#6259" class="Bound">A</a> <a id="6324" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="6327" href="Monad.Instance.Setoids.Delay.html#6282" class="Bound">x</a> <a id="6329" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="6331" href="Monad.Instance.Setoids.Delay.html#6284" class="Bound">y</a> <a id="6333" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a>
|
||
<a id="DelayMonad.∼′⇒≈′"></a><a id="6337" href="Monad.Instance.Setoids.Delay.html#6337" class="Function">∼′⇒≈′</a> <a id="6343" class="Symbol">:</a> <a id="6345" class="Symbol">∀</a> <a id="6347" class="Symbol">{</a><a id="6348" href="Monad.Instance.Setoids.Delay.html#6348" class="Bound">A</a> <a id="6350" class="Symbol">:</a> <a id="6352" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="6359" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6361" class="Symbol">(</a><a id="6362" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6364" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="6366" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="6367" class="Symbol">)}</a> <a id="6370" class="Symbol">{</a><a id="6371" href="Monad.Instance.Setoids.Delay.html#6371" class="Bound">x</a> <a id="6373" href="Monad.Instance.Setoids.Delay.html#6373" class="Bound">y</a> <a id="6375" class="Symbol">:</a> <a id="6377" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="6383" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="6385" href="Monad.Instance.Setoids.Delay.html#6348" class="Bound">A</a> <a id="6387" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="6388" class="Symbol">}</a> <a id="6390" class="Symbol">→</a> <a id="6392" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="6394" href="Monad.Instance.Setoids.Delay.html#6348" class="Bound">A</a> <a id="6396" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="6399" href="Monad.Instance.Setoids.Delay.html#6371" class="Bound">x</a> <a id="6401" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="6404" href="Monad.Instance.Setoids.Delay.html#6373" class="Bound">y</a> <a id="6406" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a> <a id="6408" class="Symbol">→</a> <a id="6410" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="6412" href="Monad.Instance.Setoids.Delay.html#6348" class="Bound">A</a> <a id="6414" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="6417" href="Monad.Instance.Setoids.Delay.html#6371" class="Bound">x</a> <a id="6419" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="6422" href="Monad.Instance.Setoids.Delay.html#6373" class="Bound">y</a> <a id="6424" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a>
|
||
<a id="6428" href="Monad.Instance.Setoids.Delay.html#6250" class="Function">∼⇒≈</a> <a id="6432" class="Symbol">{</a><a id="6433" href="Monad.Instance.Setoids.Delay.html#6433" class="Bound">A</a><a id="6434" class="Symbol">}</a> <a id="6436" class="Symbol">{</a><a id="6437" class="DottedPattern Symbol">.(</a><a id="6439" href="Monad.Instance.Setoids.Delay.html#1057" class="DottedPattern InductiveConstructor">now</a> <a id="6443" class="DottedPattern Symbol">_)</a><a id="6445" class="Symbol">}</a> <a id="6447" class="Symbol">{</a><a id="6448" class="DottedPattern Symbol">.(</a><a id="6450" href="Monad.Instance.Setoids.Delay.html#1057" class="DottedPattern InductiveConstructor">now</a> <a id="6454" class="DottedPattern Symbol">_)</a><a id="6456" class="Symbol">}</a> <a id="6458" class="Symbol">(</a><a id="6459" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="6464" href="Monad.Instance.Setoids.Delay.html#6464" class="Bound">a≡b</a><a id="6467" class="Symbol">)</a> <a id="6469" class="Symbol">=</a> <a id="6471" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="6474" href="Monad.Instance.Setoids.Delay.html#6464" class="Bound">a≡b</a> <a id="6478" class="Symbol">(</a><a id="6479" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="6484" class="Symbol">(</a><a id="6485" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="6492" href="Monad.Instance.Setoids.Delay.html#6433" class="Bound">A</a><a id="6493" class="Symbol">))</a> <a id="6496" class="Symbol">(</a><a id="6497" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="6502" class="Symbol">(</a><a id="6503" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="6510" href="Monad.Instance.Setoids.Delay.html#6433" class="Bound">A</a><a id="6511" class="Symbol">))</a>
|
||
<a id="6516" href="Monad.Instance.Setoids.Delay.html#6250" class="Function">∼⇒≈</a> <a id="6520" class="Symbol">{</a><a id="6521" href="Monad.Instance.Setoids.Delay.html#6521" class="Bound">A</a><a id="6522" class="Symbol">}</a> <a id="6524" class="Symbol">{</a><a id="6525" class="DottedPattern Symbol">.(</a><a id="6527" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="6533" class="DottedPattern Symbol">_)</a><a id="6535" class="Symbol">}</a> <a id="6537" class="Symbol">{</a><a id="6538" class="DottedPattern Symbol">.(</a><a id="6540" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="6546" class="DottedPattern Symbol">_)</a><a id="6548" class="Symbol">}</a> <a id="6550" class="Symbol">(</a><a id="6551" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="6558" href="Monad.Instance.Setoids.Delay.html#6558" class="Bound">x∼y</a><a id="6561" class="Symbol">)</a> <a id="6563" class="Symbol">=</a> <a id="6565" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="6572" class="Symbol">(</a><a id="6573" href="Monad.Instance.Setoids.Delay.html#6337" class="Function">∼′⇒≈′</a> <a id="6579" href="Monad.Instance.Setoids.Delay.html#6558" class="Bound">x∼y</a><a id="6582" class="Symbol">)</a>
|
||
<a id="6586" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="6593" class="Symbol">(</a><a id="6594" href="Monad.Instance.Setoids.Delay.html#6337" class="Function">∼′⇒≈′</a> <a id="6600" class="Symbol">{</a><a id="6601" href="Monad.Instance.Setoids.Delay.html#6601" class="Bound">A</a><a id="6602" class="Symbol">}</a> <a id="6604" class="Symbol">{</a><a id="6605" href="Monad.Instance.Setoids.Delay.html#6605" class="Bound">x</a><a id="6606" class="Symbol">}</a> <a id="6608" class="Symbol">{</a><a id="6609" href="Monad.Instance.Setoids.Delay.html#6609" class="Bound">y</a><a id="6610" class="Symbol">}</a> <a id="6612" href="Monad.Instance.Setoids.Delay.html#6612" class="Bound">x∼y</a><a id="6615" class="Symbol">)</a> <a id="6617" class="Symbol">=</a> <a id="6619" href="Monad.Instance.Setoids.Delay.html#6250" class="Function">∼⇒≈</a> <a id="6623" class="Symbol">(</a><a id="6624" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="6631" href="Monad.Instance.Setoids.Delay.html#6612" class="Bound">x∼y</a><a id="6634" class="Symbol">)</a>
|
||
|
||
<a id="DelayMonad.now-cong"></a><a id="6639" href="Monad.Instance.Setoids.Delay.html#6639" class="Function">now-cong</a> <a id="6648" class="Symbol">:</a> <a id="6650" class="Symbol">∀</a> <a id="6652" class="Symbol">{</a><a id="6653" href="Monad.Instance.Setoids.Delay.html#6653" class="Bound">A</a> <a id="6655" class="Symbol">:</a> <a id="6657" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="6664" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6666" class="Symbol">(</a><a id="6667" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6669" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="6671" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="6672" class="Symbol">)}</a> <a id="6675" class="Symbol">{</a><a id="6676" href="Monad.Instance.Setoids.Delay.html#6676" class="Bound">x</a> <a id="6678" href="Monad.Instance.Setoids.Delay.html#6678" class="Bound">y</a> <a id="6680" class="Symbol">:</a> <a id="6682" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="6684" href="Monad.Instance.Setoids.Delay.html#6653" class="Bound">A</a> <a id="6686" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="6687" class="Symbol">}</a> <a id="6689" class="Symbol">→</a> <a id="6691" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">[</a> <a id="6693" href="Monad.Instance.Setoids.Delay.html#6653" class="Bound">A</a> <a id="6695" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">][</a> <a id="6698" href="Monad.Instance.Setoids.Delay.html#6676" class="Bound">x</a> <a id="6700" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">≡</a> <a id="6702" href="Monad.Instance.Setoids.Delay.html#6678" class="Bound">y</a> <a id="6704" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">]</a> <a id="6706" class="Symbol">→</a> <a id="6708" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="6710" href="Monad.Instance.Setoids.Delay.html#6653" class="Bound">A</a> <a id="6712" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="6715" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="6719" href="Monad.Instance.Setoids.Delay.html#6676" class="Bound">x</a> <a id="6721" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="6723" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="6727" href="Monad.Instance.Setoids.Delay.html#6678" class="Bound">y</a> <a id="6729" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a>
|
||
<a id="6733" href="Monad.Instance.Setoids.Delay.html#6639" class="Function">now-cong</a> <a id="6742" class="Symbol">{</a><a id="6743" href="Monad.Instance.Setoids.Delay.html#6743" class="Bound">A</a><a id="6744" class="Symbol">}</a> <a id="6746" class="Symbol">{</a><a id="6747" href="Monad.Instance.Setoids.Delay.html#6747" class="Bound">x</a><a id="6748" class="Symbol">}</a> <a id="6750" class="Symbol">{</a><a id="6751" href="Monad.Instance.Setoids.Delay.html#6751" class="Bound">y</a><a id="6752" class="Symbol">}</a> <a id="6754" href="Monad.Instance.Setoids.Delay.html#6754" class="Bound">x≡y</a> <a id="6758" class="Symbol">=</a> <a id="6760" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="6763" href="Monad.Instance.Setoids.Delay.html#6754" class="Bound">x≡y</a> <a id="6767" class="Symbol">(</a><a id="6768" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="6773" class="Symbol">(</a><a id="6774" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="6781" href="Monad.Instance.Setoids.Delay.html#6743" class="Bound">A</a><a id="6782" class="Symbol">))</a> <a id="6785" class="Symbol">(</a><a id="6786" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="6791" class="Symbol">(</a><a id="6792" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="6799" href="Monad.Instance.Setoids.Delay.html#6743" class="Bound">A</a><a id="6800" class="Symbol">))</a>
|
||
|
||
<a id="DelayMonad.later-cong"></a><a id="6806" href="Monad.Instance.Setoids.Delay.html#6806" class="Function">later-cong</a> <a id="6817" class="Symbol">:</a> <a id="6819" class="Symbol">∀</a> <a id="6821" class="Symbol">{</a><a id="6822" href="Monad.Instance.Setoids.Delay.html#6822" class="Bound">A</a> <a id="6824" class="Symbol">:</a> <a id="6826" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="6833" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6835" class="Symbol">(</a><a id="6836" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6838" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="6840" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="6841" class="Symbol">)}</a> <a id="6844" class="Symbol">{</a><a id="6845" href="Monad.Instance.Setoids.Delay.html#6845" class="Bound">x</a> <a id="6847" href="Monad.Instance.Setoids.Delay.html#6847" class="Bound">y</a> <a id="6849" class="Symbol">:</a> <a id="6851" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="6858" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="6860" href="Monad.Instance.Setoids.Delay.html#6822" class="Bound">A</a> <a id="6862" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="6863" class="Symbol">}</a> <a id="6865" class="Symbol">→</a> <a id="6867" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="6869" href="Monad.Instance.Setoids.Delay.html#6822" class="Bound">A</a> <a id="6871" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="6874" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="6880" href="Monad.Instance.Setoids.Delay.html#6845" class="Bound">x</a> <a id="6882" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="6885" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="6891" href="Monad.Instance.Setoids.Delay.html#6847" class="Bound">y</a> <a id="6893" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a> <a id="6895" class="Symbol">→</a> <a id="6897" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="6899" href="Monad.Instance.Setoids.Delay.html#6822" class="Bound">A</a> <a id="6901" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="6904" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="6910" href="Monad.Instance.Setoids.Delay.html#6845" class="Bound">x</a> <a id="6912" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="6914" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="6920" href="Monad.Instance.Setoids.Delay.html#6847" class="Bound">y</a> <a id="6922" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a>
|
||
<a id="6926" href="Monad.Instance.Setoids.Delay.html#6806" class="Function">later-cong</a> <a id="6937" class="Symbol">{</a><a id="6938" href="Monad.Instance.Setoids.Delay.html#6938" class="Bound">A</a><a id="6939" class="Symbol">}</a> <a id="6941" class="Symbol">{</a><a id="6942" href="Monad.Instance.Setoids.Delay.html#6942" class="Bound">x</a><a id="6943" class="Symbol">}</a> <a id="6945" class="Symbol">{</a><a id="6946" href="Monad.Instance.Setoids.Delay.html#6946" class="Bound">y</a><a id="6947" class="Symbol">}</a> <a id="6949" href="Monad.Instance.Setoids.Delay.html#6949" class="Bound">x≈y</a> <a id="6953" class="Symbol">=</a> <a id="6955" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="6962" href="Monad.Instance.Setoids.Delay.html#6949" class="Bound">x≈y</a>
|
||
|
||
<a id="DelayMonad.now-cong∼"></a><a id="6969" href="Monad.Instance.Setoids.Delay.html#6969" class="Function">now-cong∼</a> <a id="6979" class="Symbol">:</a> <a id="6981" class="Symbol">∀</a> <a id="6983" class="Symbol">{</a><a id="6984" href="Monad.Instance.Setoids.Delay.html#6984" class="Bound">A</a> <a id="6986" class="Symbol">:</a> <a id="6988" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="6995" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="6997" class="Symbol">(</a><a id="6998" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="7000" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="7002" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="7003" class="Symbol">)}</a> <a id="7006" class="Symbol">{</a><a id="7007" href="Monad.Instance.Setoids.Delay.html#7007" class="Bound">x</a> <a id="7009" href="Monad.Instance.Setoids.Delay.html#7009" class="Bound">y</a> <a id="7011" class="Symbol">:</a> <a id="7013" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="7015" href="Monad.Instance.Setoids.Delay.html#6984" class="Bound">A</a> <a id="7017" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="7018" class="Symbol">}</a> <a id="7020" class="Symbol">→</a> <a id="7022" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">[</a> <a id="7024" href="Monad.Instance.Setoids.Delay.html#6984" class="Bound">A</a> <a id="7026" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">][</a> <a id="7029" href="Monad.Instance.Setoids.Delay.html#7007" class="Bound">x</a> <a id="7031" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">≡</a> <a id="7033" href="Monad.Instance.Setoids.Delay.html#7009" class="Bound">y</a> <a id="7035" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">]</a> <a id="7037" class="Symbol">→</a> <a id="7039" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="7041" href="Monad.Instance.Setoids.Delay.html#6984" class="Bound">A</a> <a id="7043" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="7046" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="7050" href="Monad.Instance.Setoids.Delay.html#7007" class="Bound">x</a> <a id="7052" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="7054" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="7058" href="Monad.Instance.Setoids.Delay.html#7009" class="Bound">y</a> <a id="7060" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="7064" href="Monad.Instance.Setoids.Delay.html#6969" class="Function">now-cong∼</a> <a id="7074" class="Symbol">{</a><a id="7075" href="Monad.Instance.Setoids.Delay.html#7075" class="Bound">A</a><a id="7076" class="Symbol">}</a> <a id="7078" class="Symbol">{</a><a id="7079" href="Monad.Instance.Setoids.Delay.html#7079" class="Bound">x</a><a id="7080" class="Symbol">}</a> <a id="7082" class="Symbol">{</a><a id="7083" href="Monad.Instance.Setoids.Delay.html#7083" class="Bound">y</a><a id="7084" class="Symbol">}</a> <a id="7086" href="Monad.Instance.Setoids.Delay.html#7086" class="Bound">x≡y</a> <a id="7090" class="Symbol">=</a> <a id="7092" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="7097" href="Monad.Instance.Setoids.Delay.html#7086" class="Bound">x≡y</a>
|
||
|
||
<a id="DelayMonad.now-inj"></a><a id="7104" href="Monad.Instance.Setoids.Delay.html#7104" class="Function">now-inj</a> <a id="7112" class="Symbol">:</a> <a id="7114" class="Symbol">∀</a> <a id="7116" class="Symbol">{</a><a id="7117" href="Monad.Instance.Setoids.Delay.html#7117" class="Bound">A</a> <a id="7119" class="Symbol">:</a> <a id="7121" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="7128" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="7130" class="Symbol">(</a><a id="7131" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="7133" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="7135" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="7136" class="Symbol">)}</a> <a id="7139" class="Symbol">{</a><a id="7140" href="Monad.Instance.Setoids.Delay.html#7140" class="Bound">x</a> <a id="7142" href="Monad.Instance.Setoids.Delay.html#7142" class="Bound">y</a> <a id="7144" class="Symbol">:</a> <a id="7146" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="7148" href="Monad.Instance.Setoids.Delay.html#7117" class="Bound">A</a> <a id="7150" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="7151" class="Symbol">}</a> <a id="7153" class="Symbol">→</a> <a id="7155" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="7157" href="Monad.Instance.Setoids.Delay.html#7117" class="Bound">A</a> <a id="7159" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="7162" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="7166" href="Monad.Instance.Setoids.Delay.html#7140" class="Bound">x</a> <a id="7168" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="7170" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="7174" href="Monad.Instance.Setoids.Delay.html#7142" class="Bound">y</a> <a id="7176" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a> <a id="7178" class="Symbol">→</a> <a id="7180" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">[</a> <a id="7182" href="Monad.Instance.Setoids.Delay.html#7117" class="Bound">A</a> <a id="7184" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">][</a> <a id="7187" href="Monad.Instance.Setoids.Delay.html#7140" class="Bound">x</a> <a id="7189" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">≡</a> <a id="7191" href="Monad.Instance.Setoids.Delay.html#7142" class="Bound">y</a> <a id="7193" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">]</a>
|
||
<a id="7197" href="Monad.Instance.Setoids.Delay.html#7104" class="Function">now-inj</a> <a id="7205" class="Symbol">{</a><a id="7206" href="Monad.Instance.Setoids.Delay.html#7206" class="Bound">A</a><a id="7207" class="Symbol">}</a> <a id="7209" class="Symbol">{</a><a id="7210" href="Monad.Instance.Setoids.Delay.html#7210" class="Bound">x</a><a id="7211" class="Symbol">}</a> <a id="7213" class="Symbol">{</a><a id="7214" href="Monad.Instance.Setoids.Delay.html#7214" class="Bound">y</a><a id="7215" class="Symbol">}</a> <a id="7217" class="Symbol">(</a><a id="7218" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="7221" href="Monad.Instance.Setoids.Delay.html#7221" class="Bound">a≡b</a> <a id="7225" class="Symbol">(</a><a id="7226" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="7231" href="Monad.Instance.Setoids.Delay.html#7231" class="Bound">x≡a</a><a id="7234" class="Symbol">)</a> <a id="7236" class="Symbol">(</a><a id="7237" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="7242" href="Monad.Instance.Setoids.Delay.html#7242" class="Bound">y≡b</a><a id="7245" class="Symbol">))</a> <a id="7248" class="Symbol">=</a> <a id="7250" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="7258" href="Monad.Instance.Setoids.Delay.html#7206" class="Bound">A</a> <a id="7260" href="Monad.Instance.Setoids.Delay.html#7231" class="Bound">x≡a</a> <a id="7264" class="Symbol">(</a><a id="7265" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="7273" href="Monad.Instance.Setoids.Delay.html#7206" class="Bound">A</a> <a id="7275" href="Monad.Instance.Setoids.Delay.html#7221" class="Bound">a≡b</a> <a id="7279" class="Symbol">(</a><a id="7280" href="Monad.Instance.Setoids.Delay.html#979" class="Function">≡-sym</a> <a id="7286" href="Monad.Instance.Setoids.Delay.html#7206" class="Bound">A</a> <a id="7288" href="Monad.Instance.Setoids.Delay.html#7242" class="Bound">y≡b</a><a id="7291" class="Symbol">))</a>
|
||
|
||
<a id="DelayMonad.liftF"></a><a id="7297" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="7303" class="Symbol">:</a> <a id="7305" class="Symbol">∀</a> <a id="7307" class="Symbol">{</a><a id="7308" href="Monad.Instance.Setoids.Delay.html#7308" class="Bound">A</a> <a id="7310" href="Monad.Instance.Setoids.Delay.html#7310" class="Bound">B</a> <a id="7312" class="Symbol">:</a> <a id="7314" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="7318" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="7319" class="Symbol">}</a> <a id="7321" class="Symbol">→</a> <a id="7323" class="Symbol">(</a><a id="7324" href="Monad.Instance.Setoids.Delay.html#7308" class="Bound">A</a> <a id="7326" class="Symbol">→</a> <a id="7328" href="Monad.Instance.Setoids.Delay.html#7310" class="Bound">B</a><a id="7329" class="Symbol">)</a> <a id="7331" class="Symbol">→</a> <a id="7333" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="7339" href="Monad.Instance.Setoids.Delay.html#7308" class="Bound">A</a> <a id="7341" class="Symbol">→</a> <a id="7343" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="7349" href="Monad.Instance.Setoids.Delay.html#7310" class="Bound">B</a>
|
||
<a id="DelayMonad.liftF′"></a><a id="7353" href="Monad.Instance.Setoids.Delay.html#7353" class="Function">liftF′</a> <a id="7360" class="Symbol">:</a> <a id="7362" class="Symbol">∀</a> <a id="7364" class="Symbol">{</a><a id="7365" href="Monad.Instance.Setoids.Delay.html#7365" class="Bound">A</a> <a id="7367" href="Monad.Instance.Setoids.Delay.html#7367" class="Bound">B</a> <a id="7369" class="Symbol">:</a> <a id="7371" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="7375" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="7376" class="Symbol">}</a> <a id="7378" class="Symbol">→</a> <a id="7380" class="Symbol">(</a><a id="7381" href="Monad.Instance.Setoids.Delay.html#7365" class="Bound">A</a> <a id="7383" class="Symbol">→</a> <a id="7385" href="Monad.Instance.Setoids.Delay.html#7367" class="Bound">B</a><a id="7386" class="Symbol">)</a> <a id="7388" class="Symbol">→</a> <a id="7390" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="7397" href="Monad.Instance.Setoids.Delay.html#7365" class="Bound">A</a> <a id="7399" class="Symbol">→</a> <a id="7401" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="7408" href="Monad.Instance.Setoids.Delay.html#7367" class="Bound">B</a>
|
||
<a id="7412" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="7418" href="Monad.Instance.Setoids.Delay.html#7418" class="Bound">f</a> <a id="7420" class="Symbol">(</a><a id="7421" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="7425" href="Monad.Instance.Setoids.Delay.html#7425" class="Bound">x</a><a id="7426" class="Symbol">)</a> <a id="7428" class="Symbol">=</a> <a id="7430" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="7434" class="Symbol">(</a><a id="7435" href="Monad.Instance.Setoids.Delay.html#7418" class="Bound">f</a> <a id="7437" href="Monad.Instance.Setoids.Delay.html#7425" class="Bound">x</a><a id="7438" class="Symbol">)</a>
|
||
<a id="7442" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="7448" href="Monad.Instance.Setoids.Delay.html#7448" class="Bound">f</a> <a id="7450" class="Symbol">(</a><a id="7451" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="7457" href="Monad.Instance.Setoids.Delay.html#7457" class="Bound">x</a><a id="7458" class="Symbol">)</a> <a id="7460" class="Symbol">=</a> <a id="7462" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="7468" class="Symbol">(</a><a id="7469" href="Monad.Instance.Setoids.Delay.html#7353" class="Function">liftF′</a> <a id="7476" href="Monad.Instance.Setoids.Delay.html#7448" class="Bound">f</a> <a id="7478" href="Monad.Instance.Setoids.Delay.html#7457" class="Bound">x</a><a id="7479" class="Symbol">)</a>
|
||
<a id="7483" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="7489" class="Symbol">(</a><a id="7490" href="Monad.Instance.Setoids.Delay.html#7353" class="Function">liftF′</a> <a id="7497" href="Monad.Instance.Setoids.Delay.html#7497" class="Bound">f</a> <a id="7499" href="Monad.Instance.Setoids.Delay.html#7499" class="Bound">x</a><a id="7500" class="Symbol">)</a> <a id="7502" class="Symbol">=</a> <a id="7504" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="7510" href="Monad.Instance.Setoids.Delay.html#7497" class="Bound">f</a> <a id="7512" class="Symbol">(</a><a id="7513" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="7519" href="Monad.Instance.Setoids.Delay.html#7499" class="Bound">x</a><a id="7520" class="Symbol">)</a>
|
||
|
||
<a id="DelayMonad.lift↓"></a><a id="7525" href="Monad.Instance.Setoids.Delay.html#7525" class="Function">lift↓</a> <a id="7531" class="Symbol">:</a> <a id="7533" class="Symbol">∀</a> <a id="7535" class="Symbol">{</a><a id="7536" href="Monad.Instance.Setoids.Delay.html#7536" class="Bound">A</a> <a id="7538" href="Monad.Instance.Setoids.Delay.html#7538" class="Bound">B</a> <a id="7540" class="Symbol">:</a> <a id="7542" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="7549" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="7551" class="Symbol">(</a><a id="7552" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="7554" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="7556" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="7557" class="Symbol">)}</a> <a id="7560" class="Symbol">(</a><a id="7561" href="Monad.Instance.Setoids.Delay.html#7561" class="Bound">f</a> <a id="7563" class="Symbol">:</a> <a id="7565" href="Monad.Instance.Setoids.Delay.html#7536" class="Bound">A</a> <a id="7567" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="7569" href="Monad.Instance.Setoids.Delay.html#7538" class="Bound">B</a><a id="7570" class="Symbol">)</a> <a id="7572" class="Symbol">{</a><a id="7573" href="Monad.Instance.Setoids.Delay.html#7573" class="Bound">x</a> <a id="7575" class="Symbol">:</a> <a id="7577" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="7583" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="7585" href="Monad.Instance.Setoids.Delay.html#7536" class="Bound">A</a> <a id="7587" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="7588" class="Symbol">}</a> <a id="7590" class="Symbol">{</a><a id="7591" href="Monad.Instance.Setoids.Delay.html#7591" class="Bound">b</a> <a id="7593" class="Symbol">:</a> <a id="7595" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="7597" href="Monad.Instance.Setoids.Delay.html#7536" class="Bound">A</a> <a id="7599" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="7600" class="Symbol">}</a> <a id="7602" class="Symbol">→</a> <a id="7604" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="7606" href="Monad.Instance.Setoids.Delay.html#7536" class="Bound">A</a> <a id="7608" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="7611" href="Monad.Instance.Setoids.Delay.html#7573" class="Bound">x</a> <a id="7613" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="7615" href="Monad.Instance.Setoids.Delay.html#7591" class="Bound">b</a> <a id="7617" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a> <a id="7619" class="Symbol">→</a> <a id="7621" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="7623" href="Monad.Instance.Setoids.Delay.html#7538" class="Bound">B</a> <a id="7625" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="7628" class="Symbol">(</a><a id="7629" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="7635" class="Symbol">(</a><a id="7636" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><</a> <a id="7638" href="Monad.Instance.Setoids.Delay.html#7561" class="Bound">f</a> <a id="7640" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">></a><a id="7641" class="Symbol">)</a> <a id="7643" href="Monad.Instance.Setoids.Delay.html#7573" class="Bound">x</a><a id="7644" class="Symbol">)</a> <a id="7646" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="7648" class="Symbol">(</a><a id="7649" href="Monad.Instance.Setoids.Delay.html#7561" class="Bound">f</a> <a id="7651" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="7655" href="Monad.Instance.Setoids.Delay.html#7591" class="Bound">b</a><a id="7656" class="Symbol">)</a> <a id="7658" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a>
|
||
<a id="7662" href="Monad.Instance.Setoids.Delay.html#7525" class="Function">lift↓</a> <a id="7668" class="Symbol">{</a><a id="7669" href="Monad.Instance.Setoids.Delay.html#7669" class="Bound">A</a><a id="7670" class="Symbol">}</a> <a id="7672" class="Symbol">{</a><a id="7673" href="Monad.Instance.Setoids.Delay.html#7673" class="Bound">B</a><a id="7674" class="Symbol">}</a> <a id="7676" href="Monad.Instance.Setoids.Delay.html#7676" class="Bound">f</a> <a id="7678" class="Symbol">{</a><a id="7679" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="7683" href="Monad.Instance.Setoids.Delay.html#7683" class="Bound">x</a><a id="7684" class="Symbol">}</a> <a id="7686" class="Symbol">{</a><a id="7687" href="Monad.Instance.Setoids.Delay.html#7687" class="Bound">b</a><a id="7688" class="Symbol">}</a> <a id="7690" class="Symbol">(</a><a id="7691" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="7696" href="Monad.Instance.Setoids.Delay.html#7696" class="Bound">x≡a</a><a id="7699" class="Symbol">)</a> <a id="7701" class="Symbol">=</a> <a id="7703" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="7708" class="Symbol">(</a><a id="7709" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="7714" href="Monad.Instance.Setoids.Delay.html#7676" class="Bound">f</a> <a id="7716" href="Monad.Instance.Setoids.Delay.html#7696" class="Bound">x≡a</a><a id="7719" class="Symbol">)</a>
|
||
<a id="7723" href="Monad.Instance.Setoids.Delay.html#7525" class="Function">lift↓</a> <a id="7729" class="Symbol">{</a><a id="7730" href="Monad.Instance.Setoids.Delay.html#7730" class="Bound">A</a><a id="7731" class="Symbol">}</a> <a id="7733" class="Symbol">{</a><a id="7734" href="Monad.Instance.Setoids.Delay.html#7734" class="Bound">B</a><a id="7735" class="Symbol">}</a> <a id="7737" href="Monad.Instance.Setoids.Delay.html#7737" class="Bound">f</a> <a id="7739" class="Symbol">{</a><a id="7740" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="7746" href="Monad.Instance.Setoids.Delay.html#7746" class="Bound">x</a><a id="7747" class="Symbol">}</a> <a id="7749" class="Symbol">{</a><a id="7750" href="Monad.Instance.Setoids.Delay.html#7750" class="Bound">b</a><a id="7751" class="Symbol">}</a> <a id="7753" class="Symbol">(</a><a id="7754" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="7761" href="Monad.Instance.Setoids.Delay.html#7761" class="Bound">x↓b</a><a id="7764" class="Symbol">)</a> <a id="7766" class="Symbol">=</a> <a id="7768" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="7775" class="Symbol">(</a><a id="7776" href="Monad.Instance.Setoids.Delay.html#7525" class="Function">lift↓</a> <a id="7782" href="Monad.Instance.Setoids.Delay.html#7737" class="Bound">f</a> <a id="7784" href="Monad.Instance.Setoids.Delay.html#7761" class="Bound">x↓b</a><a id="7787" class="Symbol">)</a>
|
||
|
||
<a id="DelayMonad.lift-cong"></a><a id="7792" href="Monad.Instance.Setoids.Delay.html#7792" class="Function">lift-cong</a> <a id="7802" class="Symbol">:</a> <a id="7804" class="Symbol">∀</a> <a id="7806" class="Symbol">{</a><a id="7807" href="Monad.Instance.Setoids.Delay.html#7807" class="Bound">A</a> <a id="7809" href="Monad.Instance.Setoids.Delay.html#7809" class="Bound">B</a> <a id="7811" class="Symbol">:</a> <a id="7813" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="7820" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="7822" class="Symbol">(</a><a id="7823" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="7825" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="7827" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="7828" class="Symbol">)}</a> <a id="7831" class="Symbol">(</a><a id="7832" href="Monad.Instance.Setoids.Delay.html#7832" class="Bound">f</a> <a id="7834" class="Symbol">:</a> <a id="7836" href="Monad.Instance.Setoids.Delay.html#7807" class="Bound">A</a> <a id="7838" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="7840" href="Monad.Instance.Setoids.Delay.html#7809" class="Bound">B</a><a id="7841" class="Symbol">)</a> <a id="7843" class="Symbol">{</a><a id="7844" href="Monad.Instance.Setoids.Delay.html#7844" class="Bound">x</a> <a id="7846" href="Monad.Instance.Setoids.Delay.html#7846" class="Bound">y</a> <a id="7848" class="Symbol">:</a> <a id="7850" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="7856" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="7858" href="Monad.Instance.Setoids.Delay.html#7807" class="Bound">A</a> <a id="7860" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="7861" class="Symbol">}</a> <a id="7863" class="Symbol">→</a> <a id="7865" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="7867" href="Monad.Instance.Setoids.Delay.html#7807" class="Bound">A</a> <a id="7869" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="7872" href="Monad.Instance.Setoids.Delay.html#7844" class="Bound">x</a> <a id="7874" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="7876" href="Monad.Instance.Setoids.Delay.html#7846" class="Bound">y</a> <a id="7878" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a> <a id="7880" class="Symbol">→</a> <a id="7882" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="7884" href="Monad.Instance.Setoids.Delay.html#7809" class="Bound">B</a> <a id="7886" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="7889" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="7895" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><</a> <a id="7897" href="Monad.Instance.Setoids.Delay.html#7832" class="Bound">f</a> <a id="7899" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">></a> <a id="7901" href="Monad.Instance.Setoids.Delay.html#7844" class="Bound">x</a> <a id="7903" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="7905" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="7911" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><</a> <a id="7913" href="Monad.Instance.Setoids.Delay.html#7832" class="Bound">f</a> <a id="7915" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">></a> <a id="7917" href="Monad.Instance.Setoids.Delay.html#7846" class="Bound">y</a> <a id="7919" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a>
|
||
<a id="DelayMonad.lift-cong′"></a><a id="7923" href="Monad.Instance.Setoids.Delay.html#7923" class="Function">lift-cong′</a> <a id="7934" class="Symbol">:</a> <a id="7936" class="Symbol">∀</a> <a id="7938" class="Symbol">{</a><a id="7939" href="Monad.Instance.Setoids.Delay.html#7939" class="Bound">A</a> <a id="7941" href="Monad.Instance.Setoids.Delay.html#7941" class="Bound">B</a> <a id="7943" class="Symbol">:</a> <a id="7945" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="7952" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="7954" class="Symbol">(</a><a id="7955" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="7957" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="7959" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="7960" class="Symbol">)}</a> <a id="7963" class="Symbol">(</a><a id="7964" href="Monad.Instance.Setoids.Delay.html#7964" class="Bound">f</a> <a id="7966" class="Symbol">:</a> <a id="7968" href="Monad.Instance.Setoids.Delay.html#7939" class="Bound">A</a> <a id="7970" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="7972" href="Monad.Instance.Setoids.Delay.html#7941" class="Bound">B</a><a id="7973" class="Symbol">)</a> <a id="7975" class="Symbol">{</a><a id="7976" href="Monad.Instance.Setoids.Delay.html#7976" class="Bound">x</a> <a id="7978" href="Monad.Instance.Setoids.Delay.html#7978" class="Bound">y</a> <a id="7980" class="Symbol">:</a> <a id="7982" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="7988" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="7990" href="Monad.Instance.Setoids.Delay.html#7939" class="Bound">A</a> <a id="7992" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="7993" class="Symbol">}</a> <a id="7995" class="Symbol">→</a> <a id="7997" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="7999" href="Monad.Instance.Setoids.Delay.html#7939" class="Bound">A</a> <a id="8001" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="8004" href="Monad.Instance.Setoids.Delay.html#7976" class="Bound">x</a> <a id="8006" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="8009" href="Monad.Instance.Setoids.Delay.html#7978" class="Bound">y</a> <a id="8011" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a> <a id="8013" class="Symbol">→</a> <a id="8015" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="8017" href="Monad.Instance.Setoids.Delay.html#7941" class="Bound">B</a> <a id="8019" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="8022" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="8028" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><</a> <a id="8030" href="Monad.Instance.Setoids.Delay.html#7964" class="Bound">f</a> <a id="8032" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">></a> <a id="8034" href="Monad.Instance.Setoids.Delay.html#7976" class="Bound">x</a> <a id="8036" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="8039" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="8045" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><</a> <a id="8047" href="Monad.Instance.Setoids.Delay.html#7964" class="Bound">f</a> <a id="8049" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">></a> <a id="8051" href="Monad.Instance.Setoids.Delay.html#7978" class="Bound">y</a> <a id="8053" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a>
|
||
<a id="8057" href="Monad.Instance.Setoids.Delay.html#7792" class="Function">lift-cong</a> <a id="8067" class="Symbol">{</a><a id="8068" href="Monad.Instance.Setoids.Delay.html#8068" class="Bound">A</a><a id="8069" class="Symbol">}</a> <a id="8071" class="Symbol">{</a><a id="8072" href="Monad.Instance.Setoids.Delay.html#8072" class="Bound">B</a><a id="8073" class="Symbol">}</a> <a id="8075" href="Monad.Instance.Setoids.Delay.html#8075" class="Bound">f</a> <a id="8077" class="Symbol">{</a><a id="8078" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="8082" href="Monad.Instance.Setoids.Delay.html#8082" class="Bound">x</a><a id="8083" class="Symbol">}</a> <a id="8085" class="Symbol">{</a><a id="8086" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="8090" href="Monad.Instance.Setoids.Delay.html#8090" class="Bound">y</a><a id="8091" class="Symbol">}</a> <a id="8093" class="Symbol">(</a><a id="8094" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="8097" href="Monad.Instance.Setoids.Delay.html#8097" class="Bound">a≡b</a> <a id="8101" class="Symbol">(</a><a id="8102" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="8107" href="Monad.Instance.Setoids.Delay.html#8107" class="Bound">x≡a</a><a id="8110" class="Symbol">)</a> <a id="8112" class="Symbol">(</a><a id="8113" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="8118" href="Monad.Instance.Setoids.Delay.html#8118" class="Bound">y≡b</a><a id="8121" class="Symbol">))</a> <a id="8124" class="Symbol">=</a> <a id="8126" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="8129" class="Symbol">(</a><a id="8130" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="8135" href="Monad.Instance.Setoids.Delay.html#8075" class="Bound">f</a> <a id="8137" href="Monad.Instance.Setoids.Delay.html#8097" class="Bound">a≡b</a><a id="8140" class="Symbol">)</a> <a id="8142" class="Symbol">(</a><a id="8143" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="8148" class="Symbol">(</a><a id="8149" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="8154" href="Monad.Instance.Setoids.Delay.html#8075" class="Bound">f</a> <a id="8156" href="Monad.Instance.Setoids.Delay.html#8107" class="Bound">x≡a</a><a id="8159" class="Symbol">))</a> <a id="8162" class="Symbol">(</a><a id="8163" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="8168" class="Symbol">(</a><a id="8169" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="8174" href="Monad.Instance.Setoids.Delay.html#8075" class="Bound">f</a> <a id="8176" href="Monad.Instance.Setoids.Delay.html#8118" class="Bound">y≡b</a><a id="8179" class="Symbol">))</a>
|
||
<a id="8184" href="Monad.Instance.Setoids.Delay.html#7792" class="Function">lift-cong</a> <a id="8194" class="Symbol">{</a><a id="8195" href="Monad.Instance.Setoids.Delay.html#8195" class="Bound">A</a><a id="8196" class="Symbol">}</a> <a id="8198" class="Symbol">{</a><a id="8199" href="Monad.Instance.Setoids.Delay.html#8199" class="Bound">B</a><a id="8200" class="Symbol">}</a> <a id="8202" href="Monad.Instance.Setoids.Delay.html#8202" class="Bound">f</a> <a id="8204" class="Symbol">{</a><a id="8205" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="8209" href="Monad.Instance.Setoids.Delay.html#8209" class="Bound">x</a><a id="8210" class="Symbol">}</a> <a id="8212" class="Symbol">{</a><a id="8213" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="8219" href="Monad.Instance.Setoids.Delay.html#8219" class="Bound">y</a><a id="8220" class="Symbol">}</a> <a id="8222" class="Symbol">(</a><a id="8223" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="8226" href="Monad.Instance.Setoids.Delay.html#8226" class="Bound">a≡b</a> <a id="8230" class="Symbol">(</a><a id="8231" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="8236" href="Monad.Instance.Setoids.Delay.html#8236" class="Bound">x≡a</a><a id="8239" class="Symbol">)</a> <a id="8241" class="Symbol">(</a><a id="8242" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="8249" href="Monad.Instance.Setoids.Delay.html#8249" class="Bound">y↓b</a><a id="8252" class="Symbol">))</a> <a id="8255" class="Symbol">=</a> <a id="8257" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="8260" class="Symbol">(</a><a id="8261" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="8266" href="Monad.Instance.Setoids.Delay.html#8202" class="Bound">f</a> <a id="8268" href="Monad.Instance.Setoids.Delay.html#8226" class="Bound">a≡b</a><a id="8271" class="Symbol">)</a> <a id="8273" class="Symbol">(</a><a id="8274" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="8279" class="Symbol">(</a><a id="8280" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="8285" href="Monad.Instance.Setoids.Delay.html#8202" class="Bound">f</a> <a id="8287" href="Monad.Instance.Setoids.Delay.html#8236" class="Bound">x≡a</a><a id="8290" class="Symbol">))</a> <a id="8293" class="Symbol">(</a><a id="8294" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="8301" class="Symbol">(</a><a id="8302" href="Monad.Instance.Setoids.Delay.html#7525" class="Function">lift↓</a> <a id="8308" href="Monad.Instance.Setoids.Delay.html#8202" class="Bound">f</a> <a id="8310" href="Monad.Instance.Setoids.Delay.html#8249" class="Bound">y↓b</a><a id="8313" class="Symbol">))</a>
|
||
<a id="8318" href="Monad.Instance.Setoids.Delay.html#7792" class="Function">lift-cong</a> <a id="8328" class="Symbol">{</a><a id="8329" href="Monad.Instance.Setoids.Delay.html#8329" class="Bound">A</a><a id="8330" class="Symbol">}</a> <a id="8332" class="Symbol">{</a><a id="8333" href="Monad.Instance.Setoids.Delay.html#8333" class="Bound">B</a><a id="8334" class="Symbol">}</a> <a id="8336" href="Monad.Instance.Setoids.Delay.html#8336" class="Bound">f</a> <a id="8338" class="Symbol">{</a><a id="8339" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="8345" href="Monad.Instance.Setoids.Delay.html#8345" class="Bound">x</a><a id="8346" class="Symbol">}</a> <a id="8348" class="Symbol">{</a><a id="8349" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="8353" href="Monad.Instance.Setoids.Delay.html#8353" class="Bound">y</a><a id="8354" class="Symbol">}</a> <a id="8356" class="Symbol">(</a><a id="8357" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="8360" href="Monad.Instance.Setoids.Delay.html#8360" class="Bound">a≡b</a> <a id="8364" class="Symbol">(</a><a id="8365" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="8372" href="Monad.Instance.Setoids.Delay.html#8372" class="Bound">x↓a</a><a id="8375" class="Symbol">)</a> <a id="8377" class="Symbol">(</a><a id="8378" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="8383" href="Monad.Instance.Setoids.Delay.html#8383" class="Bound">y≡b</a><a id="8386" class="Symbol">))</a> <a id="8389" class="Symbol">=</a> <a id="8391" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="8394" class="Symbol">(</a><a id="8395" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="8400" href="Monad.Instance.Setoids.Delay.html#8336" class="Bound">f</a> <a id="8402" href="Monad.Instance.Setoids.Delay.html#8360" class="Bound">a≡b</a><a id="8405" class="Symbol">)</a> <a id="8407" class="Symbol">(</a><a id="8408" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="8415" class="Symbol">(</a><a id="8416" href="Monad.Instance.Setoids.Delay.html#7525" class="Function">lift↓</a> <a id="8422" href="Monad.Instance.Setoids.Delay.html#8336" class="Bound">f</a> <a id="8424" href="Monad.Instance.Setoids.Delay.html#8372" class="Bound">x↓a</a><a id="8427" class="Symbol">))</a> <a id="8430" class="Symbol">(</a><a id="8431" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="8436" class="Symbol">(</a><a id="8437" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="8442" href="Monad.Instance.Setoids.Delay.html#8336" class="Bound">f</a> <a id="8444" href="Monad.Instance.Setoids.Delay.html#8383" class="Bound">y≡b</a><a id="8447" class="Symbol">))</a>
|
||
<a id="8452" href="Monad.Instance.Setoids.Delay.html#7792" class="Function">lift-cong</a> <a id="8462" class="Symbol">{</a><a id="8463" href="Monad.Instance.Setoids.Delay.html#8463" class="Bound">A</a><a id="8464" class="Symbol">}</a> <a id="8466" class="Symbol">{</a><a id="8467" href="Monad.Instance.Setoids.Delay.html#8467" class="Bound">B</a><a id="8468" class="Symbol">}</a> <a id="8470" href="Monad.Instance.Setoids.Delay.html#8470" class="Bound">f</a> <a id="8472" class="Symbol">{</a><a id="8473" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="8479" href="Monad.Instance.Setoids.Delay.html#8479" class="Bound">x</a><a id="8480" class="Symbol">}</a> <a id="8482" class="Symbol">{</a><a id="8483" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="8489" href="Monad.Instance.Setoids.Delay.html#8489" class="Bound">y</a><a id="8490" class="Symbol">}</a> <a id="8492" class="Symbol">(</a><a id="8493" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="8496" href="Monad.Instance.Setoids.Delay.html#8496" class="Bound">a≡b</a> <a id="8500" class="Symbol">(</a><a id="8501" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="8508" href="Monad.Instance.Setoids.Delay.html#8508" class="Bound">x↓a</a><a id="8511" class="Symbol">)</a> <a id="8513" class="Symbol">(</a><a id="8514" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="8521" href="Monad.Instance.Setoids.Delay.html#8521" class="Bound">y↓b</a><a id="8524" class="Symbol">))</a> <a id="8527" class="Symbol">=</a> <a id="8529" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="8536" class="Symbol">(</a><a id="8537" href="Monad.Instance.Setoids.Delay.html#7923" class="Function">lift-cong′</a> <a id="8548" href="Monad.Instance.Setoids.Delay.html#8470" class="Bound">f</a> <a id="8550" class="Symbol">(</a><a id="8551" href="Monad.Instance.Setoids.Delay.html#3662" class="Function">≈→≈′</a> <a id="8556" href="Monad.Instance.Setoids.Delay.html#8463" class="Bound">A</a> <a id="8558" class="Symbol">(</a><a id="8559" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="8562" href="Monad.Instance.Setoids.Delay.html#8496" class="Bound">a≡b</a> <a id="8566" href="Monad.Instance.Setoids.Delay.html#8508" class="Bound">x↓a</a> <a id="8570" href="Monad.Instance.Setoids.Delay.html#8521" class="Bound">y↓b</a><a id="8573" class="Symbol">)))</a>
|
||
<a id="8579" href="Monad.Instance.Setoids.Delay.html#7792" class="Function">lift-cong</a> <a id="8589" class="Symbol">{</a><a id="8590" href="Monad.Instance.Setoids.Delay.html#8590" class="Bound">A</a><a id="8591" class="Symbol">}</a> <a id="8593" class="Symbol">{</a><a id="8594" href="Monad.Instance.Setoids.Delay.html#8594" class="Bound">B</a><a id="8595" class="Symbol">}</a> <a id="8597" href="Monad.Instance.Setoids.Delay.html#8597" class="Bound">f</a> <a id="8599" class="Symbol">{</a><a id="8600" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="8606" href="Monad.Instance.Setoids.Delay.html#8606" class="Bound">x</a><a id="8607" class="Symbol">}</a> <a id="8609" class="Symbol">{</a><a id="8610" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="8616" href="Monad.Instance.Setoids.Delay.html#8616" class="Bound">y</a><a id="8617" class="Symbol">}</a> <a id="8619" class="Symbol">(</a><a id="8620" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="8627" href="Monad.Instance.Setoids.Delay.html#8627" class="Bound">x≈y</a><a id="8630" class="Symbol">)</a> <a id="8632" class="Symbol">=</a> <a id="8634" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="8641" class="Symbol">(</a><a id="8642" href="Monad.Instance.Setoids.Delay.html#7923" class="Function">lift-cong′</a> <a id="8653" class="Symbol">{</a><a id="8654" href="Monad.Instance.Setoids.Delay.html#8590" class="Bound">A</a><a id="8655" class="Symbol">}</a> <a id="8657" class="Symbol">{</a><a id="8658" href="Monad.Instance.Setoids.Delay.html#8594" class="Bound">B</a><a id="8659" class="Symbol">}</a> <a id="8661" href="Monad.Instance.Setoids.Delay.html#8597" class="Bound">f</a> <a id="8663" href="Monad.Instance.Setoids.Delay.html#8627" class="Bound">x≈y</a><a id="8666" class="Symbol">)</a>
|
||
<a id="8670" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="8677" class="Symbol">(</a><a id="8678" href="Monad.Instance.Setoids.Delay.html#7923" class="Function">lift-cong′</a> <a id="8689" class="Symbol">{</a><a id="8690" href="Monad.Instance.Setoids.Delay.html#8690" class="Bound">A</a><a id="8691" class="Symbol">}</a> <a id="8693" class="Symbol">{</a><a id="8694" href="Monad.Instance.Setoids.Delay.html#8694" class="Bound">B</a><a id="8695" class="Symbol">}</a> <a id="8697" href="Monad.Instance.Setoids.Delay.html#8697" class="Bound">f</a> <a id="8699" class="Symbol">{</a><a id="8700" href="Monad.Instance.Setoids.Delay.html#8700" class="Bound">x</a><a id="8701" class="Symbol">}</a> <a id="8703" class="Symbol">{</a><a id="8704" href="Monad.Instance.Setoids.Delay.html#8704" class="Bound">y</a><a id="8705" class="Symbol">}</a> <a id="8707" href="Monad.Instance.Setoids.Delay.html#8707" class="Bound">x≈y</a><a id="8710" class="Symbol">)</a> <a id="8712" class="Symbol">=</a> <a id="8714" href="Monad.Instance.Setoids.Delay.html#7792" class="Function">lift-cong</a> <a id="8724" href="Monad.Instance.Setoids.Delay.html#8697" class="Bound">f</a> <a id="8726" class="Symbol">(</a><a id="8727" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="8734" href="Monad.Instance.Setoids.Delay.html#8707" class="Bound">x≈y</a><a id="8737" class="Symbol">)</a>
|
||
|
||
<a id="DelayMonad.liftFₛ"></a><a id="8742" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="8749" class="Symbol">:</a> <a id="8751" class="Symbol">∀</a> <a id="8753" class="Symbol">{</a><a id="8754" href="Monad.Instance.Setoids.Delay.html#8754" class="Bound">A</a> <a id="8756" href="Monad.Instance.Setoids.Delay.html#8756" class="Bound">B</a> <a id="8758" class="Symbol">:</a> <a id="8760" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="8767" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="8769" class="Symbol">(</a><a id="8770" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="8772" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="8774" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="8775" class="Symbol">)}</a> <a id="8778" class="Symbol">→</a> <a id="8780" href="Monad.Instance.Setoids.Delay.html#8754" class="Bound">A</a> <a id="8782" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="8784" href="Monad.Instance.Setoids.Delay.html#8756" class="Bound">B</a> <a id="8786" class="Symbol">→</a> <a id="8788" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="8795" href="Monad.Instance.Setoids.Delay.html#8754" class="Bound">A</a> <a id="8797" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="8799" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="8806" href="Monad.Instance.Setoids.Delay.html#8756" class="Bound">B</a>
|
||
<a id="8810" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="8817" class="Symbol">{</a><a id="8818" href="Monad.Instance.Setoids.Delay.html#8818" class="Bound">A</a><a id="8819" class="Symbol">}</a> <a id="8821" class="Symbol">{</a><a id="8822" href="Monad.Instance.Setoids.Delay.html#8822" class="Bound">B</a><a id="8823" class="Symbol">}</a> <a id="8825" href="Monad.Instance.Setoids.Delay.html#8825" class="Bound">f</a> <a id="8827" class="Symbol">=</a> <a id="8829" class="Keyword">record</a> <a id="8836" class="Symbol">{</a> <a id="8838" href="Function.Bundles.html#2094" class="Field">to</a> <a id="8841" class="Symbol">=</a> <a id="8843" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="8849" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><</a> <a id="8851" href="Monad.Instance.Setoids.Delay.html#8825" class="Bound">f</a> <a id="8853" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">></a> <a id="8855" class="Symbol">;</a> <a id="8857" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="8862" class="Symbol">=</a> <a id="8864" href="Monad.Instance.Setoids.Delay.html#7792" class="Function">lift-cong</a> <a id="8874" href="Monad.Instance.Setoids.Delay.html#8825" class="Bound">f</a> <a id="8876" class="Symbol">}</a>
|
||
|
||
<a id="DelayMonad.liftFₛ∼"></a><a id="8881" href="Monad.Instance.Setoids.Delay.html#8881" class="Function">liftFₛ∼</a> <a id="8889" class="Symbol">:</a> <a id="8891" class="Symbol">∀</a> <a id="8893" class="Symbol">{</a><a id="8894" href="Monad.Instance.Setoids.Delay.html#8894" class="Bound">A</a> <a id="8896" href="Monad.Instance.Setoids.Delay.html#8896" class="Bound">B</a> <a id="8898" class="Symbol">:</a> <a id="8900" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="8907" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="8909" class="Symbol">(</a><a id="8910" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="8912" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="8914" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="8915" class="Symbol">)}</a> <a id="8918" class="Symbol">→</a> <a id="8920" href="Monad.Instance.Setoids.Delay.html#8894" class="Bound">A</a> <a id="8922" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="8924" href="Monad.Instance.Setoids.Delay.html#8896" class="Bound">B</a> <a id="8926" class="Symbol">→</a> <a id="8928" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ∼</a> <a id="8936" href="Monad.Instance.Setoids.Delay.html#8894" class="Bound">A</a> <a id="8938" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="8940" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ∼</a> <a id="8948" href="Monad.Instance.Setoids.Delay.html#8896" class="Bound">B</a>
|
||
<a id="8952" href="Monad.Instance.Setoids.Delay.html#8881" class="Function">liftFₛ∼</a> <a id="8960" class="Symbol">{</a><a id="8961" href="Monad.Instance.Setoids.Delay.html#8961" class="Bound">A</a><a id="8962" class="Symbol">}</a> <a id="8964" class="Symbol">{</a><a id="8965" href="Monad.Instance.Setoids.Delay.html#8965" class="Bound">B</a><a id="8966" class="Symbol">}</a> <a id="8968" href="Monad.Instance.Setoids.Delay.html#8968" class="Bound">f</a> <a id="8970" class="Symbol">=</a> <a id="8972" class="Keyword">record</a> <a id="8979" class="Symbol">{</a> <a id="8981" href="Function.Bundles.html#2094" class="Field">to</a> <a id="8984" class="Symbol">=</a> <a id="8986" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="8992" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><</a> <a id="8994" href="Monad.Instance.Setoids.Delay.html#8968" class="Bound">f</a> <a id="8996" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">></a> <a id="8998" class="Symbol">;</a> <a id="9000" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="9005" class="Symbol">=</a> <a id="9007" href="Monad.Instance.Setoids.Delay.html#9032" class="Function">∼-cong</a> <a id="9014" class="Symbol">}</a>
|
||
<a id="9020" class="Keyword">where</a>
|
||
<a id="9032" href="Monad.Instance.Setoids.Delay.html#9032" class="Function">∼-cong</a> <a id="9039" class="Symbol">:</a> <a id="9041" class="Symbol">∀</a> <a id="9043" class="Symbol">{</a><a id="9044" href="Monad.Instance.Setoids.Delay.html#9044" class="Bound">x</a> <a id="9046" href="Monad.Instance.Setoids.Delay.html#9046" class="Bound">y</a><a id="9047" class="Symbol">}</a> <a id="9049" class="Symbol">→</a> <a id="9051" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="9053" href="Monad.Instance.Setoids.Delay.html#8961" class="Bound">A</a> <a id="9055" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="9058" href="Monad.Instance.Setoids.Delay.html#9044" class="Bound">x</a> <a id="9060" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="9062" href="Monad.Instance.Setoids.Delay.html#9046" class="Bound">y</a> <a id="9064" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a> <a id="9066" class="Symbol">→</a> <a id="9068" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="9070" href="Monad.Instance.Setoids.Delay.html#8965" class="Bound">B</a> <a id="9072" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="9075" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="9081" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><</a> <a id="9083" href="Monad.Instance.Setoids.Delay.html#8968" class="Bound">f</a> <a id="9085" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">></a> <a id="9087" href="Monad.Instance.Setoids.Delay.html#9044" class="Bound">x</a> <a id="9089" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="9091" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="9097" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><</a> <a id="9099" href="Monad.Instance.Setoids.Delay.html#8968" class="Bound">f</a> <a id="9101" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">></a> <a id="9103" href="Monad.Instance.Setoids.Delay.html#9046" class="Bound">y</a> <a id="9105" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="9113" href="Monad.Instance.Setoids.Delay.html#9113" class="Function">∼-cong′</a> <a id="9121" class="Symbol">:</a> <a id="9123" class="Symbol">∀</a> <a id="9125" class="Symbol">{</a><a id="9126" href="Monad.Instance.Setoids.Delay.html#9126" class="Bound">x</a> <a id="9128" href="Monad.Instance.Setoids.Delay.html#9128" class="Bound">y</a><a id="9129" class="Symbol">}</a> <a id="9131" class="Symbol">→</a> <a id="9133" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="9135" href="Monad.Instance.Setoids.Delay.html#8961" class="Bound">A</a> <a id="9137" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="9140" href="Monad.Instance.Setoids.Delay.html#9126" class="Bound">x</a> <a id="9142" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="9145" href="Monad.Instance.Setoids.Delay.html#9128" class="Bound">y</a> <a id="9147" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a> <a id="9149" class="Symbol">→</a> <a id="9151" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="9153" href="Monad.Instance.Setoids.Delay.html#8965" class="Bound">B</a> <a id="9155" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="9158" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="9164" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><</a> <a id="9166" href="Monad.Instance.Setoids.Delay.html#8968" class="Bound">f</a> <a id="9168" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">></a> <a id="9170" href="Monad.Instance.Setoids.Delay.html#9126" class="Bound">x</a> <a id="9172" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="9175" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="9181" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator"><</a> <a id="9183" href="Monad.Instance.Setoids.Delay.html#8968" class="Bound">f</a> <a id="9185" href="Monad.Instance.Setoids.Delay.html#6211" class="Function Operator">></a> <a id="9187" href="Monad.Instance.Setoids.Delay.html#9128" class="Bound">y</a> <a id="9189" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a>
|
||
<a id="9197" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="9204" class="Symbol">(</a><a id="9205" href="Monad.Instance.Setoids.Delay.html#9113" class="Function">∼-cong′</a> <a id="9213" class="Symbol">{</a><a id="9214" href="Monad.Instance.Setoids.Delay.html#9214" class="Bound">x</a><a id="9215" class="Symbol">}</a> <a id="9217" class="Symbol">{</a><a id="9218" href="Monad.Instance.Setoids.Delay.html#9218" class="Bound">y</a><a id="9219" class="Symbol">}</a> <a id="9221" href="Monad.Instance.Setoids.Delay.html#9221" class="Bound">x∼y</a><a id="9224" class="Symbol">)</a> <a id="9226" class="Symbol">=</a> <a id="9228" href="Monad.Instance.Setoids.Delay.html#9032" class="Function">∼-cong</a> <a id="9235" class="Symbol">(</a><a id="9236" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="9243" href="Monad.Instance.Setoids.Delay.html#9221" class="Bound">x∼y</a><a id="9246" class="Symbol">)</a>
|
||
<a id="9254" href="Monad.Instance.Setoids.Delay.html#9032" class="Function">∼-cong</a> <a id="9261" class="Symbol">{</a><a id="9262" class="DottedPattern Symbol">.(</a><a id="9264" href="Monad.Instance.Setoids.Delay.html#1057" class="DottedPattern InductiveConstructor">now</a> <a id="9268" class="DottedPattern Symbol">_)</a><a id="9270" class="Symbol">}</a> <a id="9272" class="Symbol">{</a><a id="9273" class="DottedPattern Symbol">.(</a><a id="9275" href="Monad.Instance.Setoids.Delay.html#1057" class="DottedPattern InductiveConstructor">now</a> <a id="9279" class="DottedPattern Symbol">_)</a><a id="9281" class="Symbol">}</a> <a id="9283" class="Symbol">(</a><a id="9284" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="9289" href="Monad.Instance.Setoids.Delay.html#9289" class="Bound">x≡y</a><a id="9292" class="Symbol">)</a> <a id="9294" class="Symbol">=</a> <a id="9296" href="Monad.Instance.Setoids.Delay.html#6969" class="Function">now-cong∼</a> <a id="9306" class="Symbol">(</a><a id="9307" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="9312" href="Monad.Instance.Setoids.Delay.html#8968" class="Bound">f</a> <a id="9314" href="Monad.Instance.Setoids.Delay.html#9289" class="Bound">x≡y</a><a id="9317" class="Symbol">)</a>
|
||
<a id="9325" href="Monad.Instance.Setoids.Delay.html#9032" class="Function">∼-cong</a> <a id="9332" class="Symbol">{</a><a id="9333" class="DottedPattern Symbol">.(</a><a id="9335" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="9341" class="DottedPattern Symbol">_)</a><a id="9343" class="Symbol">}</a> <a id="9345" class="Symbol">{</a><a id="9346" class="DottedPattern Symbol">.(</a><a id="9348" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="9354" class="DottedPattern Symbol">_)</a><a id="9356" class="Symbol">}</a> <a id="9358" class="Symbol">(</a><a id="9359" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="9366" href="Monad.Instance.Setoids.Delay.html#9366" class="Bound">x∼y</a><a id="9369" class="Symbol">)</a> <a id="9371" class="Symbol">=</a> <a id="9373" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="9380" class="Symbol">(</a><a id="9381" href="Monad.Instance.Setoids.Delay.html#9113" class="Function">∼-cong′</a> <a id="9389" href="Monad.Instance.Setoids.Delay.html#9366" class="Bound">x∼y</a><a id="9392" class="Symbol">)</a>
|
||
|
||
<a id="DelayMonad.lift-comp∼"></a><a id="9397" href="Monad.Instance.Setoids.Delay.html#9397" class="Function">lift-comp∼</a> <a id="9408" class="Symbol">:</a> <a id="9410" class="Symbol">∀</a> <a id="9412" class="Symbol">{</a><a id="9413" href="Monad.Instance.Setoids.Delay.html#9413" class="Bound">A</a> <a id="9415" href="Monad.Instance.Setoids.Delay.html#9415" class="Bound">B</a> <a id="9417" href="Monad.Instance.Setoids.Delay.html#9417" class="Bound">C</a> <a id="9419" class="Symbol">:</a> <a id="9421" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="9428" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="9430" class="Symbol">(</a><a id="9431" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="9433" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="9435" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="9436" class="Symbol">)}</a> <a id="9439" class="Symbol">{</a><a id="9440" href="Monad.Instance.Setoids.Delay.html#9440" class="Bound">f</a> <a id="9442" class="Symbol">:</a> <a id="9444" href="Monad.Instance.Setoids.Delay.html#9413" class="Bound">A</a> <a id="9446" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="9448" href="Monad.Instance.Setoids.Delay.html#9415" class="Bound">B</a><a id="9449" class="Symbol">}</a> <a id="9451" class="Symbol">{</a><a id="9452" href="Monad.Instance.Setoids.Delay.html#9452" class="Bound">g</a> <a id="9454" class="Symbol">:</a> <a id="9456" href="Monad.Instance.Setoids.Delay.html#9415" class="Bound">B</a> <a id="9458" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="9460" href="Monad.Instance.Setoids.Delay.html#9417" class="Bound">C</a><a id="9461" class="Symbol">}</a> <a id="9463" class="Symbol">{</a><a id="9464" href="Monad.Instance.Setoids.Delay.html#9464" class="Bound">x</a> <a id="9466" href="Monad.Instance.Setoids.Delay.html#9466" class="Bound">y</a> <a id="9468" class="Symbol">:</a> <a id="9470" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="9476" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="9478" href="Monad.Instance.Setoids.Delay.html#9413" class="Bound">A</a> <a id="9480" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="9481" class="Symbol">}</a> <a id="9483" class="Symbol">→</a> <a id="9485" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="9487" href="Monad.Instance.Setoids.Delay.html#9413" class="Bound">A</a> <a id="9489" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="9492" href="Monad.Instance.Setoids.Delay.html#9464" class="Bound">x</a> <a id="9494" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="9496" href="Monad.Instance.Setoids.Delay.html#9466" class="Bound">y</a> <a id="9498" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a> <a id="9500" class="Symbol">→</a> <a id="9502" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="9504" href="Monad.Instance.Setoids.Delay.html#9417" class="Bound">C</a> <a id="9506" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="9509" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="9516" class="Symbol">(</a><a id="9517" href="Monad.Instance.Setoids.Delay.html#9452" class="Bound">g</a> <a id="9519" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="9521" href="Monad.Instance.Setoids.Delay.html#9440" class="Bound">f</a><a id="9522" class="Symbol">)</a> <a id="9524" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="9528" href="Monad.Instance.Setoids.Delay.html#9464" class="Bound">x</a> <a id="9530" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="9532" class="Symbol">(</a><a id="9533" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="9540" href="Monad.Instance.Setoids.Delay.html#9452" class="Bound">g</a> <a id="9542" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="9544" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="9551" href="Monad.Instance.Setoids.Delay.html#9440" class="Bound">f</a><a id="9552" class="Symbol">)</a> <a id="9554" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="9558" href="Monad.Instance.Setoids.Delay.html#9466" class="Bound">y</a> <a id="9560" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="DelayMonad.lift-comp∼′"></a><a id="9564" href="Monad.Instance.Setoids.Delay.html#9564" class="Function">lift-comp∼′</a> <a id="9576" class="Symbol">:</a> <a id="9578" class="Symbol">∀</a> <a id="9580" class="Symbol">{</a><a id="9581" href="Monad.Instance.Setoids.Delay.html#9581" class="Bound">A</a> <a id="9583" href="Monad.Instance.Setoids.Delay.html#9583" class="Bound">B</a> <a id="9585" href="Monad.Instance.Setoids.Delay.html#9585" class="Bound">C</a> <a id="9587" class="Symbol">:</a> <a id="9589" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="9596" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="9598" class="Symbol">(</a><a id="9599" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="9601" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="9603" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="9604" class="Symbol">)}</a> <a id="9607" class="Symbol">{</a><a id="9608" href="Monad.Instance.Setoids.Delay.html#9608" class="Bound">f</a> <a id="9610" class="Symbol">:</a> <a id="9612" href="Monad.Instance.Setoids.Delay.html#9581" class="Bound">A</a> <a id="9614" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="9616" href="Monad.Instance.Setoids.Delay.html#9583" class="Bound">B</a><a id="9617" class="Symbol">}</a> <a id="9619" class="Symbol">{</a><a id="9620" href="Monad.Instance.Setoids.Delay.html#9620" class="Bound">g</a> <a id="9622" class="Symbol">:</a> <a id="9624" href="Monad.Instance.Setoids.Delay.html#9583" class="Bound">B</a> <a id="9626" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="9628" href="Monad.Instance.Setoids.Delay.html#9585" class="Bound">C</a><a id="9629" class="Symbol">}</a> <a id="9631" class="Symbol">{</a><a id="9632" href="Monad.Instance.Setoids.Delay.html#9632" class="Bound">x</a> <a id="9634" href="Monad.Instance.Setoids.Delay.html#9634" class="Bound">y</a> <a id="9636" class="Symbol">:</a> <a id="9638" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="9644" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="9646" href="Monad.Instance.Setoids.Delay.html#9581" class="Bound">A</a> <a id="9648" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="9649" class="Symbol">}</a> <a id="9651" class="Symbol">→</a> <a id="9653" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="9655" href="Monad.Instance.Setoids.Delay.html#9581" class="Bound">A</a> <a id="9657" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="9660" href="Monad.Instance.Setoids.Delay.html#9632" class="Bound">x</a> <a id="9662" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="9665" href="Monad.Instance.Setoids.Delay.html#9634" class="Bound">y</a> <a id="9667" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a> <a id="9669" class="Symbol">→</a> <a id="9671" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="9673" href="Monad.Instance.Setoids.Delay.html#9585" class="Bound">C</a> <a id="9675" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="9678" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="9685" class="Symbol">(</a><a id="9686" href="Monad.Instance.Setoids.Delay.html#9620" class="Bound">g</a> <a id="9688" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="9690" href="Monad.Instance.Setoids.Delay.html#9608" class="Bound">f</a><a id="9691" class="Symbol">)</a> <a id="9693" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="9697" href="Monad.Instance.Setoids.Delay.html#9632" class="Bound">x</a> <a id="9699" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="9702" class="Symbol">(</a><a id="9703" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="9710" href="Monad.Instance.Setoids.Delay.html#9620" class="Bound">g</a> <a id="9712" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="9714" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="9721" href="Monad.Instance.Setoids.Delay.html#9608" class="Bound">f</a><a id="9722" class="Symbol">)</a> <a id="9724" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="9728" href="Monad.Instance.Setoids.Delay.html#9634" class="Bound">y</a> <a id="9730" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a>
|
||
<a id="9734" href="Monad.Instance.Setoids.Delay.html#9397" class="Function">lift-comp∼</a> <a id="9745" class="Symbol">{</a><a id="9746" href="Monad.Instance.Setoids.Delay.html#9746" class="Bound">A</a><a id="9747" class="Symbol">}</a> <a id="9749" class="Symbol">{</a><a id="9750" href="Monad.Instance.Setoids.Delay.html#9750" class="Bound">B</a><a id="9751" class="Symbol">}</a> <a id="9753" class="Symbol">{</a><a id="9754" href="Monad.Instance.Setoids.Delay.html#9754" class="Bound">C</a><a id="9755" class="Symbol">}</a> <a id="9757" class="Symbol">{</a><a id="9758" href="Monad.Instance.Setoids.Delay.html#9758" class="Bound">f</a><a id="9759" class="Symbol">}</a> <a id="9761" class="Symbol">{</a><a id="9762" href="Monad.Instance.Setoids.Delay.html#9762" class="Bound">g</a><a id="9763" class="Symbol">}</a> <a id="9765" class="Symbol">{</a><a id="9766" class="DottedPattern Symbol">.(</a><a id="9768" href="Monad.Instance.Setoids.Delay.html#1057" class="DottedPattern InductiveConstructor">now</a> <a id="9772" class="DottedPattern Symbol">_)</a><a id="9774" class="Symbol">}</a> <a id="9776" class="Symbol">{</a><a id="9777" class="DottedPattern Symbol">.(</a><a id="9779" href="Monad.Instance.Setoids.Delay.html#1057" class="DottedPattern InductiveConstructor">now</a> <a id="9783" class="DottedPattern Symbol">_)</a><a id="9785" class="Symbol">}</a> <a id="9787" class="Symbol">(</a><a id="9788" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="9793" href="Monad.Instance.Setoids.Delay.html#9793" class="Bound">x≡y</a><a id="9796" class="Symbol">)</a> <a id="9798" class="Symbol">=</a> <a id="9800" href="Monad.Instance.Setoids.Delay.html#6969" class="Function">now-cong∼</a> <a id="9810" class="Symbol">(</a><a id="9811" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="9816" href="Monad.Instance.Setoids.Delay.html#9762" class="Bound">g</a> <a id="9818" class="Symbol">(</a><a id="9819" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="9824" href="Monad.Instance.Setoids.Delay.html#9758" class="Bound">f</a> <a id="9826" class="Symbol">(</a><a id="9827" href="Monad.Instance.Setoids.Delay.html#9793" class="Bound">x≡y</a><a id="9830" class="Symbol">)))</a>
|
||
<a id="9836" href="Monad.Instance.Setoids.Delay.html#9397" class="Function">lift-comp∼</a> <a id="9847" class="Symbol">{</a><a id="9848" href="Monad.Instance.Setoids.Delay.html#9848" class="Bound">A</a><a id="9849" class="Symbol">}</a> <a id="9851" class="Symbol">{</a><a id="9852" href="Monad.Instance.Setoids.Delay.html#9852" class="Bound">B</a><a id="9853" class="Symbol">}</a> <a id="9855" class="Symbol">{</a><a id="9856" href="Monad.Instance.Setoids.Delay.html#9856" class="Bound">C</a><a id="9857" class="Symbol">}</a> <a id="9859" class="Symbol">{</a><a id="9860" href="Monad.Instance.Setoids.Delay.html#9860" class="Bound">f</a><a id="9861" class="Symbol">}</a> <a id="9863" class="Symbol">{</a><a id="9864" href="Monad.Instance.Setoids.Delay.html#9864" class="Bound">g</a><a id="9865" class="Symbol">}</a> <a id="9867" class="Symbol">{</a><a id="9868" class="DottedPattern Symbol">.(</a><a id="9870" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="9876" class="DottedPattern Symbol">_)</a><a id="9878" class="Symbol">}</a> <a id="9880" class="Symbol">{</a><a id="9881" class="DottedPattern Symbol">.(</a><a id="9883" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="9889" class="DottedPattern Symbol">_)</a><a id="9891" class="Symbol">}</a> <a id="9893" class="Symbol">(</a><a id="9894" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="9901" href="Monad.Instance.Setoids.Delay.html#9901" class="Bound">x∼y</a><a id="9904" class="Symbol">)</a> <a id="9906" class="Symbol">=</a> <a id="9908" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="9915" class="Symbol">(</a><a id="9916" href="Monad.Instance.Setoids.Delay.html#9564" class="Function">lift-comp∼′</a> <a id="9928" class="Symbol">{</a><a id="9929" href="Monad.Instance.Setoids.Delay.html#9848" class="Bound">A</a><a id="9930" class="Symbol">}</a> <a id="9932" class="Symbol">{</a><a id="9933" href="Monad.Instance.Setoids.Delay.html#9852" class="Bound">B</a><a id="9934" class="Symbol">}</a> <a id="9936" class="Symbol">{</a><a id="9937" href="Monad.Instance.Setoids.Delay.html#9856" class="Bound">C</a><a id="9938" class="Symbol">}</a> <a id="9940" class="Symbol">{</a><a id="9941" href="Monad.Instance.Setoids.Delay.html#9860" class="Bound">f</a><a id="9942" class="Symbol">}</a> <a id="9944" class="Symbol">{</a><a id="9945" href="Monad.Instance.Setoids.Delay.html#9864" class="Bound">g</a><a id="9946" class="Symbol">}</a> <a id="9948" href="Monad.Instance.Setoids.Delay.html#9901" class="Bound">x∼y</a><a id="9951" class="Symbol">)</a>
|
||
<a id="9955" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="9962" class="Symbol">(</a><a id="9963" href="Monad.Instance.Setoids.Delay.html#9564" class="Function">lift-comp∼′</a> <a id="9975" class="Symbol">{</a><a id="9976" href="Monad.Instance.Setoids.Delay.html#9976" class="Bound">A</a><a id="9977" class="Symbol">}</a> <a id="9979" class="Symbol">{</a><a id="9980" href="Monad.Instance.Setoids.Delay.html#9980" class="Bound">B</a><a id="9981" class="Symbol">}</a> <a id="9983" class="Symbol">{</a><a id="9984" href="Monad.Instance.Setoids.Delay.html#9984" class="Bound">C</a><a id="9985" class="Symbol">}</a> <a id="9987" class="Symbol">{</a><a id="9988" href="Monad.Instance.Setoids.Delay.html#9988" class="Bound">f</a><a id="9989" class="Symbol">}</a> <a id="9991" class="Symbol">{</a><a id="9992" href="Monad.Instance.Setoids.Delay.html#9992" class="Bound">g</a><a id="9993" class="Symbol">}</a> <a id="9995" class="Symbol">{</a><a id="9996" href="Monad.Instance.Setoids.Delay.html#9996" class="Bound">x</a><a id="9997" class="Symbol">}</a> <a id="9999" class="Symbol">{</a><a id="10000" href="Monad.Instance.Setoids.Delay.html#10000" class="Bound">y</a><a id="10001" class="Symbol">}</a> <a id="10003" href="Monad.Instance.Setoids.Delay.html#10003" class="Bound">x∼y</a><a id="10006" class="Symbol">)</a> <a id="10008" class="Symbol">=</a> <a id="10010" href="Monad.Instance.Setoids.Delay.html#9397" class="Function">lift-comp∼</a> <a id="10021" class="Symbol">{</a><a id="10022" href="Monad.Instance.Setoids.Delay.html#9976" class="Bound">A</a><a id="10023" class="Symbol">}</a> <a id="10025" class="Symbol">{</a><a id="10026" href="Monad.Instance.Setoids.Delay.html#9980" class="Bound">B</a><a id="10027" class="Symbol">}</a> <a id="10029" class="Symbol">{</a><a id="10030" href="Monad.Instance.Setoids.Delay.html#9984" class="Bound">C</a><a id="10031" class="Symbol">}</a> <a id="10033" class="Symbol">{</a><a id="10034" href="Monad.Instance.Setoids.Delay.html#9988" class="Bound">f</a><a id="10035" class="Symbol">}</a> <a id="10037" class="Symbol">{</a><a id="10038" href="Monad.Instance.Setoids.Delay.html#9992" class="Bound">g</a><a id="10039" class="Symbol">}</a> <a id="10041" class="Symbol">{</a><a id="10042" href="Monad.Instance.Setoids.Delay.html#9996" class="Bound">x</a><a id="10043" class="Symbol">}</a> <a id="10045" class="Symbol">{</a><a id="10046" href="Monad.Instance.Setoids.Delay.html#10000" class="Bound">y</a><a id="10047" class="Symbol">}</a> <a id="10049" class="Symbol">(</a><a id="10050" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="10057" href="Monad.Instance.Setoids.Delay.html#10003" class="Bound">x∼y</a><a id="10060" class="Symbol">)</a>
|
||
|
||
|
||
<a id="10066" class="Comment">-- this needs polymorphic universe levels</a>
|
||
<a id="DelayMonad._≋_"></a><a id="10110" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">_≋_</a> <a id="10114" class="Symbol">:</a> <a id="10116" class="Symbol">∀</a> <a id="10118" class="Symbol">{</a><a id="10119" href="Monad.Instance.Setoids.Delay.html#10119" class="Bound">c'</a> <a id="10122" href="Monad.Instance.Setoids.Delay.html#10122" class="Bound">ℓ'</a><a id="10124" class="Symbol">}</a> <a id="10126" class="Symbol">{</a><a id="10127" href="Monad.Instance.Setoids.Delay.html#10127" class="Bound">A</a> <a id="10129" href="Monad.Instance.Setoids.Delay.html#10129" class="Bound">B</a> <a id="10131" class="Symbol">:</a> <a id="10133" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="10140" href="Monad.Instance.Setoids.Delay.html#10119" class="Bound">c'</a> <a id="10143" href="Monad.Instance.Setoids.Delay.html#10122" class="Bound">ℓ'</a><a id="10145" class="Symbol">}</a> <a id="10147" class="Symbol">→</a> <a id="10149" href="Monad.Instance.Setoids.Delay.html#10127" class="Bound">A</a> <a id="10151" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="10153" href="Monad.Instance.Setoids.Delay.html#10129" class="Bound">B</a> <a id="10155" class="Symbol">→</a> <a id="10157" href="Monad.Instance.Setoids.Delay.html#10127" class="Bound">A</a> <a id="10159" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="10161" href="Monad.Instance.Setoids.Delay.html#10129" class="Bound">B</a> <a id="10163" class="Symbol">→</a> <a id="10165" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="10169" class="Symbol">(</a><a id="10170" href="Monad.Instance.Setoids.Delay.html#10119" class="Bound">c'</a> <a id="10173" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="10175" href="Monad.Instance.Setoids.Delay.html#10122" class="Bound">ℓ'</a><a id="10177" class="Symbol">)</a>
|
||
<a id="10181" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">_≋_</a> <a id="10185" class="Symbol">{</a><a id="10186" href="Monad.Instance.Setoids.Delay.html#10186" class="Bound">c'</a><a id="10188" class="Symbol">}</a> <a id="10190" class="Symbol">{</a><a id="10191" href="Monad.Instance.Setoids.Delay.html#10191" class="Bound">ℓ'</a><a id="10193" class="Symbol">}</a> <a id="10195" class="Symbol">{</a><a id="10196" href="Monad.Instance.Setoids.Delay.html#10196" class="Bound">A</a><a id="10197" class="Symbol">}</a> <a id="10199" class="Symbol">{</a><a id="10200" href="Monad.Instance.Setoids.Delay.html#10200" class="Bound">B</a><a id="10201" class="Symbol">}</a> <a id="10203" href="Monad.Instance.Setoids.Delay.html#10203" class="Bound">f</a> <a id="10205" href="Monad.Instance.Setoids.Delay.html#10205" class="Bound">g</a> <a id="10207" class="Symbol">=</a> <a id="10209" href="Relation.Binary.Bundles.html#1169" class="Field Operator">Setoid._≈_</a> <a id="10220" class="Symbol">(</a><a id="10221" href="Monad.Instance.Setoids.Delay.html#10196" class="Bound">A</a> <a id="10223" href="Monad.Instance.Setoids.Delay.html#290" class="Function Operator">⇨</a> <a id="10225" href="Monad.Instance.Setoids.Delay.html#10200" class="Bound">B</a><a id="10226" class="Symbol">)</a> <a id="10228" href="Monad.Instance.Setoids.Delay.html#10203" class="Bound">f</a> <a id="10230" href="Monad.Instance.Setoids.Delay.html#10205" class="Bound">g</a>
|
||
|
||
<a id="DelayMonad.later-self"></a><a id="10235" href="Monad.Instance.Setoids.Delay.html#10235" class="Function">later-self</a> <a id="10246" class="Symbol">:</a> <a id="10248" class="Symbol">∀</a> <a id="10250" class="Symbol">{</a><a id="10251" href="Monad.Instance.Setoids.Delay.html#10251" class="Bound">A</a> <a id="10253" class="Symbol">:</a> <a id="10255" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="10262" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="10264" class="Symbol">(</a><a id="10265" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="10267" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="10269" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="10270" class="Symbol">)}</a> <a id="10273" class="Symbol">{</a><a id="10274" href="Monad.Instance.Setoids.Delay.html#10274" class="Bound">x</a> <a id="10276" class="Symbol">:</a> <a id="10278" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="10285" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="10287" href="Monad.Instance.Setoids.Delay.html#10251" class="Bound">A</a> <a id="10289" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="10290" class="Symbol">}</a> <a id="10292" class="Symbol">→</a> <a id="10294" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="10296" href="Monad.Instance.Setoids.Delay.html#10251" class="Bound">A</a> <a id="10298" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="10301" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="10307" href="Monad.Instance.Setoids.Delay.html#10274" class="Bound">x</a> <a id="10309" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="10311" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="10317" href="Monad.Instance.Setoids.Delay.html#10274" class="Bound">x</a> <a id="10319" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a>
|
||
<a id="10323" href="Monad.Instance.Setoids.Delay.html#10235" class="Function">later-self</a> <a id="10334" class="Symbol">{</a><a id="10335" href="Monad.Instance.Setoids.Delay.html#10335" class="Bound">A</a><a id="10336" class="Symbol">}</a> <a id="10338" class="Symbol">{</a><a id="10339" href="Monad.Instance.Setoids.Delay.html#10339" class="Bound">x</a><a id="10340" class="Symbol">}</a> <a id="10342" class="Keyword">with</a> <a id="10347" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="10353" href="Monad.Instance.Setoids.Delay.html#10339" class="Bound">x</a> <a id="10355" class="Keyword">in</a> <a id="10358" class="Argument">eqx</a>
|
||
<a id="10364" class="Symbol">...</a> <a id="10383" class="Symbol">|</a> <a id="10385" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="10389" href="Monad.Instance.Setoids.Delay.html#10389" class="Bound">y</a> <a id="10391" class="Symbol">=</a> <a id="10393" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="10396" class="Symbol">(</a><a id="10397" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="10404" class="Bound">A</a><a id="10405" class="Symbol">)</a> <a id="10407" class="Symbol">(</a><a id="10408" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="10413" class="Symbol">(</a><a id="10414" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="10421" class="Bound">A</a><a id="10422" class="Symbol">))</a> <a id="10425" class="Symbol">(</a><a id="10426" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="10433" href="Monad.Instance.Setoids.Delay.html#10457" class="Function">helper</a><a id="10439" class="Symbol">)</a>
|
||
<a id="10445" class="Keyword">where</a>
|
||
<a id="10457" href="Monad.Instance.Setoids.Delay.html#10457" class="Function">helper</a> <a id="10464" class="Symbol">:</a> <a id="10466" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="10468" class="Bound">A</a> <a id="10470" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="10473" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="10479" class="Bound">x</a> <a id="10481" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="10483" href="Monad.Instance.Setoids.Delay.html#10389" class="Bound">y</a> <a id="10485" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a>
|
||
<a id="10493" href="Monad.Instance.Setoids.Delay.html#10457" class="Function">helper</a> <a id="10500" class="Keyword">rewrite</a> <a id="10508" href="Monad.Instance.Setoids.Delay.html#10358" class="Bound">eqx</a> <a id="10512" class="Symbol">=</a> <a id="10514" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="10519" class="Symbol">(</a><a id="10520" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="10527" class="Bound">A</a><a id="10528" class="Symbol">)</a>
|
||
<a id="10532" class="Symbol">...</a> <a id="10551" class="Symbol">|</a> <a id="10553" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="10559" href="Monad.Instance.Setoids.Delay.html#10559" class="Bound">y</a> <a id="10561" class="Symbol">=</a> <a id="10563" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="10570" href="Monad.Instance.Setoids.Delay.html#10593" class="Function">helper</a>
|
||
<a id="10581" class="Keyword">where</a>
|
||
<a id="10593" href="Monad.Instance.Setoids.Delay.html#10593" class="Function">helper</a> <a id="10600" class="Symbol">:</a> <a id="10602" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="10604" class="Bound">A</a> <a id="10606" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="10609" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="10615" href="Monad.Instance.Setoids.Delay.html#10559" class="Bound">y</a> <a id="10617" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="10620" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="10626" class="Bound">x</a> <a id="10628" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a>
|
||
<a id="10636" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="10643" class="Symbol">(</a><a id="10644" href="Monad.Instance.Setoids.Delay.html#10593" class="Function">helper</a><a id="10650" class="Symbol">)</a> <a id="10652" class="Keyword">rewrite</a> <a id="10660" href="Monad.Instance.Setoids.Delay.html#10358" class="Bound">eqx</a> <a id="10664" class="Symbol">=</a> <a id="10666" href="Monad.Instance.Setoids.Delay.html#10235" class="Function">later-self</a> <a id="10677" class="Symbol">{</a><a id="10678" class="Argument">x</a> <a id="10680" class="Symbol">=</a> <a id="10682" href="Monad.Instance.Setoids.Delay.html#10559" class="Bound">y</a><a id="10683" class="Symbol">}</a>
|
||
|
||
<a id="DelayMonad.later-eq"></a><a id="10688" href="Monad.Instance.Setoids.Delay.html#10688" class="Function">later-eq</a> <a id="10697" class="Symbol">:</a> <a id="10699" class="Symbol">∀</a> <a id="10701" class="Symbol">{</a><a id="10702" href="Monad.Instance.Setoids.Delay.html#10702" class="Bound">A</a> <a id="10704" class="Symbol">:</a> <a id="10706" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="10713" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="10715" class="Symbol">(</a><a id="10716" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="10718" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="10720" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="10721" class="Symbol">)}</a> <a id="10724" class="Symbol">{</a><a id="10725" href="Monad.Instance.Setoids.Delay.html#10725" class="Bound">x</a> <a id="10727" class="Symbol">:</a> <a id="10729" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="10736" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="10738" href="Monad.Instance.Setoids.Delay.html#10702" class="Bound">A</a> <a id="10740" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="10741" class="Symbol">}</a> <a id="10743" class="Symbol">{</a><a id="10744" href="Monad.Instance.Setoids.Delay.html#10744" class="Bound">y</a> <a id="10746" class="Symbol">:</a> <a id="10748" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="10754" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="10756" href="Monad.Instance.Setoids.Delay.html#10702" class="Bound">A</a> <a id="10758" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="10759" class="Symbol">}</a> <a id="10761" class="Symbol">→</a> <a id="10763" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="10765" href="Monad.Instance.Setoids.Delay.html#10702" class="Bound">A</a> <a id="10767" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="10770" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="10776" href="Monad.Instance.Setoids.Delay.html#10725" class="Bound">x</a> <a id="10778" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="10780" href="Monad.Instance.Setoids.Delay.html#10744" class="Bound">y</a> <a id="10782" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a> <a id="10784" class="Symbol">→</a> <a id="10786" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="10788" href="Monad.Instance.Setoids.Delay.html#10702" class="Bound">A</a> <a id="10790" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="10793" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="10799" href="Monad.Instance.Setoids.Delay.html#10725" class="Bound">x</a> <a id="10801" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="10803" href="Monad.Instance.Setoids.Delay.html#10744" class="Bound">y</a> <a id="10805" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a>
|
||
<a id="10810" href="Monad.Instance.Setoids.Delay.html#10688" class="Function">later-eq</a> <a id="10819" class="Symbol">{</a><a id="10820" href="Monad.Instance.Setoids.Delay.html#10820" class="Bound">A</a><a id="10821" class="Symbol">}</a> <a id="10823" class="Symbol">{</a><a id="10824" href="Monad.Instance.Setoids.Delay.html#10824" class="Bound">x</a><a id="10825" class="Symbol">}</a> <a id="10827" class="Symbol">{</a><a id="10828" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="10832" href="Monad.Instance.Setoids.Delay.html#10832" class="Bound">y</a><a id="10833" class="Symbol">}</a> <a id="10835" class="Symbol">(</a><a id="10836" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="10839" href="Monad.Instance.Setoids.Delay.html#10839" class="Bound">a≡b</a> <a id="10843" class="Symbol">(</a><a id="10844" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="10851" href="Monad.Instance.Setoids.Delay.html#10851" class="Bound">x↓a</a><a id="10854" class="Symbol">)</a> <a id="10856" class="Symbol">(</a><a id="10857" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="10862" href="Monad.Instance.Setoids.Delay.html#10862" class="Bound">y≡b</a><a id="10865" class="Symbol">))</a> <a id="10868" class="Symbol">=</a> <a id="10870" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="10873" href="Monad.Instance.Setoids.Delay.html#10839" class="Bound">a≡b</a> <a id="10877" href="Monad.Instance.Setoids.Delay.html#10851" class="Bound">x↓a</a> <a id="10881" class="Symbol">(</a><a id="10882" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="10887" href="Monad.Instance.Setoids.Delay.html#10862" class="Bound">y≡b</a><a id="10890" class="Symbol">)</a>
|
||
<a id="10894" href="Monad.Instance.Setoids.Delay.html#10688" class="Function">later-eq</a> <a id="10903" class="Symbol">{</a><a id="10904" href="Monad.Instance.Setoids.Delay.html#10904" class="Bound">A</a><a id="10905" class="Symbol">}</a> <a id="10907" class="Symbol">{</a><a id="10908" href="Monad.Instance.Setoids.Delay.html#10908" class="Bound">x</a><a id="10909" class="Symbol">}</a> <a id="10911" class="Symbol">{</a><a id="10912" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="10918" href="Monad.Instance.Setoids.Delay.html#10918" class="Bound">y</a><a id="10919" class="Symbol">}</a> <a id="10921" href="Monad.Instance.Setoids.Delay.html#10921" class="Bound">x≈ly</a> <a id="10926" class="Symbol">=</a> <a id="10928" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="10936" href="Monad.Instance.Setoids.Delay.html#10904" class="Bound">A</a> <a id="10938" href="Monad.Instance.Setoids.Delay.html#10235" class="Function">later-self</a> <a id="10949" href="Monad.Instance.Setoids.Delay.html#10921" class="Bound">x≈ly</a>
|
||
|
||
<a id="DelayMonad.lift-id"></a><a id="10957" href="Monad.Instance.Setoids.Delay.html#10957" class="Function">lift-id</a> <a id="10965" class="Symbol">:</a> <a id="10967" class="Symbol">∀</a> <a id="10969" class="Symbol">{</a><a id="10970" href="Monad.Instance.Setoids.Delay.html#10970" class="Bound">A</a> <a id="10972" class="Symbol">:</a> <a id="10974" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="10981" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="10983" class="Symbol">(</a><a id="10984" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="10986" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="10988" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="10989" class="Symbol">)}</a> <a id="10992" class="Symbol">→</a> <a id="10994" class="Symbol">(</a><a id="10995" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="11002" class="Symbol">(</a><a id="11003" href="Monad.Instance.Setoids.Delay.html#227" class="Function">idₛ</a> <a id="11007" href="Monad.Instance.Setoids.Delay.html#10970" class="Bound">A</a><a id="11008" class="Symbol">))</a> <a id="11011" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">≋</a> <a id="11013" class="Symbol">(</a><a id="11014" href="Monad.Instance.Setoids.Delay.html#227" class="Function">idₛ</a> <a id="11018" class="Symbol">(</a><a id="11019" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="11026" href="Monad.Instance.Setoids.Delay.html#10970" class="Bound">A</a><a id="11027" class="Symbol">))</a>
|
||
<a id="DelayMonad.lift-id′"></a><a id="11032" href="Monad.Instance.Setoids.Delay.html#11032" class="Function">lift-id′</a> <a id="11041" class="Symbol">:</a> <a id="11043" class="Symbol">∀</a> <a id="11045" class="Symbol">{</a><a id="11046" href="Monad.Instance.Setoids.Delay.html#11046" class="Bound">A</a> <a id="11048" class="Symbol">:</a> <a id="11050" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="11057" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="11059" class="Symbol">(</a><a id="11060" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="11062" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="11064" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="11065" class="Symbol">)}</a> <a id="11068" class="Symbol">{</a><a id="11069" href="Monad.Instance.Setoids.Delay.html#11069" class="Bound">x</a> <a id="11071" class="Symbol">:</a> <a id="11073" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="11079" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="11081" href="Monad.Instance.Setoids.Delay.html#11046" class="Bound">A</a> <a id="11083" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="11084" class="Symbol">}</a> <a id="11086" class="Symbol">→</a> <a id="11088" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="11090" href="Monad.Instance.Setoids.Delay.html#11046" class="Bound">A</a> <a id="11092" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="11095" class="Symbol">(</a><a id="11096" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="11102" href="Function.Base.html#704" class="Function">id</a><a id="11104" class="Symbol">)</a> <a id="11106" href="Monad.Instance.Setoids.Delay.html#11069" class="Bound">x</a> <a id="11108" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="11111" href="Function.Base.html#704" class="Function">id</a> <a id="11114" href="Monad.Instance.Setoids.Delay.html#11069" class="Bound">x</a> <a id="11116" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a>
|
||
<a id="11120" href="Monad.Instance.Setoids.Delay.html#10957" class="Function">lift-id</a> <a id="11128" class="Symbol">{</a><a id="11129" href="Monad.Instance.Setoids.Delay.html#11129" class="Bound">A</a><a id="11130" class="Symbol">}</a> <a id="11132" class="Symbol">{</a><a id="11133" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="11137" href="Monad.Instance.Setoids.Delay.html#11137" class="Bound">x</a><a id="11138" class="Symbol">}</a> <a id="11140" class="Symbol">=</a> <a id="11142" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="11149" href="Monad.Instance.Setoids.Delay.html#11129" class="Bound">A</a>
|
||
<a id="11153" href="Monad.Instance.Setoids.Delay.html#10957" class="Function">lift-id</a> <a id="11161" class="Symbol">{</a><a id="11162" href="Monad.Instance.Setoids.Delay.html#11162" class="Bound">A</a><a id="11163" class="Symbol">}</a> <a id="11165" class="Symbol">{</a><a id="11166" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="11172" href="Monad.Instance.Setoids.Delay.html#11172" class="Bound">x</a><a id="11173" class="Symbol">}</a> <a id="11175" class="Symbol">=</a> <a id="11177" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="11184" href="Monad.Instance.Setoids.Delay.html#11032" class="Function">lift-id′</a>
|
||
<a id="11195" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="11202" class="Symbol">(</a><a id="11203" href="Monad.Instance.Setoids.Delay.html#11032" class="Function">lift-id′</a> <a id="11212" class="Symbol">{</a><a id="11213" href="Monad.Instance.Setoids.Delay.html#11213" class="Bound">A</a><a id="11214" class="Symbol">}</a> <a id="11216" class="Symbol">{</a><a id="11217" href="Monad.Instance.Setoids.Delay.html#11217" class="Bound">x</a><a id="11218" class="Symbol">})</a> <a id="11221" class="Symbol">=</a> <a id="11223" href="Monad.Instance.Setoids.Delay.html#10957" class="Function">lift-id</a>
|
||
|
||
<a id="DelayMonad.lift-comp"></a><a id="11234" href="Monad.Instance.Setoids.Delay.html#11234" class="Function">lift-comp</a> <a id="11244" class="Symbol">:</a> <a id="11246" class="Symbol">∀</a> <a id="11248" class="Symbol">{</a><a id="11249" href="Monad.Instance.Setoids.Delay.html#11249" class="Bound">A</a> <a id="11251" href="Monad.Instance.Setoids.Delay.html#11251" class="Bound">B</a> <a id="11253" href="Monad.Instance.Setoids.Delay.html#11253" class="Bound">C</a> <a id="11255" class="Symbol">:</a> <a id="11257" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="11264" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="11266" class="Symbol">(</a><a id="11267" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="11269" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="11271" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="11272" class="Symbol">)}</a> <a id="11275" class="Symbol">{</a><a id="11276" href="Monad.Instance.Setoids.Delay.html#11276" class="Bound">f</a> <a id="11278" class="Symbol">:</a> <a id="11280" href="Monad.Instance.Setoids.Delay.html#11249" class="Bound">A</a> <a id="11282" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="11284" href="Monad.Instance.Setoids.Delay.html#11251" class="Bound">B</a><a id="11285" class="Symbol">}</a> <a id="11287" class="Symbol">{</a><a id="11288" href="Monad.Instance.Setoids.Delay.html#11288" class="Bound">g</a> <a id="11290" class="Symbol">:</a> <a id="11292" href="Monad.Instance.Setoids.Delay.html#11251" class="Bound">B</a> <a id="11294" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="11296" href="Monad.Instance.Setoids.Delay.html#11253" class="Bound">C</a><a id="11297" class="Symbol">}</a> <a id="11299" class="Symbol">→</a> <a id="11301" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="11308" class="Symbol">(</a><a id="11309" href="Monad.Instance.Setoids.Delay.html#11288" class="Bound">g</a> <a id="11311" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="11313" href="Monad.Instance.Setoids.Delay.html#11276" class="Bound">f</a><a id="11314" class="Symbol">)</a> <a id="11316" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">≋</a> <a id="11318" class="Symbol">(</a><a id="11319" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="11326" href="Monad.Instance.Setoids.Delay.html#11288" class="Bound">g</a> <a id="11328" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="11330" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="11337" href="Monad.Instance.Setoids.Delay.html#11276" class="Bound">f</a><a id="11338" class="Symbol">)</a>
|
||
<a id="DelayMonad.lift-comp′"></a><a id="11342" href="Monad.Instance.Setoids.Delay.html#11342" class="Function">lift-comp′</a> <a id="11353" class="Symbol">:</a> <a id="11355" class="Symbol">∀</a> <a id="11357" class="Symbol">{</a><a id="11358" href="Monad.Instance.Setoids.Delay.html#11358" class="Bound">A</a> <a id="11360" href="Monad.Instance.Setoids.Delay.html#11360" class="Bound">B</a> <a id="11362" href="Monad.Instance.Setoids.Delay.html#11362" class="Bound">C</a> <a id="11364" class="Symbol">:</a> <a id="11366" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="11373" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="11375" class="Symbol">(</a><a id="11376" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="11378" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="11380" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="11381" class="Symbol">)}</a> <a id="11384" class="Symbol">{</a><a id="11385" href="Monad.Instance.Setoids.Delay.html#11385" class="Bound">f</a> <a id="11387" class="Symbol">:</a> <a id="11389" href="Monad.Instance.Setoids.Delay.html#11358" class="Bound">A</a> <a id="11391" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="11393" href="Monad.Instance.Setoids.Delay.html#11360" class="Bound">B</a><a id="11394" class="Symbol">}</a> <a id="11396" class="Symbol">{</a><a id="11397" href="Monad.Instance.Setoids.Delay.html#11397" class="Bound">g</a> <a id="11399" class="Symbol">:</a> <a id="11401" href="Monad.Instance.Setoids.Delay.html#11360" class="Bound">B</a> <a id="11403" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="11405" href="Monad.Instance.Setoids.Delay.html#11362" class="Bound">C</a><a id="11406" class="Symbol">}</a> <a id="11408" class="Symbol">{</a><a id="11409" href="Monad.Instance.Setoids.Delay.html#11409" class="Bound">x</a> <a id="11411" class="Symbol">:</a> <a id="11413" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="11419" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="11421" href="Monad.Instance.Setoids.Delay.html#11358" class="Bound">A</a> <a id="11423" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="11424" class="Symbol">}</a> <a id="11426" class="Symbol">→</a> <a id="11428" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="11430" href="Monad.Instance.Setoids.Delay.html#11362" class="Bound">C</a> <a id="11432" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="11435" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="11442" class="Symbol">(</a><a id="11443" href="Monad.Instance.Setoids.Delay.html#11397" class="Bound">g</a> <a id="11445" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="11447" href="Monad.Instance.Setoids.Delay.html#11385" class="Bound">f</a><a id="11448" class="Symbol">)</a> <a id="11450" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="11454" href="Monad.Instance.Setoids.Delay.html#11409" class="Bound">x</a> <a id="11456" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="11459" class="Symbol">(</a><a id="11460" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="11467" href="Monad.Instance.Setoids.Delay.html#11397" class="Bound">g</a> <a id="11469" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="11471" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="11478" href="Monad.Instance.Setoids.Delay.html#11385" class="Bound">f</a><a id="11479" class="Symbol">)</a> <a id="11481" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="11485" href="Monad.Instance.Setoids.Delay.html#11409" class="Bound">x</a> <a id="11487" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a>
|
||
<a id="11491" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="11498" class="Symbol">(</a><a id="11499" href="Monad.Instance.Setoids.Delay.html#11342" class="Function">lift-comp′</a> <a id="11510" class="Symbol">{</a><a id="11511" href="Monad.Instance.Setoids.Delay.html#11511" class="Bound">A</a><a id="11512" class="Symbol">}</a> <a id="11514" class="Symbol">{</a><a id="11515" href="Monad.Instance.Setoids.Delay.html#11515" class="Bound">B</a><a id="11516" class="Symbol">}</a> <a id="11518" class="Symbol">{</a><a id="11519" href="Monad.Instance.Setoids.Delay.html#11519" class="Bound">C</a><a id="11520" class="Symbol">}</a> <a id="11522" class="Symbol">{</a><a id="11523" href="Monad.Instance.Setoids.Delay.html#11523" class="Bound">f</a><a id="11524" class="Symbol">}</a> <a id="11526" class="Symbol">{</a><a id="11527" href="Monad.Instance.Setoids.Delay.html#11527" class="Bound">g</a><a id="11528" class="Symbol">}</a> <a id="11530" class="Symbol">{</a><a id="11531" href="Monad.Instance.Setoids.Delay.html#11531" class="Bound">x</a><a id="11532" class="Symbol">})</a> <a id="11535" class="Symbol">=</a> <a id="11537" href="Monad.Instance.Setoids.Delay.html#11234" class="Function">lift-comp</a> <a id="11547" class="Symbol">{</a><a id="11548" href="Monad.Instance.Setoids.Delay.html#11511" class="Bound">A</a><a id="11549" class="Symbol">}</a> <a id="11551" class="Symbol">{</a><a id="11552" href="Monad.Instance.Setoids.Delay.html#11515" class="Bound">B</a><a id="11553" class="Symbol">}</a> <a id="11555" class="Symbol">{</a><a id="11556" href="Monad.Instance.Setoids.Delay.html#11519" class="Bound">C</a><a id="11557" class="Symbol">}</a> <a id="11559" class="Symbol">{</a><a id="11560" href="Monad.Instance.Setoids.Delay.html#11523" class="Bound">f</a><a id="11561" class="Symbol">}</a> <a id="11563" class="Symbol">{</a><a id="11564" href="Monad.Instance.Setoids.Delay.html#11527" class="Bound">g</a><a id="11565" class="Symbol">}</a>
|
||
<a id="11569" href="Monad.Instance.Setoids.Delay.html#11234" class="Function">lift-comp</a> <a id="11579" class="Symbol">{</a><a id="11580" href="Monad.Instance.Setoids.Delay.html#11580" class="Bound">A</a><a id="11581" class="Symbol">}</a> <a id="11583" class="Symbol">{</a><a id="11584" href="Monad.Instance.Setoids.Delay.html#11584" class="Bound">B</a><a id="11585" class="Symbol">}</a> <a id="11587" class="Symbol">{</a><a id="11588" href="Monad.Instance.Setoids.Delay.html#11588" class="Bound">C</a><a id="11589" class="Symbol">}</a> <a id="11591" class="Symbol">{</a><a id="11592" href="Monad.Instance.Setoids.Delay.html#11592" class="Bound">f</a><a id="11593" class="Symbol">}</a> <a id="11595" class="Symbol">{</a><a id="11596" href="Monad.Instance.Setoids.Delay.html#11596" class="Bound">g</a><a id="11597" class="Symbol">}</a> <a id="11599" class="Symbol">{</a><a id="11600" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="11604" href="Monad.Instance.Setoids.Delay.html#11604" class="Bound">x</a><a id="11605" class="Symbol">}</a> <a id="11607" class="Symbol">=</a> <a id="11609" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="11616" href="Monad.Instance.Setoids.Delay.html#11588" class="Bound">C</a>
|
||
<a id="11620" href="Monad.Instance.Setoids.Delay.html#11234" class="Function">lift-comp</a> <a id="11630" class="Symbol">{</a><a id="11631" href="Monad.Instance.Setoids.Delay.html#11631" class="Bound">A</a><a id="11632" class="Symbol">}</a> <a id="11634" class="Symbol">{</a><a id="11635" href="Monad.Instance.Setoids.Delay.html#11635" class="Bound">B</a><a id="11636" class="Symbol">}</a> <a id="11638" class="Symbol">{</a><a id="11639" href="Monad.Instance.Setoids.Delay.html#11639" class="Bound">C</a><a id="11640" class="Symbol">}</a> <a id="11642" class="Symbol">{</a><a id="11643" href="Monad.Instance.Setoids.Delay.html#11643" class="Bound">f</a><a id="11644" class="Symbol">}</a> <a id="11646" class="Symbol">{</a><a id="11647" href="Monad.Instance.Setoids.Delay.html#11647" class="Bound">g</a><a id="11648" class="Symbol">}</a> <a id="11650" class="Symbol">{</a><a id="11651" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="11657" href="Monad.Instance.Setoids.Delay.html#11657" class="Bound">x</a><a id="11658" class="Symbol">}</a> <a id="11660" class="Symbol">=</a> <a id="11662" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="11669" class="Symbol">(</a><a id="11670" href="Monad.Instance.Setoids.Delay.html#11342" class="Function">lift-comp′</a> <a id="11681" class="Symbol">{</a><a id="11682" href="Monad.Instance.Setoids.Delay.html#11631" class="Bound">A</a><a id="11683" class="Symbol">}</a> <a id="11685" class="Symbol">{</a><a id="11686" href="Monad.Instance.Setoids.Delay.html#11635" class="Bound">B</a><a id="11687" class="Symbol">}</a> <a id="11689" class="Symbol">{</a><a id="11690" href="Monad.Instance.Setoids.Delay.html#11639" class="Bound">C</a><a id="11691" class="Symbol">}</a> <a id="11693" class="Symbol">{</a><a id="11694" href="Monad.Instance.Setoids.Delay.html#11643" class="Bound">f</a><a id="11695" class="Symbol">}</a> <a id="11697" class="Symbol">{</a><a id="11698" href="Monad.Instance.Setoids.Delay.html#11647" class="Bound">g</a><a id="11699" class="Symbol">})</a>
|
||
|
||
<a id="DelayMonad.lift-resp-≈"></a><a id="11705" href="Monad.Instance.Setoids.Delay.html#11705" class="Function">lift-resp-≈</a> <a id="11717" class="Symbol">:</a> <a id="11719" class="Symbol">∀</a> <a id="11721" class="Symbol">{</a><a id="11722" href="Monad.Instance.Setoids.Delay.html#11722" class="Bound">A</a> <a id="11724" href="Monad.Instance.Setoids.Delay.html#11724" class="Bound">B</a> <a id="11726" class="Symbol">:</a> <a id="11728" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="11735" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="11737" class="Symbol">(</a><a id="11738" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="11740" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="11742" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="11743" class="Symbol">)}</a> <a id="11746" class="Symbol">{</a><a id="11747" href="Monad.Instance.Setoids.Delay.html#11747" class="Bound">f</a> <a id="11749" href="Monad.Instance.Setoids.Delay.html#11749" class="Bound">g</a> <a id="11751" class="Symbol">:</a> <a id="11753" href="Monad.Instance.Setoids.Delay.html#11722" class="Bound">A</a> <a id="11755" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="11757" href="Monad.Instance.Setoids.Delay.html#11724" class="Bound">B</a><a id="11758" class="Symbol">}</a> <a id="11760" class="Symbol">→</a> <a id="11762" href="Monad.Instance.Setoids.Delay.html#11747" class="Bound">f</a> <a id="11764" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">≋</a> <a id="11766" href="Monad.Instance.Setoids.Delay.html#11749" class="Bound">g</a> <a id="11768" class="Symbol">→</a> <a id="11770" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="11777" href="Monad.Instance.Setoids.Delay.html#11747" class="Bound">f</a> <a id="11779" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">≋</a> <a id="11781" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="11788" href="Monad.Instance.Setoids.Delay.html#11749" class="Bound">g</a>
|
||
<a id="DelayMonad.lift-resp-≈′"></a><a id="11792" href="Monad.Instance.Setoids.Delay.html#11792" class="Function">lift-resp-≈′</a> <a id="11805" class="Symbol">:</a> <a id="11807" class="Symbol">∀</a> <a id="11809" class="Symbol">{</a><a id="11810" href="Monad.Instance.Setoids.Delay.html#11810" class="Bound">A</a> <a id="11812" href="Monad.Instance.Setoids.Delay.html#11812" class="Bound">B</a> <a id="11814" class="Symbol">:</a> <a id="11816" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="11823" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="11825" class="Symbol">(</a><a id="11826" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="11828" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="11830" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="11831" class="Symbol">)}</a> <a id="11834" class="Symbol">{</a><a id="11835" href="Monad.Instance.Setoids.Delay.html#11835" class="Bound">f</a> <a id="11837" href="Monad.Instance.Setoids.Delay.html#11837" class="Bound">g</a> <a id="11839" class="Symbol">:</a> <a id="11841" href="Monad.Instance.Setoids.Delay.html#11810" class="Bound">A</a> <a id="11843" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="11845" href="Monad.Instance.Setoids.Delay.html#11812" class="Bound">B</a><a id="11846" class="Symbol">}</a> <a id="11848" class="Symbol">→</a> <a id="11850" href="Monad.Instance.Setoids.Delay.html#11835" class="Bound">f</a> <a id="11852" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">≋</a> <a id="11854" href="Monad.Instance.Setoids.Delay.html#11837" class="Bound">g</a> <a id="11856" class="Symbol">→</a> <a id="11858" class="Symbol">∀</a> <a id="11860" class="Symbol">{</a><a id="11861" href="Monad.Instance.Setoids.Delay.html#11861" class="Bound">x</a> <a id="11863" class="Symbol">:</a> <a id="11865" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="11871" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="11873" href="Monad.Instance.Setoids.Delay.html#11810" class="Bound">A</a> <a id="11875" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="11876" class="Symbol">}</a> <a id="11878" class="Symbol">→</a> <a id="11880" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="11882" href="Monad.Instance.Setoids.Delay.html#11812" class="Bound">B</a> <a id="11884" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="11887" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="11894" href="Monad.Instance.Setoids.Delay.html#11835" class="Bound">f</a> <a id="11896" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="11900" href="Monad.Instance.Setoids.Delay.html#11861" class="Bound">x</a> <a id="11902" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="11905" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="11912" href="Monad.Instance.Setoids.Delay.html#11837" class="Bound">g</a> <a id="11914" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="11918" href="Monad.Instance.Setoids.Delay.html#11861" class="Bound">x</a> <a id="11920" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a>
|
||
<a id="11924" href="Monad.Instance.Setoids.Delay.html#11705" class="Function">lift-resp-≈</a> <a id="11936" class="Symbol">{</a><a id="11937" href="Monad.Instance.Setoids.Delay.html#11937" class="Bound">A</a><a id="11938" class="Symbol">}</a> <a id="11940" class="Symbol">{</a><a id="11941" href="Monad.Instance.Setoids.Delay.html#11941" class="Bound">B</a><a id="11942" class="Symbol">}</a> <a id="11944" class="Symbol">{</a><a id="11945" href="Monad.Instance.Setoids.Delay.html#11945" class="Bound">f</a><a id="11946" class="Symbol">}</a> <a id="11948" class="Symbol">{</a><a id="11949" href="Monad.Instance.Setoids.Delay.html#11949" class="Bound">g</a><a id="11950" class="Symbol">}</a> <a id="11952" href="Monad.Instance.Setoids.Delay.html#11952" class="Bound">f≋g</a> <a id="11956" class="Symbol">{</a><a id="11957" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="11961" href="Monad.Instance.Setoids.Delay.html#11961" class="Bound">x</a><a id="11962" class="Symbol">}</a> <a id="11964" class="Symbol">=</a> <a id="11966" href="Monad.Instance.Setoids.Delay.html#6639" class="Function">now-cong</a> <a id="11975" href="Monad.Instance.Setoids.Delay.html#11952" class="Bound">f≋g</a>
|
||
<a id="11981" href="Monad.Instance.Setoids.Delay.html#11705" class="Function">lift-resp-≈</a> <a id="11993" class="Symbol">{</a><a id="11994" href="Monad.Instance.Setoids.Delay.html#11994" class="Bound">A</a><a id="11995" class="Symbol">}</a> <a id="11997" class="Symbol">{</a><a id="11998" href="Monad.Instance.Setoids.Delay.html#11998" class="Bound">B</a><a id="11999" class="Symbol">}</a> <a id="12001" class="Symbol">{</a><a id="12002" href="Monad.Instance.Setoids.Delay.html#12002" class="Bound">f</a><a id="12003" class="Symbol">}</a> <a id="12005" class="Symbol">{</a><a id="12006" href="Monad.Instance.Setoids.Delay.html#12006" class="Bound">g</a><a id="12007" class="Symbol">}</a> <a id="12009" href="Monad.Instance.Setoids.Delay.html#12009" class="Bound">f≋g</a> <a id="12013" class="Symbol">{</a><a id="12014" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="12020" href="Monad.Instance.Setoids.Delay.html#12020" class="Bound">x</a><a id="12021" class="Symbol">}</a> <a id="12023" class="Symbol">=</a> <a id="12025" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="12032" class="Symbol">(</a><a id="12033" href="Monad.Instance.Setoids.Delay.html#11792" class="Function">lift-resp-≈′</a> <a id="12046" class="Symbol">{</a><a id="12047" href="Monad.Instance.Setoids.Delay.html#11994" class="Bound">A</a><a id="12048" class="Symbol">}</a> <a id="12050" class="Symbol">{</a><a id="12051" href="Monad.Instance.Setoids.Delay.html#11998" class="Bound">B</a><a id="12052" class="Symbol">}</a> <a id="12054" class="Symbol">{</a><a id="12055" href="Monad.Instance.Setoids.Delay.html#12002" class="Bound">f</a><a id="12056" class="Symbol">}</a> <a id="12058" class="Symbol">{</a><a id="12059" href="Monad.Instance.Setoids.Delay.html#12006" class="Bound">g</a><a id="12060" class="Symbol">}</a> <a id="12062" href="Monad.Instance.Setoids.Delay.html#12009" class="Bound">f≋g</a><a id="12065" class="Symbol">)</a>
|
||
<a id="12069" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="12076" class="Symbol">(</a><a id="12077" href="Monad.Instance.Setoids.Delay.html#11792" class="Function">lift-resp-≈′</a> <a id="12090" class="Symbol">{</a><a id="12091" href="Monad.Instance.Setoids.Delay.html#12091" class="Bound">A</a><a id="12092" class="Symbol">}</a> <a id="12094" class="Symbol">{</a><a id="12095" href="Monad.Instance.Setoids.Delay.html#12095" class="Bound">B</a><a id="12096" class="Symbol">}</a> <a id="12098" class="Symbol">{</a><a id="12099" href="Monad.Instance.Setoids.Delay.html#12099" class="Bound">f</a><a id="12100" class="Symbol">}</a> <a id="12102" class="Symbol">{</a><a id="12103" href="Monad.Instance.Setoids.Delay.html#12103" class="Bound">g</a><a id="12104" class="Symbol">}</a> <a id="12106" href="Monad.Instance.Setoids.Delay.html#12106" class="Bound">f≋g</a> <a id="12110" class="Symbol">{</a><a id="12111" href="Monad.Instance.Setoids.Delay.html#12111" class="Bound">x</a><a id="12112" class="Symbol">})</a> <a id="12115" class="Symbol">=</a> <a id="12117" href="Monad.Instance.Setoids.Delay.html#11705" class="Function">lift-resp-≈</a> <a id="12129" class="Symbol">{</a><a id="12130" href="Monad.Instance.Setoids.Delay.html#12091" class="Bound">A</a><a id="12131" class="Symbol">}</a> <a id="12133" class="Symbol">{</a><a id="12134" href="Monad.Instance.Setoids.Delay.html#12095" class="Bound">B</a><a id="12135" class="Symbol">}</a> <a id="12137" class="Symbol">{</a><a id="12138" href="Monad.Instance.Setoids.Delay.html#12099" class="Bound">f</a><a id="12139" class="Symbol">}</a> <a id="12141" class="Symbol">{</a><a id="12142" href="Monad.Instance.Setoids.Delay.html#12103" class="Bound">g</a><a id="12143" class="Symbol">}</a> <a id="12145" href="Monad.Instance.Setoids.Delay.html#12106" class="Bound">f≋g</a>
|
||
|
||
<a id="DelayMonad.ηₛ"></a><a id="12152" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="12155" class="Symbol">:</a> <a id="12157" class="Symbol">∀</a> <a id="12159" class="Symbol">(</a><a id="12160" href="Monad.Instance.Setoids.Delay.html#12160" class="Bound">A</a> <a id="12162" class="Symbol">:</a> <a id="12164" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="12171" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="12173" class="Symbol">(</a><a id="12174" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="12176" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="12178" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="12179" class="Symbol">))</a> <a id="12182" class="Symbol">→</a> <a id="12184" href="Monad.Instance.Setoids.Delay.html#12160" class="Bound">A</a> <a id="12186" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="12188" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="12195" href="Monad.Instance.Setoids.Delay.html#12160" class="Bound">A</a>
|
||
<a id="12199" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="12202" href="Monad.Instance.Setoids.Delay.html#12202" class="Bound">A</a> <a id="12204" class="Symbol">=</a> <a id="12206" class="Keyword">record</a> <a id="12213" class="Symbol">{</a> <a id="12215" href="Function.Bundles.html#2094" class="Field">to</a> <a id="12218" class="Symbol">=</a> <a id="12220" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="12224" class="Symbol">;</a> <a id="12226" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="12231" class="Symbol">=</a> <a id="12233" href="Monad.Instance.Setoids.Delay.html#6639" class="Function">now-cong</a> <a id="12242" class="Symbol">}</a>
|
||
|
||
<a id="DelayMonad.η-natural"></a><a id="12247" href="Monad.Instance.Setoids.Delay.html#12247" class="Function">η-natural</a> <a id="12257" class="Symbol">:</a> <a id="12259" class="Symbol">∀</a> <a id="12261" class="Symbol">{</a><a id="12262" href="Monad.Instance.Setoids.Delay.html#12262" class="Bound">A</a> <a id="12264" href="Monad.Instance.Setoids.Delay.html#12264" class="Bound">B</a> <a id="12266" class="Symbol">:</a> <a id="12268" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="12275" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="12277" class="Symbol">(</a><a id="12278" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="12280" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="12282" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="12283" class="Symbol">)}</a> <a id="12286" class="Symbol">(</a><a id="12287" href="Monad.Instance.Setoids.Delay.html#12287" class="Bound">f</a> <a id="12289" class="Symbol">:</a> <a id="12291" href="Monad.Instance.Setoids.Delay.html#12262" class="Bound">A</a> <a id="12293" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="12295" href="Monad.Instance.Setoids.Delay.html#12264" class="Bound">B</a><a id="12296" class="Symbol">)</a> <a id="12298" class="Symbol">→</a> <a id="12300" class="Symbol">(</a><a id="12301" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="12304" href="Monad.Instance.Setoids.Delay.html#12264" class="Bound">B</a> <a id="12306" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="12308" href="Monad.Instance.Setoids.Delay.html#12287" class="Bound">f</a><a id="12309" class="Symbol">)</a> <a id="12311" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">≋</a> <a id="12313" class="Symbol">(</a><a id="12314" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="12321" href="Monad.Instance.Setoids.Delay.html#12287" class="Bound">f</a> <a id="12323" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="12325" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="12328" href="Monad.Instance.Setoids.Delay.html#12262" class="Bound">A</a><a id="12329" class="Symbol">)</a>
|
||
<a id="12333" href="Monad.Instance.Setoids.Delay.html#12247" class="Function">η-natural</a> <a id="12343" class="Symbol">{</a><a id="12344" href="Monad.Instance.Setoids.Delay.html#12344" class="Bound">A</a><a id="12345" class="Symbol">}</a> <a id="12347" class="Symbol">{</a><a id="12348" href="Monad.Instance.Setoids.Delay.html#12348" class="Bound">B</a><a id="12349" class="Symbol">}</a> <a id="12351" href="Monad.Instance.Setoids.Delay.html#12351" class="Bound">f</a> <a id="12353" class="Symbol">{</a><a id="12354" href="Monad.Instance.Setoids.Delay.html#12354" class="Bound">x</a><a id="12355" class="Symbol">}</a> <a id="12357" class="Symbol">=</a> <a id="12359" href="Monad.Instance.Setoids.Delay.html#6639" class="Function">now-cong</a> <a id="12368" class="Symbol">(</a><a id="12369" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="12374" href="Monad.Instance.Setoids.Delay.html#12351" class="Bound">f</a> <a id="12376" class="Symbol">(</a><a id="12377" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="12384" href="Monad.Instance.Setoids.Delay.html#12344" class="Bound">A</a><a id="12385" class="Symbol">))</a>
|
||
|
||
<a id="DelayMonad.μ"></a><a id="12391" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="12393" class="Symbol">:</a> <a id="12395" class="Symbol">∀</a> <a id="12397" class="Symbol">{</a><a id="12398" href="Monad.Instance.Setoids.Delay.html#12398" class="Bound">A</a> <a id="12400" class="Symbol">:</a> <a id="12402" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="12409" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="12411" class="Symbol">(</a><a id="12412" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="12414" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="12416" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="12417" class="Symbol">)}</a> <a id="12420" class="Symbol">→</a> <a id="12422" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="12428" class="Symbol">(</a><a id="12429" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="12435" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="12437" href="Monad.Instance.Setoids.Delay.html#12398" class="Bound">A</a> <a id="12439" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="12440" class="Symbol">)</a> <a id="12442" class="Symbol">→</a> <a id="12444" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="12450" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="12452" href="Monad.Instance.Setoids.Delay.html#12398" class="Bound">A</a> <a id="12454" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a>
|
||
<a id="DelayMonad.μ′"></a><a id="12458" href="Monad.Instance.Setoids.Delay.html#12458" class="Function">μ′</a> <a id="12461" class="Symbol">:</a> <a id="12463" class="Symbol">∀</a> <a id="12465" class="Symbol">{</a><a id="12466" href="Monad.Instance.Setoids.Delay.html#12466" class="Bound">A</a> <a id="12468" class="Symbol">:</a> <a id="12470" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="12477" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="12479" class="Symbol">(</a><a id="12480" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="12482" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="12484" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="12485" class="Symbol">)}</a> <a id="12488" class="Symbol">→</a> <a id="12490" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="12497" class="Symbol">(</a><a id="12498" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="12504" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="12506" href="Monad.Instance.Setoids.Delay.html#12466" class="Bound">A</a> <a id="12508" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="12509" class="Symbol">)</a> <a id="12511" class="Symbol">→</a> <a id="12513" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="12520" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="12522" href="Monad.Instance.Setoids.Delay.html#12466" class="Bound">A</a> <a id="12524" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a>
|
||
<a id="12528" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="12534" class="Symbol">(</a><a id="12535" href="Monad.Instance.Setoids.Delay.html#12458" class="Function">μ′</a> <a id="12538" class="Symbol">{</a><a id="12539" href="Monad.Instance.Setoids.Delay.html#12539" class="Bound">A</a><a id="12540" class="Symbol">}</a> <a id="12542" href="Monad.Instance.Setoids.Delay.html#12542" class="Bound">x</a><a id="12543" class="Symbol">)</a> <a id="12545" class="Symbol">=</a> <a id="12547" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="12549" class="Symbol">{</a><a id="12550" href="Monad.Instance.Setoids.Delay.html#12539" class="Bound">A</a><a id="12551" class="Symbol">}</a> <a id="12553" class="Symbol">(</a><a id="12554" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="12560" href="Monad.Instance.Setoids.Delay.html#12542" class="Bound">x</a><a id="12561" class="Symbol">)</a>
|
||
<a id="12565" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="12567" class="Symbol">{</a><a id="12568" href="Monad.Instance.Setoids.Delay.html#12568" class="Bound">A</a><a id="12569" class="Symbol">}</a> <a id="12571" class="Symbol">(</a><a id="12572" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="12576" href="Monad.Instance.Setoids.Delay.html#12576" class="Bound">x</a><a id="12577" class="Symbol">)</a> <a id="12579" class="Symbol">=</a> <a id="12581" href="Monad.Instance.Setoids.Delay.html#12576" class="Bound">x</a>
|
||
<a id="12585" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="12587" class="Symbol">{</a><a id="12588" href="Monad.Instance.Setoids.Delay.html#12588" class="Bound">A</a><a id="12589" class="Symbol">}</a> <a id="12591" class="Symbol">(</a><a id="12592" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="12598" href="Monad.Instance.Setoids.Delay.html#12598" class="Bound">x</a><a id="12599" class="Symbol">)</a> <a id="12601" class="Symbol">=</a> <a id="12603" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="12609" class="Symbol">(</a><a id="12610" href="Monad.Instance.Setoids.Delay.html#12458" class="Function">μ′</a> <a id="12613" class="Symbol">{</a><a id="12614" href="Monad.Instance.Setoids.Delay.html#12588" class="Bound">A</a><a id="12615" class="Symbol">}</a> <a id="12617" href="Monad.Instance.Setoids.Delay.html#12598" class="Bound">x</a><a id="12618" class="Symbol">)</a>
|
||
|
||
<a id="DelayMonad.μ↓-trans"></a><a id="12623" href="Monad.Instance.Setoids.Delay.html#12623" class="Function">μ↓-trans</a> <a id="12632" class="Symbol">:</a> <a id="12634" class="Symbol">∀</a> <a id="12636" class="Symbol">{</a><a id="12637" href="Monad.Instance.Setoids.Delay.html#12637" class="Bound">A</a> <a id="12639" class="Symbol">:</a> <a id="12641" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="12648" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="12650" class="Symbol">(</a><a id="12651" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="12653" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="12655" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="12656" class="Symbol">)}</a> <a id="12659" class="Symbol">{</a><a id="12660" href="Monad.Instance.Setoids.Delay.html#12660" class="Bound">x</a> <a id="12662" class="Symbol">:</a> <a id="12664" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="12670" class="Symbol">(</a><a id="12671" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="12677" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="12679" href="Monad.Instance.Setoids.Delay.html#12637" class="Bound">A</a> <a id="12681" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="12682" class="Symbol">)}</a> <a id="12685" class="Symbol">{</a><a id="12686" href="Monad.Instance.Setoids.Delay.html#12686" class="Bound">y</a> <a id="12688" class="Symbol">:</a> <a id="12690" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="12696" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="12698" href="Monad.Instance.Setoids.Delay.html#12637" class="Bound">A</a> <a id="12700" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="12701" class="Symbol">}</a> <a id="12703" class="Symbol">{</a><a id="12704" href="Monad.Instance.Setoids.Delay.html#12704" class="Bound">b</a> <a id="12706" class="Symbol">:</a> <a id="12708" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="12710" href="Monad.Instance.Setoids.Delay.html#12637" class="Bound">A</a> <a id="12712" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="12713" class="Symbol">}</a> <a id="12715" class="Symbol">→</a> <a id="12717" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="12719" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="12726" href="Monad.Instance.Setoids.Delay.html#12637" class="Bound">A</a> <a id="12728" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="12731" href="Monad.Instance.Setoids.Delay.html#12660" class="Bound">x</a> <a id="12733" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="12735" href="Monad.Instance.Setoids.Delay.html#12686" class="Bound">y</a> <a id="12737" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a> <a id="12739" class="Symbol">→</a> <a id="12741" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="12743" href="Monad.Instance.Setoids.Delay.html#12637" class="Bound">A</a> <a id="12745" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="12748" href="Monad.Instance.Setoids.Delay.html#12686" class="Bound">y</a> <a id="12750" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="12752" href="Monad.Instance.Setoids.Delay.html#12704" class="Bound">b</a> <a id="12754" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a> <a id="12756" class="Symbol">→</a> <a id="12758" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="12760" href="Monad.Instance.Setoids.Delay.html#12637" class="Bound">A</a> <a id="12762" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="12765" class="Symbol">(</a><a id="12766" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="12768" class="Symbol">{</a><a id="12769" href="Monad.Instance.Setoids.Delay.html#12637" class="Bound">A</a><a id="12770" class="Symbol">}</a> <a id="12772" href="Monad.Instance.Setoids.Delay.html#12660" class="Bound">x</a><a id="12773" class="Symbol">)</a> <a id="12775" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="12777" href="Monad.Instance.Setoids.Delay.html#12704" class="Bound">b</a> <a id="12779" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a>
|
||
<a id="12783" href="Monad.Instance.Setoids.Delay.html#12623" class="Function">μ↓-trans</a> <a id="12792" class="Symbol">{</a><a id="12793" href="Monad.Instance.Setoids.Delay.html#12793" class="Bound">A</a><a id="12794" class="Symbol">}</a> <a id="12796" class="Symbol">{</a><a id="12797" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="12801" href="Monad.Instance.Setoids.Delay.html#12801" class="Bound">x</a><a id="12802" class="Symbol">}</a> <a id="12804" class="Symbol">{</a><a id="12805" href="Monad.Instance.Setoids.Delay.html#12805" class="Bound">y</a><a id="12806" class="Symbol">}</a> <a id="12808" class="Symbol">{</a><a id="12809" href="Monad.Instance.Setoids.Delay.html#12809" class="Bound">b</a><a id="12810" class="Symbol">}</a> <a id="12812" class="Symbol">(</a><a id="12813" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="12818" href="Monad.Instance.Setoids.Delay.html#12818" class="Bound">x≡y</a><a id="12821" class="Symbol">)</a> <a id="12823" href="Monad.Instance.Setoids.Delay.html#12823" class="Bound">y↓b</a> <a id="12827" class="Symbol">=</a> <a id="12829" href="Monad.Instance.Setoids.Delay.html#3943" class="Function">≈↓</a> <a id="12832" href="Monad.Instance.Setoids.Delay.html#12793" class="Bound">A</a> <a id="12834" class="Symbol">(</a><a id="12835" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="12841" href="Monad.Instance.Setoids.Delay.html#12793" class="Bound">A</a> <a id="12843" href="Monad.Instance.Setoids.Delay.html#12818" class="Bound">x≡y</a><a id="12846" class="Symbol">)</a> <a id="12848" href="Monad.Instance.Setoids.Delay.html#12823" class="Bound">y↓b</a>
|
||
<a id="12854" href="Monad.Instance.Setoids.Delay.html#12623" class="Function">μ↓-trans</a> <a id="12863" class="Symbol">{</a><a id="12864" href="Monad.Instance.Setoids.Delay.html#12864" class="Bound">A</a><a id="12865" class="Symbol">}</a> <a id="12867" class="Symbol">{</a><a id="12868" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="12874" href="Monad.Instance.Setoids.Delay.html#12874" class="Bound">x</a><a id="12875" class="Symbol">}</a> <a id="12877" class="Symbol">{</a><a id="12878" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="12882" href="Monad.Instance.Setoids.Delay.html#12882" class="Bound">y</a><a id="12883" class="Symbol">}</a> <a id="12885" class="Symbol">{</a><a id="12886" href="Monad.Instance.Setoids.Delay.html#12886" class="Bound">b</a><a id="12887" class="Symbol">}</a> <a id="12889" class="Symbol">(</a><a id="12890" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="12897" href="Monad.Instance.Setoids.Delay.html#12897" class="Bound">x↓y</a><a id="12900" class="Symbol">)</a> <a id="12902" class="Symbol">(</a><a id="12903" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="12908" href="Monad.Instance.Setoids.Delay.html#12908" class="Bound">y≡b</a><a id="12911" class="Symbol">)</a> <a id="12913" class="Symbol">=</a> <a id="12915" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="12922" class="Symbol">(</a><a id="12923" href="Monad.Instance.Setoids.Delay.html#12623" class="Function">μ↓-trans</a> <a id="12932" href="Monad.Instance.Setoids.Delay.html#12897" class="Bound">x↓y</a> <a id="12936" class="Symbol">(</a><a id="12937" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="12942" href="Monad.Instance.Setoids.Delay.html#12908" class="Bound">y≡b</a><a id="12945" class="Symbol">))</a>
|
||
<a id="12950" href="Monad.Instance.Setoids.Delay.html#12623" class="Function">μ↓-trans</a> <a id="12959" class="Symbol">{</a><a id="12960" href="Monad.Instance.Setoids.Delay.html#12960" class="Bound">A</a><a id="12961" class="Symbol">}</a> <a id="12963" class="Symbol">{</a><a id="12964" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="12970" href="Monad.Instance.Setoids.Delay.html#12970" class="Bound">x</a><a id="12971" class="Symbol">}</a> <a id="12973" class="Symbol">{</a><a id="12974" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="12980" href="Monad.Instance.Setoids.Delay.html#12980" class="Bound">y</a><a id="12981" class="Symbol">}</a> <a id="12983" class="Symbol">{</a><a id="12984" href="Monad.Instance.Setoids.Delay.html#12984" class="Bound">b</a><a id="12985" class="Symbol">}</a> <a id="12987" class="Symbol">(</a><a id="12988" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="12995" href="Monad.Instance.Setoids.Delay.html#12995" class="Bound">x↓y</a><a id="12998" class="Symbol">)</a> <a id="13000" class="Symbol">(</a><a id="13001" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="13008" href="Monad.Instance.Setoids.Delay.html#13008" class="Bound">y↓b</a><a id="13011" class="Symbol">)</a> <a id="13013" class="Symbol">=</a> <a id="13015" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="13022" class="Symbol">(</a><a id="13023" href="Monad.Instance.Setoids.Delay.html#12623" class="Function">μ↓-trans</a> <a id="13032" class="Symbol">(</a><a id="13033" href="Monad.Instance.Setoids.Delay.html#3737" class="Function">≡↓</a> <a id="13036" class="Symbol">(</a><a id="13037" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="13044" href="Monad.Instance.Setoids.Delay.html#12960" class="Bound">A</a><a id="13045" class="Symbol">)</a> <a id="13047" class="Symbol">(</a><a id="13048" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="13054" href="Monad.Instance.Setoids.Delay.html#12960" class="Bound">A</a> <a id="13056" href="Monad.Instance.Setoids.Delay.html#10235" class="Function">later-self</a><a id="13066" class="Symbol">)</a> <a id="13068" href="Monad.Instance.Setoids.Delay.html#12995" class="Bound">x↓y</a><a id="13071" class="Symbol">)</a> <a id="13073" href="Monad.Instance.Setoids.Delay.html#13008" class="Bound">y↓b</a><a id="13076" class="Symbol">)</a>
|
||
|
||
<a id="DelayMonad.μ↓"></a><a id="13081" href="Monad.Instance.Setoids.Delay.html#13081" class="Function">μ↓</a> <a id="13084" class="Symbol">:</a> <a id="13086" class="Symbol">∀</a> <a id="13088" class="Symbol">{</a><a id="13089" href="Monad.Instance.Setoids.Delay.html#13089" class="Bound">A</a> <a id="13091" class="Symbol">:</a> <a id="13093" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="13100" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="13102" class="Symbol">(</a><a id="13103" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="13105" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="13107" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="13108" class="Symbol">)}</a> <a id="13111" class="Symbol">{</a><a id="13112" href="Monad.Instance.Setoids.Delay.html#13112" class="Bound">x</a> <a id="13114" class="Symbol">:</a> <a id="13116" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13122" class="Symbol">(</a><a id="13123" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13129" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="13131" href="Monad.Instance.Setoids.Delay.html#13089" class="Bound">A</a> <a id="13133" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="13134" class="Symbol">)}</a> <a id="13137" class="Symbol">{</a><a id="13138" href="Monad.Instance.Setoids.Delay.html#13138" class="Bound">y</a> <a id="13140" class="Symbol">:</a> <a id="13142" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13148" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="13150" href="Monad.Instance.Setoids.Delay.html#13089" class="Bound">A</a> <a id="13152" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="13153" class="Symbol">}</a> <a id="13155" class="Symbol">→</a> <a id="13157" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="13159" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="13166" href="Monad.Instance.Setoids.Delay.html#13089" class="Bound">A</a> <a id="13168" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="13171" href="Monad.Instance.Setoids.Delay.html#13112" class="Bound">x</a> <a id="13173" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="13175" href="Monad.Instance.Setoids.Delay.html#13138" class="Bound">y</a> <a id="13177" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a> <a id="13179" class="Symbol">→</a> <a id="13181" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="13183" href="Monad.Instance.Setoids.Delay.html#13089" class="Bound">A</a> <a id="13185" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="13188" class="Symbol">(</a><a id="13189" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="13191" class="Symbol">{</a><a id="13192" href="Monad.Instance.Setoids.Delay.html#13089" class="Bound">A</a><a id="13193" class="Symbol">}</a> <a id="13195" href="Monad.Instance.Setoids.Delay.html#13112" class="Bound">x</a><a id="13196" class="Symbol">)</a> <a id="13198" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="13200" href="Monad.Instance.Setoids.Delay.html#13138" class="Bound">y</a> <a id="13202" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a>
|
||
<a id="DelayMonad.μ↓′"></a><a id="13206" href="Monad.Instance.Setoids.Delay.html#13206" class="Function">μ↓′</a> <a id="13210" class="Symbol">:</a> <a id="13212" class="Symbol">∀</a> <a id="13214" class="Symbol">{</a><a id="13215" href="Monad.Instance.Setoids.Delay.html#13215" class="Bound">A</a> <a id="13217" class="Symbol">:</a> <a id="13219" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="13226" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="13228" class="Symbol">(</a><a id="13229" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="13231" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="13233" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="13234" class="Symbol">)}</a> <a id="13237" class="Symbol">{</a><a id="13238" href="Monad.Instance.Setoids.Delay.html#13238" class="Bound">x</a> <a id="13240" class="Symbol">:</a> <a id="13242" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13248" class="Symbol">(</a><a id="13249" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13255" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="13257" href="Monad.Instance.Setoids.Delay.html#13215" class="Bound">A</a> <a id="13259" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="13260" class="Symbol">)}</a> <a id="13263" class="Symbol">{</a><a id="13264" href="Monad.Instance.Setoids.Delay.html#13264" class="Bound">y</a> <a id="13266" class="Symbol">:</a> <a id="13268" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13274" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="13276" href="Monad.Instance.Setoids.Delay.html#13215" class="Bound">A</a> <a id="13278" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="13279" class="Symbol">}</a> <a id="13281" class="Symbol">→</a> <a id="13283" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="13285" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="13292" href="Monad.Instance.Setoids.Delay.html#13215" class="Bound">A</a> <a id="13294" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="13297" href="Monad.Instance.Setoids.Delay.html#13238" class="Bound">x</a> <a id="13299" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="13301" href="Monad.Instance.Setoids.Delay.html#13264" class="Bound">y</a> <a id="13303" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a> <a id="13305" class="Symbol">→</a> <a id="13307" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="13309" href="Monad.Instance.Setoids.Delay.html#13215" class="Bound">A</a> <a id="13311" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="13314" class="Symbol">(</a><a id="13315" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="13317" class="Symbol">{</a><a id="13318" href="Monad.Instance.Setoids.Delay.html#13215" class="Bound">A</a><a id="13319" class="Symbol">}</a> <a id="13321" href="Monad.Instance.Setoids.Delay.html#13238" class="Bound">x</a><a id="13322" class="Symbol">)</a> <a id="13324" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="13327" href="Monad.Instance.Setoids.Delay.html#13264" class="Bound">y</a> <a id="13329" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a>
|
||
<a id="13333" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="13340" class="Symbol">(</a><a id="13341" href="Monad.Instance.Setoids.Delay.html#13206" class="Function">μ↓′</a> <a id="13345" class="Symbol">{</a><a id="13346" href="Monad.Instance.Setoids.Delay.html#13346" class="Bound">A</a><a id="13347" class="Symbol">}</a> <a id="13349" class="Symbol">{</a><a id="13350" href="Monad.Instance.Setoids.Delay.html#13350" class="Bound">x</a><a id="13351" class="Symbol">}</a> <a id="13353" class="Symbol">{</a><a id="13354" href="Monad.Instance.Setoids.Delay.html#13354" class="Bound">y</a><a id="13355" class="Symbol">}</a> <a id="13357" href="Monad.Instance.Setoids.Delay.html#13357" class="Bound">x↓y</a><a id="13360" class="Symbol">)</a> <a id="13362" class="Symbol">=</a> <a id="13364" href="Monad.Instance.Setoids.Delay.html#13081" class="Function">μ↓</a> <a id="13367" href="Monad.Instance.Setoids.Delay.html#13357" class="Bound">x↓y</a>
|
||
<a id="13373" href="Monad.Instance.Setoids.Delay.html#13081" class="Function">μ↓</a> <a id="13376" class="Symbol">{</a><a id="13377" href="Monad.Instance.Setoids.Delay.html#13377" class="Bound">A</a><a id="13378" class="Symbol">}</a> <a id="13380" class="Symbol">{</a><a id="13381" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="13385" href="Monad.Instance.Setoids.Delay.html#13385" class="Bound">x</a><a id="13386" class="Symbol">}</a> <a id="13388" class="Symbol">{</a><a id="13389" href="Monad.Instance.Setoids.Delay.html#13389" class="Bound">y</a><a id="13390" class="Symbol">}</a> <a id="13392" class="Symbol">(</a><a id="13393" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="13398" href="Monad.Instance.Setoids.Delay.html#13398" class="Bound">x≡y</a><a id="13401" class="Symbol">)</a> <a id="13403" class="Symbol">=</a> <a id="13405" href="Monad.Instance.Setoids.Delay.html#13398" class="Bound">x≡y</a>
|
||
<a id="13411" href="Monad.Instance.Setoids.Delay.html#13081" class="Function">μ↓</a> <a id="13414" class="Symbol">{</a><a id="13415" href="Monad.Instance.Setoids.Delay.html#13415" class="Bound">A</a><a id="13416" class="Symbol">}</a> <a id="13418" class="Symbol">{</a><a id="13419" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="13425" href="Monad.Instance.Setoids.Delay.html#13425" class="Bound">x</a><a id="13426" class="Symbol">}</a> <a id="13428" class="Symbol">{</a><a id="13429" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="13433" href="Monad.Instance.Setoids.Delay.html#13433" class="Bound">y</a><a id="13434" class="Symbol">}</a> <a id="13436" class="Symbol">(</a><a id="13437" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="13444" href="Monad.Instance.Setoids.Delay.html#13444" class="Bound">x↓y</a><a id="13447" class="Symbol">)</a> <a id="13449" class="Symbol">=</a> <a id="13451" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="13459" href="Monad.Instance.Setoids.Delay.html#13415" class="Bound">A</a> <a id="13461" class="Symbol">(</a><a id="13462" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="13468" href="Monad.Instance.Setoids.Delay.html#13415" class="Bound">A</a> <a id="13470" href="Monad.Instance.Setoids.Delay.html#10235" class="Function">later-self</a><a id="13480" class="Symbol">)</a> <a id="13482" class="Symbol">(</a><a id="13483" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="13486" class="Symbol">(</a><a id="13487" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="13494" href="Monad.Instance.Setoids.Delay.html#13415" class="Bound">A</a><a id="13495" class="Symbol">)</a> <a id="13497" class="Symbol">(</a><a id="13498" href="Monad.Instance.Setoids.Delay.html#12623" class="Function">μ↓-trans</a> <a id="13507" href="Monad.Instance.Setoids.Delay.html#13444" class="Bound">x↓y</a> <a id="13511" class="Symbol">(</a><a id="13512" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="13517" class="Symbol">(</a><a id="13518" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="13525" href="Monad.Instance.Setoids.Delay.html#13415" class="Bound">A</a><a id="13526" class="Symbol">)))</a> <a id="13530" class="Symbol">(</a><a id="13531" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="13536" class="Symbol">(</a><a id="13537" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="13544" href="Monad.Instance.Setoids.Delay.html#13415" class="Bound">A</a><a id="13545" class="Symbol">)))</a>
|
||
<a id="13551" href="Monad.Instance.Setoids.Delay.html#13081" class="Function">μ↓</a> <a id="13554" class="Symbol">{</a><a id="13555" href="Monad.Instance.Setoids.Delay.html#13555" class="Bound">A</a><a id="13556" class="Symbol">}</a> <a id="13558" class="Symbol">{</a><a id="13559" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="13565" href="Monad.Instance.Setoids.Delay.html#13565" class="Bound">x</a><a id="13566" class="Symbol">}</a> <a id="13568" class="Symbol">{</a><a id="13569" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="13575" href="Monad.Instance.Setoids.Delay.html#13575" class="Bound">y</a><a id="13576" class="Symbol">}</a> <a id="13578" class="Symbol">(</a><a id="13579" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="13586" href="Monad.Instance.Setoids.Delay.html#13586" class="Bound">x↓y</a><a id="13589" class="Symbol">)</a> <a id="13591" class="Symbol">=</a> <a id="13593" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="13600" class="Symbol">(</a><a id="13601" href="Monad.Instance.Setoids.Delay.html#13206" class="Function">μ↓′</a> <a id="13605" class="Symbol">{</a><a id="13606" href="Monad.Instance.Setoids.Delay.html#13555" class="Bound">A</a><a id="13607" class="Symbol">}</a> <a id="13609" class="Symbol">{</a><a id="13610" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="13616" href="Monad.Instance.Setoids.Delay.html#13565" class="Bound">x</a><a id="13617" class="Symbol">}</a> <a id="13619" class="Symbol">{</a><a id="13620" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="13626" href="Monad.Instance.Setoids.Delay.html#13575" class="Bound">y</a><a id="13627" class="Symbol">}</a> <a id="13629" class="Symbol">(</a><a id="13630" href="Monad.Instance.Setoids.Delay.html#3737" class="Function">≡↓</a> <a id="13633" class="Symbol">(</a><a id="13634" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="13641" href="Monad.Instance.Setoids.Delay.html#13555" class="Bound">A</a><a id="13642" class="Symbol">)</a> <a id="13644" class="Symbol">(</a><a id="13645" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="13651" href="Monad.Instance.Setoids.Delay.html#13555" class="Bound">A</a> <a id="13653" href="Monad.Instance.Setoids.Delay.html#10235" class="Function">later-self</a><a id="13663" class="Symbol">)</a> <a id="13665" href="Monad.Instance.Setoids.Delay.html#13586" class="Bound">x↓y</a><a id="13668" class="Symbol">))</a>
|
||
|
||
<a id="DelayMonad.μ-cong"></a><a id="13674" href="Monad.Instance.Setoids.Delay.html#13674" class="Function">μ-cong</a> <a id="13681" class="Symbol">:</a> <a id="13683" class="Symbol">∀</a> <a id="13685" class="Symbol">(</a><a id="13686" href="Monad.Instance.Setoids.Delay.html#13686" class="Bound">A</a> <a id="13688" class="Symbol">:</a> <a id="13690" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="13697" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="13699" class="Symbol">(</a><a id="13700" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="13702" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="13704" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="13705" class="Symbol">))</a> <a id="13708" class="Symbol">{</a><a id="13709" href="Monad.Instance.Setoids.Delay.html#13709" class="Bound">x</a> <a id="13711" href="Monad.Instance.Setoids.Delay.html#13711" class="Bound">y</a> <a id="13713" class="Symbol">:</a> <a id="13715" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13721" class="Symbol">(</a><a id="13722" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13728" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="13730" href="Monad.Instance.Setoids.Delay.html#13686" class="Bound">A</a> <a id="13732" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="13733" class="Symbol">)}</a> <a id="13736" class="Symbol">→</a> <a id="13738" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="13740" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="13747" href="Monad.Instance.Setoids.Delay.html#13686" class="Bound">A</a> <a id="13749" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="13752" href="Monad.Instance.Setoids.Delay.html#13709" class="Bound">x</a> <a id="13754" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="13756" href="Monad.Instance.Setoids.Delay.html#13711" class="Bound">y</a> <a id="13758" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a> <a id="13760" class="Symbol">→</a> <a id="13762" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="13764" href="Monad.Instance.Setoids.Delay.html#13686" class="Bound">A</a> <a id="13766" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="13769" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="13771" class="Symbol">{</a><a id="13772" href="Monad.Instance.Setoids.Delay.html#13686" class="Bound">A</a><a id="13773" class="Symbol">}</a> <a id="13775" href="Monad.Instance.Setoids.Delay.html#13709" class="Bound">x</a> <a id="13777" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="13779" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="13781" class="Symbol">{</a><a id="13782" href="Monad.Instance.Setoids.Delay.html#13686" class="Bound">A</a><a id="13783" class="Symbol">}</a> <a id="13785" href="Monad.Instance.Setoids.Delay.html#13711" class="Bound">y</a> <a id="13787" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a>
|
||
<a id="DelayMonad.μ-cong′"></a><a id="13791" href="Monad.Instance.Setoids.Delay.html#13791" class="Function">μ-cong′</a> <a id="13799" class="Symbol">:</a> <a id="13801" class="Symbol">∀</a> <a id="13803" class="Symbol">(</a><a id="13804" href="Monad.Instance.Setoids.Delay.html#13804" class="Bound">A</a> <a id="13806" class="Symbol">:</a> <a id="13808" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="13815" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="13817" class="Symbol">(</a><a id="13818" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="13820" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="13822" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="13823" class="Symbol">))</a> <a id="13826" class="Symbol">{</a><a id="13827" href="Monad.Instance.Setoids.Delay.html#13827" class="Bound">x</a> <a id="13829" href="Monad.Instance.Setoids.Delay.html#13829" class="Bound">y</a> <a id="13831" class="Symbol">:</a> <a id="13833" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13839" class="Symbol">(</a><a id="13840" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="13846" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="13848" href="Monad.Instance.Setoids.Delay.html#13804" class="Bound">A</a> <a id="13850" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="13851" class="Symbol">)}</a> <a id="13854" class="Symbol">→</a> <a id="13856" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="13858" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="13865" href="Monad.Instance.Setoids.Delay.html#13804" class="Bound">A</a> <a id="13867" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="13870" href="Monad.Instance.Setoids.Delay.html#13827" class="Bound">x</a> <a id="13872" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="13875" href="Monad.Instance.Setoids.Delay.html#13829" class="Bound">y</a> <a id="13877" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a> <a id="13879" class="Symbol">→</a> <a id="13881" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="13883" href="Monad.Instance.Setoids.Delay.html#13804" class="Bound">A</a> <a id="13885" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="13888" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="13890" class="Symbol">{</a><a id="13891" href="Monad.Instance.Setoids.Delay.html#13804" class="Bound">A</a><a id="13892" class="Symbol">}</a> <a id="13894" href="Monad.Instance.Setoids.Delay.html#13827" class="Bound">x</a> <a id="13896" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="13899" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="13901" class="Symbol">{</a><a id="13902" href="Monad.Instance.Setoids.Delay.html#13804" class="Bound">A</a><a id="13903" class="Symbol">}</a> <a id="13905" href="Monad.Instance.Setoids.Delay.html#13829" class="Bound">y</a> <a id="13907" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a>
|
||
<a id="13911" href="Monad.Instance.Setoids.Delay.html#13674" class="Function">μ-cong</a> <a id="13918" href="Monad.Instance.Setoids.Delay.html#13918" class="Bound">A</a> <a id="13920" class="Symbol">{</a><a id="13921" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="13925" href="Monad.Instance.Setoids.Delay.html#13925" class="Bound">x</a><a id="13926" class="Symbol">}</a> <a id="13928" class="Symbol">{</a><a id="13929" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="13933" href="Monad.Instance.Setoids.Delay.html#13933" class="Bound">y</a><a id="13934" class="Symbol">}</a> <a id="13936" href="Monad.Instance.Setoids.Delay.html#13936" class="Bound">x≈y</a> <a id="13940" class="Symbol">=</a> <a id="13942" href="Monad.Instance.Setoids.Delay.html#7104" class="Function">now-inj</a> <a id="13950" href="Monad.Instance.Setoids.Delay.html#13936" class="Bound">x≈y</a>
|
||
<a id="13956" href="Monad.Instance.Setoids.Delay.html#13674" class="Function">μ-cong</a> <a id="13963" href="Monad.Instance.Setoids.Delay.html#13963" class="Bound">A</a> <a id="13965" class="Symbol">{</a><a id="13966" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="13970" href="Monad.Instance.Setoids.Delay.html#13970" class="Bound">x</a><a id="13971" class="Symbol">}</a> <a id="13973" class="Symbol">{</a><a id="13974" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="13980" href="Monad.Instance.Setoids.Delay.html#13980" class="Bound">y</a><a id="13981" class="Symbol">}</a> <a id="13983" class="Symbol">(</a><a id="13984" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="13987" href="Monad.Instance.Setoids.Delay.html#13987" class="Bound">a≡b</a> <a id="13991" class="Symbol">(</a><a id="13992" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="13997" href="Monad.Instance.Setoids.Delay.html#13997" class="Bound">x≡a</a><a id="14000" class="Symbol">)</a> <a id="14002" class="Symbol">(</a><a id="14003" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="14010" href="Monad.Instance.Setoids.Delay.html#14010" class="Bound">y↓b</a><a id="14013" class="Symbol">))</a> <a id="14016" class="Symbol">=</a> <a id="14018" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="14026" href="Monad.Instance.Setoids.Delay.html#13963" class="Bound">A</a> <a id="14028" class="Symbol">(</a><a id="14029" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="14035" href="Monad.Instance.Setoids.Delay.html#13963" class="Bound">A</a> <a id="14037" class="Symbol">(</a><a id="14038" href="Monad.Instance.Setoids.Delay.html#13081" class="Function">μ↓</a> <a id="14041" class="Symbol">(</a><a id="14042" href="Monad.Instance.Setoids.Delay.html#3737" class="Function">≡↓</a> <a id="14045" class="Symbol">(</a><a id="14046" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="14053" href="Monad.Instance.Setoids.Delay.html#13963" class="Bound">A</a><a id="14054" class="Symbol">)</a> <a id="14056" class="Symbol">(</a><a id="14057" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="14065" href="Monad.Instance.Setoids.Delay.html#13963" class="Bound">A</a> <a id="14067" class="Symbol">(</a><a id="14068" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="14074" href="Monad.Instance.Setoids.Delay.html#13963" class="Bound">A</a> <a id="14076" href="Monad.Instance.Setoids.Delay.html#13987" class="Bound">a≡b</a><a id="14079" class="Symbol">)</a> <a id="14081" class="Symbol">(</a><a id="14082" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="14088" href="Monad.Instance.Setoids.Delay.html#13963" class="Bound">A</a> <a id="14090" href="Monad.Instance.Setoids.Delay.html#13997" class="Bound">x≡a</a><a id="14093" class="Symbol">))</a> <a id="14096" href="Monad.Instance.Setoids.Delay.html#14010" class="Bound">y↓b</a><a id="14099" class="Symbol">)))</a> <a id="14103" href="Monad.Instance.Setoids.Delay.html#10235" class="Function">later-self</a>
|
||
<a id="14116" href="Monad.Instance.Setoids.Delay.html#13674" class="Function">μ-cong</a> <a id="14123" href="Monad.Instance.Setoids.Delay.html#14123" class="Bound">A</a> <a id="14125" class="Symbol">{</a><a id="14126" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="14132" href="Monad.Instance.Setoids.Delay.html#14132" class="Bound">x</a><a id="14133" class="Symbol">}</a> <a id="14135" class="Symbol">{</a><a id="14136" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="14140" href="Monad.Instance.Setoids.Delay.html#14140" class="Bound">y</a><a id="14141" class="Symbol">}</a> <a id="14143" class="Symbol">(</a><a id="14144" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="14147" href="Monad.Instance.Setoids.Delay.html#14147" class="Bound">a≡b</a> <a id="14151" class="Symbol">(</a><a id="14152" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="14159" href="Monad.Instance.Setoids.Delay.html#14159" class="Bound">x↓a</a><a id="14162" class="Symbol">)</a> <a id="14164" class="Symbol">(</a><a id="14165" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="14170" href="Monad.Instance.Setoids.Delay.html#14170" class="Bound">y≡b</a><a id="14173" class="Symbol">))</a> <a id="14176" class="Symbol">=</a> <a id="14178" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="14186" href="Monad.Instance.Setoids.Delay.html#14123" class="Bound">A</a> <a id="14188" class="Symbol">(</a><a id="14189" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="14195" href="Monad.Instance.Setoids.Delay.html#14123" class="Bound">A</a> <a id="14197" href="Monad.Instance.Setoids.Delay.html#10235" class="Function">later-self</a><a id="14207" class="Symbol">)</a> <a id="14209" class="Symbol">(</a><a id="14210" href="Monad.Instance.Setoids.Delay.html#13081" class="Function">μ↓</a> <a id="14213" class="Symbol">(</a><a id="14214" href="Monad.Instance.Setoids.Delay.html#3737" class="Function">≡↓</a> <a id="14217" class="Symbol">(</a><a id="14218" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="14225" href="Monad.Instance.Setoids.Delay.html#14123" class="Bound">A</a><a id="14226" class="Symbol">)</a> <a id="14228" class="Symbol">(</a><a id="14229" href="Monad.Instance.Setoids.Delay.html#4755" class="Function">≈-trans</a> <a id="14237" href="Monad.Instance.Setoids.Delay.html#14123" class="Bound">A</a> <a id="14239" href="Monad.Instance.Setoids.Delay.html#14147" class="Bound">a≡b</a> <a id="14243" class="Symbol">(</a><a id="14244" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="14250" href="Monad.Instance.Setoids.Delay.html#14123" class="Bound">A</a> <a id="14252" href="Monad.Instance.Setoids.Delay.html#14170" class="Bound">y≡b</a><a id="14255" class="Symbol">))</a> <a id="14258" href="Monad.Instance.Setoids.Delay.html#14159" class="Bound">x↓a</a><a id="14261" class="Symbol">))</a>
|
||
<a id="14266" href="Monad.Instance.Setoids.Delay.html#13674" class="Function">μ-cong</a> <a id="14273" href="Monad.Instance.Setoids.Delay.html#14273" class="Bound">A</a> <a id="14275" class="Symbol">{</a><a id="14276" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="14282" href="Monad.Instance.Setoids.Delay.html#14282" class="Bound">x</a><a id="14283" class="Symbol">}</a> <a id="14285" class="Symbol">{</a><a id="14286" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="14292" href="Monad.Instance.Setoids.Delay.html#14292" class="Bound">y</a><a id="14293" class="Symbol">}</a> <a id="14295" class="Symbol">(</a><a id="14296" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="14299" href="Monad.Instance.Setoids.Delay.html#14299" class="Bound">a≡b</a> <a id="14303" class="Symbol">(</a><a id="14304" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="14311" href="Monad.Instance.Setoids.Delay.html#14311" class="Bound">x↓a</a><a id="14314" class="Symbol">)</a> <a id="14316" class="Symbol">(</a><a id="14317" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="14324" href="Monad.Instance.Setoids.Delay.html#14324" class="Bound">y↓b</a><a id="14327" class="Symbol">))</a> <a id="14330" class="Symbol">=</a> <a id="14332" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="14339" class="Symbol">(</a><a id="14340" href="Monad.Instance.Setoids.Delay.html#13791" class="Function">μ-cong′</a> <a id="14348" href="Monad.Instance.Setoids.Delay.html#14273" class="Bound">A</a> <a id="14350" class="Symbol">(</a><a id="14351" href="Monad.Instance.Setoids.Delay.html#3662" class="Function">≈→≈′</a> <a id="14356" class="Symbol">(</a><a id="14357" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="14364" href="Monad.Instance.Setoids.Delay.html#14273" class="Bound">A</a><a id="14365" class="Symbol">)</a> <a id="14367" class="Symbol">(</a><a id="14368" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="14371" href="Monad.Instance.Setoids.Delay.html#14299" class="Bound">a≡b</a> <a id="14375" href="Monad.Instance.Setoids.Delay.html#14311" class="Bound">x↓a</a> <a id="14379" href="Monad.Instance.Setoids.Delay.html#14324" class="Bound">y↓b</a><a id="14382" class="Symbol">)))</a>
|
||
<a id="14388" href="Monad.Instance.Setoids.Delay.html#13674" class="Function">μ-cong</a> <a id="14395" href="Monad.Instance.Setoids.Delay.html#14395" class="Bound">A</a> <a id="14397" class="Symbol">{</a><a id="14398" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="14404" href="Monad.Instance.Setoids.Delay.html#14404" class="Bound">x</a><a id="14405" class="Symbol">}</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.Delay.html#14414" class="Bound">y</a><a id="14415" class="Symbol">}</a> <a id="14417" class="Symbol">(</a><a id="14418" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="14425" href="Monad.Instance.Setoids.Delay.html#14425" class="Bound">x≈y</a><a id="14428" class="Symbol">)</a> <a id="14430" class="Symbol">=</a> <a id="14432" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="14439" class="Symbol">(</a><a id="14440" href="Monad.Instance.Setoids.Delay.html#13791" class="Function">μ-cong′</a> <a id="14448" href="Monad.Instance.Setoids.Delay.html#14395" class="Bound">A</a> <a id="14450" href="Monad.Instance.Setoids.Delay.html#14425" class="Bound">x≈y</a><a id="14453" class="Symbol">)</a>
|
||
<a id="14457" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="14464" class="Symbol">(</a><a id="14465" href="Monad.Instance.Setoids.Delay.html#13791" class="Function">μ-cong′</a> <a id="14473" href="Monad.Instance.Setoids.Delay.html#14473" class="Bound">A</a> <a id="14475" class="Symbol">{</a><a id="14476" href="Monad.Instance.Setoids.Delay.html#14476" class="Bound">x</a><a id="14477" class="Symbol">}</a> <a id="14479" class="Symbol">{</a><a id="14480" href="Monad.Instance.Setoids.Delay.html#14480" class="Bound">y</a><a id="14481" class="Symbol">}</a> <a id="14483" href="Monad.Instance.Setoids.Delay.html#14483" class="Bound">x≈y</a><a id="14486" class="Symbol">)</a> <a id="14488" class="Symbol">=</a> <a id="14490" href="Monad.Instance.Setoids.Delay.html#13674" class="Function">μ-cong</a> <a id="14497" href="Monad.Instance.Setoids.Delay.html#14473" class="Bound">A</a> <a id="14499" class="Symbol">(</a><a id="14500" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="14507" href="Monad.Instance.Setoids.Delay.html#14483" class="Bound">x≈y</a><a id="14510" class="Symbol">)</a>
|
||
|
||
<a id="DelayMonad.μₛ"></a><a id="14515" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="14518" class="Symbol">:</a> <a id="14520" class="Symbol">∀</a> <a id="14522" class="Symbol">(</a><a id="14523" href="Monad.Instance.Setoids.Delay.html#14523" class="Bound">A</a> <a id="14525" class="Symbol">:</a> <a id="14527" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="14534" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="14536" class="Symbol">(</a><a id="14537" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="14539" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="14541" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="14542" class="Symbol">))</a> <a id="14545" class="Symbol">→</a> <a id="14547" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="14554" class="Symbol">(</a><a id="14555" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="14562" href="Monad.Instance.Setoids.Delay.html#14523" class="Bound">A</a><a id="14563" class="Symbol">)</a> <a id="14565" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="14567" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="14574" href="Monad.Instance.Setoids.Delay.html#14523" class="Bound">A</a>
|
||
<a id="14578" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="14581" href="Monad.Instance.Setoids.Delay.html#14581" class="Bound">A</a> <a id="14583" class="Symbol">=</a> <a id="14585" class="Keyword">record</a> <a id="14592" class="Symbol">{</a> <a id="14594" href="Function.Bundles.html#2094" class="Field">to</a> <a id="14597" class="Symbol">=</a> <a id="14599" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="14601" class="Symbol">{</a><a id="14602" href="Monad.Instance.Setoids.Delay.html#14581" class="Bound">A</a><a id="14603" class="Symbol">}</a> <a id="14605" class="Symbol">;</a> <a id="14607" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="14612" class="Symbol">=</a> <a id="14614" href="Monad.Instance.Setoids.Delay.html#13674" class="Function">μ-cong</a> <a id="14621" href="Monad.Instance.Setoids.Delay.html#14581" class="Bound">A</a> <a id="14623" class="Symbol">}</a>
|
||
|
||
<a id="DelayMonad.μₛ∼"></a><a id="14628" href="Monad.Instance.Setoids.Delay.html#14628" class="Function">μₛ∼</a> <a id="14632" class="Symbol">:</a> <a id="14634" class="Symbol">∀</a> <a id="14636" class="Symbol">(</a><a id="14637" href="Monad.Instance.Setoids.Delay.html#14637" class="Bound">A</a> <a id="14639" class="Symbol">:</a> <a id="14641" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="14648" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="14650" class="Symbol">(</a><a id="14651" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="14653" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="14655" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="14656" class="Symbol">))</a> <a id="14659" class="Symbol">→</a> <a id="14661" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ∼</a> <a id="14669" class="Symbol">(</a><a id="14670" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ∼</a> <a id="14678" href="Monad.Instance.Setoids.Delay.html#14637" class="Bound">A</a><a id="14679" class="Symbol">)</a> <a id="14681" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="14683" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ∼</a> <a id="14691" href="Monad.Instance.Setoids.Delay.html#14637" class="Bound">A</a>
|
||
<a id="14695" href="Monad.Instance.Setoids.Delay.html#14628" class="Function">μₛ∼</a> <a id="14699" href="Monad.Instance.Setoids.Delay.html#14699" class="Bound">A</a> <a id="14701" class="Symbol">=</a> <a id="14703" class="Keyword">record</a> <a id="14710" class="Symbol">{</a> <a id="14712" href="Function.Bundles.html#2094" class="Field">to</a> <a id="14715" class="Symbol">=</a> <a id="14717" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="14719" class="Symbol">{</a><a id="14720" href="Monad.Instance.Setoids.Delay.html#14699" class="Bound">A</a><a id="14721" class="Symbol">}</a> <a id="14723" class="Symbol">;</a> <a id="14725" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="14730" class="Symbol">=</a> <a id="14732" href="Monad.Instance.Setoids.Delay.html#14760" class="Function">μ-cong∼</a> <a id="14740" href="Monad.Instance.Setoids.Delay.html#14699" class="Bound">A</a> <a id="14742" class="Symbol">}</a>
|
||
<a id="14748" class="Keyword">where</a>
|
||
<a id="14760" href="Monad.Instance.Setoids.Delay.html#14760" class="Function">μ-cong∼</a> <a id="14768" class="Symbol">:</a> <a id="14770" class="Symbol">∀</a> <a id="14772" class="Symbol">(</a><a id="14773" href="Monad.Instance.Setoids.Delay.html#14773" class="Bound">A</a> <a id="14775" class="Symbol">:</a> <a id="14777" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="14784" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="14786" class="Symbol">(</a><a id="14787" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="14789" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="14791" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="14792" class="Symbol">))</a> <a id="14795" class="Symbol">{</a><a id="14796" href="Monad.Instance.Setoids.Delay.html#14796" class="Bound">x</a> <a id="14798" href="Monad.Instance.Setoids.Delay.html#14798" class="Bound">y</a> <a id="14800" class="Symbol">:</a> <a id="14802" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="14808" class="Symbol">(</a><a id="14809" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="14815" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="14817" href="Monad.Instance.Setoids.Delay.html#14773" class="Bound">A</a> <a id="14819" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="14820" class="Symbol">)}</a> <a id="14823" class="Symbol">→</a> <a id="14825" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="14827" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ∼</a> <a id="14835" href="Monad.Instance.Setoids.Delay.html#14773" class="Bound">A</a> <a id="14837" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="14840" href="Monad.Instance.Setoids.Delay.html#14796" class="Bound">x</a> <a id="14842" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="14844" href="Monad.Instance.Setoids.Delay.html#14798" class="Bound">y</a> <a id="14846" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a> <a id="14848" class="Symbol">→</a> <a id="14850" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="14852" href="Monad.Instance.Setoids.Delay.html#14773" class="Bound">A</a> <a id="14854" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="14857" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="14859" class="Symbol">{</a><a id="14860" href="Monad.Instance.Setoids.Delay.html#14773" class="Bound">A</a><a id="14861" class="Symbol">}</a> <a id="14863" href="Monad.Instance.Setoids.Delay.html#14796" class="Bound">x</a> <a id="14865" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="14867" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="14869" class="Symbol">{</a><a id="14870" href="Monad.Instance.Setoids.Delay.html#14773" class="Bound">A</a><a id="14871" class="Symbol">}</a> <a id="14873" href="Monad.Instance.Setoids.Delay.html#14798" class="Bound">y</a> <a id="14875" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="14883" href="Monad.Instance.Setoids.Delay.html#14883" class="Function">μ-cong∼′</a> <a id="14892" class="Symbol">:</a> <a id="14894" class="Symbol">∀</a> <a id="14896" class="Symbol">(</a><a id="14897" href="Monad.Instance.Setoids.Delay.html#14897" class="Bound">A</a> <a id="14899" class="Symbol">:</a> <a id="14901" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="14908" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="14910" class="Symbol">(</a><a id="14911" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="14913" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="14915" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="14916" class="Symbol">))</a> <a id="14919" class="Symbol">{</a><a id="14920" href="Monad.Instance.Setoids.Delay.html#14920" class="Bound">x</a> <a id="14922" href="Monad.Instance.Setoids.Delay.html#14922" class="Bound">y</a> <a id="14924" class="Symbol">:</a> <a id="14926" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="14932" class="Symbol">(</a><a id="14933" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="14939" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="14941" href="Monad.Instance.Setoids.Delay.html#14897" class="Bound">A</a> <a id="14943" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="14944" class="Symbol">)}</a> <a id="14947" class="Symbol">→</a> <a id="14949" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="14951" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ∼</a> <a id="14959" href="Monad.Instance.Setoids.Delay.html#14897" class="Bound">A</a> <a id="14961" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="14964" href="Monad.Instance.Setoids.Delay.html#14920" class="Bound">x</a> <a id="14966" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="14969" href="Monad.Instance.Setoids.Delay.html#14922" class="Bound">y</a> <a id="14971" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a> <a id="14973" class="Symbol">→</a> <a id="14975" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="14977" href="Monad.Instance.Setoids.Delay.html#14897" class="Bound">A</a> <a id="14979" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="14982" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="14984" class="Symbol">{</a><a id="14985" href="Monad.Instance.Setoids.Delay.html#14897" class="Bound">A</a><a id="14986" class="Symbol">}</a> <a id="14988" href="Monad.Instance.Setoids.Delay.html#14920" class="Bound">x</a> <a id="14990" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="14993" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="14995" class="Symbol">{</a><a id="14996" href="Monad.Instance.Setoids.Delay.html#14897" class="Bound">A</a><a id="14997" class="Symbol">}</a> <a id="14999" href="Monad.Instance.Setoids.Delay.html#14922" class="Bound">y</a> <a id="15001" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a>
|
||
<a id="15009" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="15016" class="Symbol">(</a><a id="15017" href="Monad.Instance.Setoids.Delay.html#14883" class="Function">μ-cong∼′</a> <a id="15026" href="Monad.Instance.Setoids.Delay.html#15026" class="Bound">A</a> <a id="15028" class="Symbol">{</a><a id="15029" href="Monad.Instance.Setoids.Delay.html#15029" class="Bound">x</a><a id="15030" class="Symbol">}</a> <a id="15032" class="Symbol">{</a><a id="15033" href="Monad.Instance.Setoids.Delay.html#15033" class="Bound">y</a><a id="15034" class="Symbol">}</a> <a id="15036" href="Monad.Instance.Setoids.Delay.html#15036" class="Bound">x∼y</a><a id="15039" class="Symbol">)</a> <a id="15041" class="Symbol">=</a> <a id="15043" href="Monad.Instance.Setoids.Delay.html#14760" class="Function">μ-cong∼</a> <a id="15051" href="Monad.Instance.Setoids.Delay.html#15026" class="Bound">A</a> <a id="15053" class="Symbol">(</a><a id="15054" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="15061" href="Monad.Instance.Setoids.Delay.html#15036" class="Bound">x∼y</a><a id="15064" class="Symbol">)</a>
|
||
<a id="15072" href="Monad.Instance.Setoids.Delay.html#14760" class="Function">μ-cong∼</a> <a id="15080" href="Monad.Instance.Setoids.Delay.html#15080" class="Bound">A</a> <a id="15082" class="Symbol">{</a><a id="15083" class="DottedPattern Symbol">.(</a><a id="15085" href="Monad.Instance.Setoids.Delay.html#1057" class="DottedPattern InductiveConstructor">now</a> <a id="15089" class="DottedPattern Symbol">_)</a><a id="15091" class="Symbol">}</a> <a id="15093" class="Symbol">{</a><a id="15094" class="DottedPattern Symbol">.(</a><a id="15096" href="Monad.Instance.Setoids.Delay.html#1057" class="DottedPattern InductiveConstructor">now</a> <a id="15100" class="DottedPattern Symbol">_)</a><a id="15102" class="Symbol">}</a> <a id="15104" class="Symbol">(</a><a id="15105" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="15110" href="Monad.Instance.Setoids.Delay.html#15110" class="Bound">x∼y</a><a id="15113" class="Symbol">)</a> <a id="15115" class="Symbol">=</a> <a id="15117" href="Monad.Instance.Setoids.Delay.html#15110" class="Bound">x∼y</a>
|
||
<a id="15127" href="Monad.Instance.Setoids.Delay.html#14760" class="Function">μ-cong∼</a> <a id="15135" href="Monad.Instance.Setoids.Delay.html#15135" class="Bound">A</a> <a id="15137" class="Symbol">{</a><a id="15138" class="DottedPattern Symbol">.(</a><a id="15140" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="15146" class="DottedPattern Symbol">_)</a><a id="15148" class="Symbol">}</a> <a id="15150" class="Symbol">{</a><a id="15151" class="DottedPattern Symbol">.(</a><a id="15153" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="15159" class="DottedPattern Symbol">_)</a><a id="15161" class="Symbol">}</a> <a id="15163" class="Symbol">(</a><a id="15164" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="15171" href="Monad.Instance.Setoids.Delay.html#15171" class="Bound">x∼y</a><a id="15174" class="Symbol">)</a> <a id="15176" class="Symbol">=</a> <a id="15178" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="15185" class="Symbol">(</a><a id="15186" href="Monad.Instance.Setoids.Delay.html#14883" class="Function">μ-cong∼′</a> <a id="15195" href="Monad.Instance.Setoids.Delay.html#15135" class="Bound">A</a> <a id="15197" href="Monad.Instance.Setoids.Delay.html#15171" class="Bound">x∼y</a><a id="15200" class="Symbol">)</a>
|
||
|
||
<a id="DelayMonad.μ-natural"></a><a id="15205" href="Monad.Instance.Setoids.Delay.html#15205" class="Function">μ-natural</a> <a id="15215" class="Symbol">:</a> <a id="15217" class="Symbol">∀</a> <a id="15219" class="Symbol">{</a><a id="15220" href="Monad.Instance.Setoids.Delay.html#15220" class="Bound">A</a> <a id="15222" href="Monad.Instance.Setoids.Delay.html#15222" class="Bound">B</a> <a id="15224" class="Symbol">:</a> <a id="15226" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="15233" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="15235" class="Symbol">(</a><a id="15236" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="15238" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="15240" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="15241" class="Symbol">)}</a> <a id="15244" class="Symbol">(</a><a id="15245" href="Monad.Instance.Setoids.Delay.html#15245" class="Bound">f</a> <a id="15247" class="Symbol">:</a> <a id="15249" href="Monad.Instance.Setoids.Delay.html#15220" class="Bound">A</a> <a id="15251" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="15253" href="Monad.Instance.Setoids.Delay.html#15222" class="Bound">B</a><a id="15254" class="Symbol">)</a> <a id="15256" class="Symbol">→</a> <a id="15258" class="Symbol">(</a><a id="15259" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15262" href="Monad.Instance.Setoids.Delay.html#15222" class="Bound">B</a> <a id="15264" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="15266" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="15273" class="Symbol">(</a><a id="15274" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="15281" href="Monad.Instance.Setoids.Delay.html#15245" class="Bound">f</a><a id="15282" class="Symbol">))</a> <a id="15285" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">≋</a> <a id="15287" class="Symbol">(</a><a id="15288" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="15295" href="Monad.Instance.Setoids.Delay.html#15245" class="Bound">f</a> <a id="15297" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="15299" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15302" href="Monad.Instance.Setoids.Delay.html#15220" class="Bound">A</a><a id="15303" class="Symbol">)</a>
|
||
<a id="DelayMonad.μ-natural′"></a><a id="15307" href="Monad.Instance.Setoids.Delay.html#15307" class="Function">μ-natural′</a> <a id="15318" class="Symbol">:</a> <a id="15320" class="Symbol">∀</a> <a id="15322" class="Symbol">{</a><a id="15323" href="Monad.Instance.Setoids.Delay.html#15323" class="Bound">A</a> <a id="15325" href="Monad.Instance.Setoids.Delay.html#15325" class="Bound">B</a> <a id="15327" class="Symbol">:</a> <a id="15329" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="15336" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="15338" class="Symbol">(</a><a id="15339" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="15341" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="15343" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="15344" class="Symbol">)}</a> <a id="15347" class="Symbol">(</a><a id="15348" href="Monad.Instance.Setoids.Delay.html#15348" class="Bound">f</a> <a id="15350" class="Symbol">:</a> <a id="15352" href="Monad.Instance.Setoids.Delay.html#15323" class="Bound">A</a> <a id="15354" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="15356" href="Monad.Instance.Setoids.Delay.html#15325" class="Bound">B</a><a id="15357" class="Symbol">)</a> <a id="15359" class="Symbol">→</a> <a id="15361" class="Symbol">∀</a> <a id="15363" class="Symbol">{</a><a id="15364" href="Monad.Instance.Setoids.Delay.html#15364" class="Bound">x</a> <a id="15366" class="Symbol">:</a> <a id="15368" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15374" class="Symbol">(</a><a id="15375" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15381" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="15383" href="Monad.Instance.Setoids.Delay.html#15323" class="Bound">A</a> <a id="15385" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="15386" class="Symbol">)}</a> <a id="15389" class="Symbol">→</a> <a id="15391" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="15393" href="Monad.Instance.Setoids.Delay.html#15325" class="Bound">B</a> <a id="15395" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="15398" class="Symbol">(</a><a id="15399" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15402" href="Monad.Instance.Setoids.Delay.html#15325" class="Bound">B</a> <a id="15404" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="15406" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="15413" class="Symbol">(</a><a id="15414" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="15421" href="Monad.Instance.Setoids.Delay.html#15348" class="Bound">f</a><a id="15422" class="Symbol">))</a> <a id="15425" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="15429" href="Monad.Instance.Setoids.Delay.html#15364" class="Bound">x</a> <a id="15431" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="15434" class="Symbol">(</a><a id="15435" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="15442" href="Monad.Instance.Setoids.Delay.html#15348" class="Bound">f</a> <a id="15444" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="15446" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15449" href="Monad.Instance.Setoids.Delay.html#15323" class="Bound">A</a><a id="15450" class="Symbol">)</a> <a id="15452" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="15456" href="Monad.Instance.Setoids.Delay.html#15364" class="Bound">x</a> <a id="15458" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a>
|
||
<a id="15462" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="15469" class="Symbol">(</a><a id="15470" href="Monad.Instance.Setoids.Delay.html#15307" class="Function">μ-natural′</a> <a id="15481" class="Symbol">{</a><a id="15482" href="Monad.Instance.Setoids.Delay.html#15482" class="Bound">A</a><a id="15483" class="Symbol">}</a> <a id="15485" class="Symbol">{</a><a id="15486" href="Monad.Instance.Setoids.Delay.html#15486" class="Bound">B</a><a id="15487" class="Symbol">}</a> <a id="15489" href="Monad.Instance.Setoids.Delay.html#15489" class="Bound">f</a> <a id="15491" class="Symbol">{</a><a id="15492" href="Monad.Instance.Setoids.Delay.html#15492" class="Bound">x</a><a id="15493" class="Symbol">})</a> <a id="15496" class="Symbol">=</a> <a id="15498" href="Monad.Instance.Setoids.Delay.html#15205" class="Function">μ-natural</a> <a id="15508" href="Monad.Instance.Setoids.Delay.html#15489" class="Bound">f</a> <a id="15510" class="Symbol">{</a><a id="15511" href="Monad.Instance.Setoids.Delay.html#15492" class="Bound">x</a><a id="15512" class="Symbol">}</a>
|
||
<a id="15516" href="Monad.Instance.Setoids.Delay.html#15205" class="Function">μ-natural</a> <a id="15526" class="Symbol">{</a><a id="15527" href="Monad.Instance.Setoids.Delay.html#15527" class="Bound">A</a><a id="15528" class="Symbol">}</a> <a id="15530" class="Symbol">{</a><a id="15531" href="Monad.Instance.Setoids.Delay.html#15531" class="Bound">B</a><a id="15532" class="Symbol">}</a> <a id="15534" href="Monad.Instance.Setoids.Delay.html#15534" class="Bound">f</a> <a id="15536" class="Symbol">{</a><a id="15537" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="15541" href="Monad.Instance.Setoids.Delay.html#15541" class="Bound">x</a><a id="15542" class="Symbol">}</a> <a id="15544" class="Symbol">=</a> <a id="15546" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="15553" href="Monad.Instance.Setoids.Delay.html#15531" class="Bound">B</a>
|
||
<a id="15557" href="Monad.Instance.Setoids.Delay.html#15205" class="Function">μ-natural</a> <a id="15567" class="Symbol">{</a><a id="15568" href="Monad.Instance.Setoids.Delay.html#15568" class="Bound">A</a><a id="15569" class="Symbol">}</a> <a id="15571" class="Symbol">{</a><a id="15572" href="Monad.Instance.Setoids.Delay.html#15572" class="Bound">B</a><a id="15573" class="Symbol">}</a> <a id="15575" href="Monad.Instance.Setoids.Delay.html#15575" class="Bound">f</a> <a id="15577" class="Symbol">{</a><a id="15578" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="15584" href="Monad.Instance.Setoids.Delay.html#15584" class="Bound">x</a><a id="15585" class="Symbol">}</a> <a id="15587" class="Symbol">=</a> <a id="15589" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="15596" class="Symbol">(</a><a id="15597" href="Monad.Instance.Setoids.Delay.html#15307" class="Function">μ-natural′</a> <a id="15608" href="Monad.Instance.Setoids.Delay.html#15575" class="Bound">f</a> <a id="15610" class="Symbol">{</a><a id="15611" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="15617" href="Monad.Instance.Setoids.Delay.html#15584" class="Bound">x</a><a id="15618" class="Symbol">})</a>
|
||
|
||
<a id="DelayMonad.μ-assoc'"></a><a id="15624" href="Monad.Instance.Setoids.Delay.html#15624" class="Function">μ-assoc'</a> <a id="15633" class="Symbol">:</a> <a id="15635" class="Symbol">∀</a> <a id="15637" class="Symbol">{</a><a id="15638" href="Monad.Instance.Setoids.Delay.html#15638" class="Bound">A</a> <a id="15640" class="Symbol">:</a> <a id="15642" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="15649" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="15651" class="Symbol">(</a><a id="15652" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="15654" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="15656" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="15657" class="Symbol">)}</a> <a id="15660" class="Symbol">{</a><a id="15661" href="Monad.Instance.Setoids.Delay.html#15661" class="Bound">x</a> <a id="15663" class="Symbol">:</a> <a id="15665" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15671" class="Symbol">(</a><a id="15672" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15678" class="Symbol">(</a><a id="15679" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15685" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="15687" href="Monad.Instance.Setoids.Delay.html#15638" class="Bound">A</a> <a id="15689" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="15690" class="Symbol">))}</a> <a id="15694" class="Symbol">→</a> <a id="15696" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="15698" href="Monad.Instance.Setoids.Delay.html#15638" class="Bound">A</a> <a id="15700" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="15703" class="Symbol">(</a><a id="15704" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15707" href="Monad.Instance.Setoids.Delay.html#15638" class="Bound">A</a> <a id="15709" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="15711" class="Symbol">(</a><a id="15712" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="15719" class="Symbol">(</a><a id="15720" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15723" href="Monad.Instance.Setoids.Delay.html#15638" class="Bound">A</a><a id="15724" class="Symbol">)))</a> <a id="15728" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="15732" href="Monad.Instance.Setoids.Delay.html#15661" class="Bound">x</a> <a id="15734" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="15736" class="Symbol">(</a><a id="15737" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15740" href="Monad.Instance.Setoids.Delay.html#15638" class="Bound">A</a> <a id="15742" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="15744" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15747" class="Symbol">(</a><a id="15748" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="15755" href="Monad.Instance.Setoids.Delay.html#15638" class="Bound">A</a><a id="15756" class="Symbol">))</a> <a id="15759" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="15763" href="Monad.Instance.Setoids.Delay.html#15661" class="Bound">x</a> <a id="15765" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="DelayMonad.μ-assoc'′"></a><a id="15769" href="Monad.Instance.Setoids.Delay.html#15769" class="Function">μ-assoc'′</a> <a id="15779" class="Symbol">:</a> <a id="15781" class="Symbol">∀</a> <a id="15783" class="Symbol">{</a><a id="15784" href="Monad.Instance.Setoids.Delay.html#15784" class="Bound">A</a> <a id="15786" class="Symbol">:</a> <a id="15788" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="15795" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="15797" class="Symbol">(</a><a id="15798" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="15800" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="15802" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="15803" class="Symbol">)}</a> <a id="15806" class="Symbol">{</a><a id="15807" href="Monad.Instance.Setoids.Delay.html#15807" class="Bound">x</a> <a id="15809" class="Symbol">:</a> <a id="15811" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15817" class="Symbol">(</a><a id="15818" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15824" class="Symbol">(</a><a id="15825" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="15831" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="15833" href="Monad.Instance.Setoids.Delay.html#15784" class="Bound">A</a> <a id="15835" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="15836" class="Symbol">))}</a> <a id="15840" class="Symbol">→</a> <a id="15842" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="15844" href="Monad.Instance.Setoids.Delay.html#15784" class="Bound">A</a> <a id="15846" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="15849" class="Symbol">(</a><a id="15850" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15853" href="Monad.Instance.Setoids.Delay.html#15784" class="Bound">A</a> <a id="15855" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="15857" class="Symbol">(</a><a id="15858" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="15865" class="Symbol">(</a><a id="15866" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15869" href="Monad.Instance.Setoids.Delay.html#15784" class="Bound">A</a><a id="15870" class="Symbol">)))</a> <a id="15874" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="15878" href="Monad.Instance.Setoids.Delay.html#15807" class="Bound">x</a> <a id="15880" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="15883" class="Symbol">(</a><a id="15884" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15887" href="Monad.Instance.Setoids.Delay.html#15784" class="Bound">A</a> <a id="15889" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="15891" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="15894" class="Symbol">(</a><a id="15895" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="15902" href="Monad.Instance.Setoids.Delay.html#15784" class="Bound">A</a><a id="15903" class="Symbol">))</a> <a id="15906" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="15910" href="Monad.Instance.Setoids.Delay.html#15807" class="Bound">x</a> <a id="15912" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a>
|
||
<a id="15916" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="15923" class="Symbol">(</a><a id="15924" href="Monad.Instance.Setoids.Delay.html#15769" class="Function">μ-assoc'′</a> <a id="15934" class="Symbol">{</a><a id="15935" href="Monad.Instance.Setoids.Delay.html#15935" class="Bound">A</a><a id="15936" class="Symbol">}</a> <a id="15938" class="Symbol">{</a><a id="15939" href="Monad.Instance.Setoids.Delay.html#15939" class="Bound">x</a><a id="15940" class="Symbol">})</a> <a id="15943" class="Symbol">=</a> <a id="15945" href="Monad.Instance.Setoids.Delay.html#15624" class="Function">μ-assoc'</a> <a id="15954" class="Symbol">{</a><a id="15955" href="Monad.Instance.Setoids.Delay.html#15935" class="Bound">A</a><a id="15956" class="Symbol">}</a> <a id="15958" class="Symbol">{</a><a id="15959" href="Monad.Instance.Setoids.Delay.html#15939" class="Bound">x</a><a id="15960" class="Symbol">}</a>
|
||
<a id="15964" href="Monad.Instance.Setoids.Delay.html#15624" class="Function">μ-assoc'</a> <a id="15973" class="Symbol">{</a><a id="15974" href="Monad.Instance.Setoids.Delay.html#15974" class="Bound">A</a><a id="15975" class="Symbol">}</a> <a id="15977" class="Symbol">{</a><a id="15978" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="15982" href="Monad.Instance.Setoids.Delay.html#15982" class="Bound">x</a><a id="15983" class="Symbol">}</a> <a id="15985" class="Symbol">=</a> <a id="15987" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">∼-refl</a> <a id="15994" href="Monad.Instance.Setoids.Delay.html#15974" class="Bound">A</a>
|
||
<a id="15998" href="Monad.Instance.Setoids.Delay.html#15624" class="Function">μ-assoc'</a> <a id="16007" class="Symbol">{</a><a id="16008" href="Monad.Instance.Setoids.Delay.html#16008" class="Bound">A</a><a id="16009" class="Symbol">}</a> <a id="16011" class="Symbol">{</a><a id="16012" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="16018" href="Monad.Instance.Setoids.Delay.html#16018" class="Bound">x</a><a id="16019" class="Symbol">}</a> <a id="16021" class="Symbol">=</a> <a id="16023" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="16030" class="Symbol">(</a><a id="16031" href="Monad.Instance.Setoids.Delay.html#15769" class="Function">μ-assoc'′</a> <a id="16041" class="Symbol">{</a><a id="16042" href="Monad.Instance.Setoids.Delay.html#16008" class="Bound">A</a><a id="16043" class="Symbol">}</a> <a id="16045" class="Symbol">{</a><a id="16046" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="16052" href="Monad.Instance.Setoids.Delay.html#16018" class="Bound">x</a><a id="16053" class="Symbol">})</a>
|
||
|
||
<a id="DelayMonad.μ-assoc"></a><a id="16059" href="Monad.Instance.Setoids.Delay.html#16059" class="Function">μ-assoc</a> <a id="16067" class="Symbol">:</a> <a id="16069" class="Symbol">∀</a> <a id="16071" class="Symbol">{</a><a id="16072" href="Monad.Instance.Setoids.Delay.html#16072" class="Bound">A</a> <a id="16074" class="Symbol">:</a> <a id="16076" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="16083" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16085" class="Symbol">(</a><a id="16086" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16088" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="16090" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="16091" class="Symbol">)}</a> <a id="16094" class="Symbol">→</a> <a id="16096" class="Symbol">(</a><a id="16097" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="16100" href="Monad.Instance.Setoids.Delay.html#16072" class="Bound">A</a> <a id="16102" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="16104" class="Symbol">(</a><a id="16105" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="16112" class="Symbol">(</a><a id="16113" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="16116" href="Monad.Instance.Setoids.Delay.html#16072" class="Bound">A</a><a id="16117" class="Symbol">)))</a> <a id="16121" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">≋</a> <a id="16123" class="Symbol">(</a><a id="16124" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="16127" href="Monad.Instance.Setoids.Delay.html#16072" class="Bound">A</a> <a id="16129" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="16131" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="16134" class="Symbol">(</a><a id="16135" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="16142" href="Monad.Instance.Setoids.Delay.html#16072" class="Bound">A</a><a id="16143" class="Symbol">))</a>
|
||
<a id="16148" href="Monad.Instance.Setoids.Delay.html#16059" class="Function">μ-assoc</a> <a id="16156" class="Symbol">{</a><a id="16157" href="Monad.Instance.Setoids.Delay.html#16157" class="Bound">A</a><a id="16158" class="Symbol">}</a> <a id="16160" class="Symbol">{</a><a id="16161" href="Monad.Instance.Setoids.Delay.html#16161" class="Bound">x</a><a id="16162" class="Symbol">}</a> <a id="16164" class="Symbol">=</a> <a id="16166" href="Monad.Instance.Setoids.Delay.html#6250" class="Function">∼⇒≈</a> <a id="16170" class="Symbol">(</a><a id="16171" href="Monad.Instance.Setoids.Delay.html#15624" class="Function">μ-assoc'</a> <a id="16180" class="Symbol">{</a><a id="16181" href="Monad.Instance.Setoids.Delay.html#16157" class="Bound">A</a><a id="16182" class="Symbol">}</a> <a id="16184" class="Symbol">{</a><a id="16185" href="Monad.Instance.Setoids.Delay.html#16161" class="Bound">x</a><a id="16186" class="Symbol">})</a>
|
||
|
||
<a id="DelayMonad.identityˡ↓"></a><a id="16192" href="Monad.Instance.Setoids.Delay.html#16192" class="Function">identityˡ↓</a> <a id="16203" class="Symbol">:</a> <a id="16205" class="Symbol">∀</a> <a id="16207" class="Symbol">{</a><a id="16208" href="Monad.Instance.Setoids.Delay.html#16208" class="Bound">A</a> <a id="16210" class="Symbol">:</a> <a id="16212" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="16219" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16221" class="Symbol">(</a><a id="16222" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16224" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="16226" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="16227" class="Symbol">)}</a> <a id="16230" class="Symbol">{</a><a id="16231" href="Monad.Instance.Setoids.Delay.html#16231" class="Bound">x</a> <a id="16233" class="Symbol">:</a> <a id="16235" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="16241" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="16243" href="Monad.Instance.Setoids.Delay.html#16208" class="Bound">A</a> <a id="16245" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="16246" class="Symbol">}</a> <a id="16248" class="Symbol">{</a><a id="16249" href="Monad.Instance.Setoids.Delay.html#16249" class="Bound">y</a> <a id="16251" class="Symbol">:</a> <a id="16253" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="16255" href="Monad.Instance.Setoids.Delay.html#16208" class="Bound">A</a> <a id="16257" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="16258" class="Symbol">}</a> <a id="16260" class="Symbol">→</a> <a id="16262" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="16264" href="Monad.Instance.Setoids.Delay.html#16208" class="Bound">A</a> <a id="16266" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="16269" href="Monad.Instance.Setoids.Delay.html#16231" class="Bound">x</a> <a id="16271" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="16273" href="Monad.Instance.Setoids.Delay.html#16249" class="Bound">y</a> <a id="16275" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a> <a id="16277" class="Symbol">→</a> <a id="16279" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="16281" href="Monad.Instance.Setoids.Delay.html#16208" class="Bound">A</a> <a id="16283" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="16286" class="Symbol">((</a><a id="16288" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="16291" href="Monad.Instance.Setoids.Delay.html#16208" class="Bound">A</a><a id="16292" class="Symbol">)</a> <a id="16294" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="16298" class="Symbol">((</a><a id="16300" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="16307" class="Symbol">(</a><a id="16308" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="16311" href="Monad.Instance.Setoids.Delay.html#16208" class="Bound">A</a><a id="16312" class="Symbol">))</a> <a id="16315" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="16319" href="Monad.Instance.Setoids.Delay.html#16231" class="Bound">x</a><a id="16320" class="Symbol">))</a> <a id="16323" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="16325" href="Monad.Instance.Setoids.Delay.html#16249" class="Bound">y</a> <a id="16327" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a>
|
||
<a id="16331" href="Monad.Instance.Setoids.Delay.html#16192" class="Function">identityˡ↓</a> <a id="16342" class="Symbol">{</a><a id="16343" href="Monad.Instance.Setoids.Delay.html#16343" class="Bound">A</a><a id="16344" class="Symbol">}</a> <a id="16346" class="Symbol">{</a><a id="16347" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="16351" href="Monad.Instance.Setoids.Delay.html#16351" class="Bound">x</a><a id="16352" class="Symbol">}</a> <a id="16354" class="Symbol">{</a><a id="16355" href="Monad.Instance.Setoids.Delay.html#16355" class="Bound">y</a><a id="16356" class="Symbol">}</a> <a id="16358" href="Monad.Instance.Setoids.Delay.html#16358" class="Bound">x↓y</a> <a id="16362" class="Symbol">=</a> <a id="16364" href="Monad.Instance.Setoids.Delay.html#16358" class="Bound">x↓y</a>
|
||
<a id="16370" href="Monad.Instance.Setoids.Delay.html#16192" class="Function">identityˡ↓</a> <a id="16381" class="Symbol">{</a><a id="16382" href="Monad.Instance.Setoids.Delay.html#16382" class="Bound">A</a><a id="16383" class="Symbol">}</a> <a id="16385" class="Symbol">{</a><a id="16386" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="16392" href="Monad.Instance.Setoids.Delay.html#16392" class="Bound">x</a><a id="16393" class="Symbol">}</a> <a id="16395" class="Symbol">{</a><a id="16396" href="Monad.Instance.Setoids.Delay.html#16396" class="Bound">y</a><a id="16397" class="Symbol">}</a> <a id="16399" class="Symbol">(</a><a id="16400" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="16407" href="Monad.Instance.Setoids.Delay.html#16407" class="Bound">x↓y</a><a id="16410" class="Symbol">)</a> <a id="16412" class="Symbol">=</a> <a id="16414" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="16421" class="Symbol">(</a><a id="16422" href="Monad.Instance.Setoids.Delay.html#16192" class="Function">identityˡ↓</a> <a id="16433" href="Monad.Instance.Setoids.Delay.html#16407" class="Bound">x↓y</a><a id="16436" class="Symbol">)</a>
|
||
|
||
<a id="DelayMonad.identityˡ∼"></a><a id="16441" href="Monad.Instance.Setoids.Delay.html#16441" class="Function">identityˡ∼</a> <a id="16452" class="Symbol">:</a> <a id="16454" class="Symbol">∀</a> <a id="16456" class="Symbol">{</a><a id="16457" href="Monad.Instance.Setoids.Delay.html#16457" class="Bound">A</a> <a id="16459" class="Symbol">:</a> <a id="16461" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="16468" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16470" class="Symbol">(</a><a id="16471" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16473" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="16475" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="16476" class="Symbol">)}</a> <a id="16479" class="Symbol">{</a><a id="16480" href="Monad.Instance.Setoids.Delay.html#16480" class="Bound">x</a> <a id="16482" class="Symbol">:</a> <a id="16484" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="16490" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="16492" href="Monad.Instance.Setoids.Delay.html#16457" class="Bound">A</a> <a id="16494" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="16495" class="Symbol">}</a> <a id="16497" class="Symbol">→</a> <a id="16499" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="16501" href="Monad.Instance.Setoids.Delay.html#16457" class="Bound">A</a> <a id="16503" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="16506" class="Symbol">(</a><a id="16507" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="16510" href="Monad.Instance.Setoids.Delay.html#16457" class="Bound">A</a> <a id="16512" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="16514" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="16521" class="Symbol">(</a><a id="16522" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="16525" href="Monad.Instance.Setoids.Delay.html#16457" class="Bound">A</a><a id="16526" class="Symbol">))</a> <a id="16529" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="16533" href="Monad.Instance.Setoids.Delay.html#16480" class="Bound">x</a> <a id="16535" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="16537" href="Monad.Instance.Setoids.Delay.html#16480" class="Bound">x</a> <a id="16539" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="DelayMonad.identityˡ∼′"></a><a id="16543" href="Monad.Instance.Setoids.Delay.html#16543" class="Function">identityˡ∼′</a> <a id="16555" class="Symbol">:</a> <a id="16557" class="Symbol">∀</a> <a id="16559" class="Symbol">{</a><a id="16560" href="Monad.Instance.Setoids.Delay.html#16560" class="Bound">A</a> <a id="16562" class="Symbol">:</a> <a id="16564" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="16571" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16573" class="Symbol">(</a><a id="16574" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16576" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="16578" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="16579" class="Symbol">)}</a> <a id="16582" class="Symbol">{</a><a id="16583" href="Monad.Instance.Setoids.Delay.html#16583" class="Bound">x</a> <a id="16585" class="Symbol">:</a> <a id="16587" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="16593" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="16595" href="Monad.Instance.Setoids.Delay.html#16560" class="Bound">A</a> <a id="16597" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="16598" class="Symbol">}</a> <a id="16600" class="Symbol">→</a> <a id="16602" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="16604" href="Monad.Instance.Setoids.Delay.html#16560" class="Bound">A</a> <a id="16606" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="16609" class="Symbol">(</a><a id="16610" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="16613" href="Monad.Instance.Setoids.Delay.html#16560" class="Bound">A</a> <a id="16615" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="16617" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="16624" class="Symbol">(</a><a id="16625" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="16628" href="Monad.Instance.Setoids.Delay.html#16560" class="Bound">A</a><a id="16629" class="Symbol">))</a> <a id="16632" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="16636" href="Monad.Instance.Setoids.Delay.html#16583" class="Bound">x</a> <a id="16638" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="16641" href="Monad.Instance.Setoids.Delay.html#16583" class="Bound">x</a> <a id="16643" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a>
|
||
<a id="16647" href="Monad.Instance.Setoids.Delay.html#16441" class="Function">identityˡ∼</a> <a id="16658" class="Symbol">{</a><a id="16659" href="Monad.Instance.Setoids.Delay.html#16659" class="Bound">A</a><a id="16660" class="Symbol">}</a> <a id="16662" class="Symbol">{</a><a id="16663" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="16667" href="Monad.Instance.Setoids.Delay.html#16667" class="Bound">x</a><a id="16668" class="Symbol">}</a> <a id="16670" class="Symbol">=</a> <a id="16672" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">∼-refl</a> <a id="16679" href="Monad.Instance.Setoids.Delay.html#16659" class="Bound">A</a>
|
||
<a id="16683" href="Monad.Instance.Setoids.Delay.html#16441" class="Function">identityˡ∼</a> <a id="16694" class="Symbol">{</a><a id="16695" href="Monad.Instance.Setoids.Delay.html#16695" class="Bound">A</a><a id="16696" class="Symbol">}</a> <a id="16698" class="Symbol">{</a><a id="16699" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="16705" href="Monad.Instance.Setoids.Delay.html#16705" class="Bound">x</a><a id="16706" class="Symbol">}</a> <a id="16708" class="Symbol">=</a> <a id="16710" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="16717" href="Monad.Instance.Setoids.Delay.html#16543" class="Function">identityˡ∼′</a>
|
||
<a id="16731" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="16738" class="Symbol">(</a><a id="16739" href="Monad.Instance.Setoids.Delay.html#16543" class="Function">identityˡ∼′</a> <a id="16751" class="Symbol">{</a><a id="16752" href="Monad.Instance.Setoids.Delay.html#16752" class="Bound">A</a><a id="16753" class="Symbol">}</a> <a id="16755" class="Symbol">{</a><a id="16756" href="Monad.Instance.Setoids.Delay.html#16756" class="Bound">x</a><a id="16757" class="Symbol">})</a> <a id="16760" class="Symbol">=</a> <a id="16762" href="Monad.Instance.Setoids.Delay.html#16441" class="Function">identityˡ∼</a>
|
||
|
||
<a id="DelayMonad.identityˡ"></a><a id="16776" href="Monad.Instance.Setoids.Delay.html#16776" class="Function">identityˡ</a> <a id="16786" class="Symbol">:</a> <a id="16788" class="Symbol">∀</a> <a id="16790" class="Symbol">{</a><a id="16791" href="Monad.Instance.Setoids.Delay.html#16791" class="Bound">A</a> <a id="16793" class="Symbol">:</a> <a id="16795" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="16802" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16804" class="Symbol">(</a><a id="16805" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16807" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="16809" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="16810" class="Symbol">)}</a> <a id="16813" class="Symbol">→</a> <a id="16815" class="Symbol">(</a><a id="16816" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="16819" href="Monad.Instance.Setoids.Delay.html#16791" class="Bound">A</a> <a id="16821" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="16823" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="16830" class="Symbol">(</a><a id="16831" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="16834" href="Monad.Instance.Setoids.Delay.html#16791" class="Bound">A</a><a id="16835" class="Symbol">))</a> <a id="16838" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">≋</a> <a id="16840" href="Monad.Instance.Setoids.Delay.html#227" class="Function">idₛ</a> <a id="16844" class="Symbol">(</a><a id="16845" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="16852" href="Monad.Instance.Setoids.Delay.html#16791" class="Bound">A</a><a id="16853" class="Symbol">)</a>
|
||
<a id="DelayMonad.identityˡ′"></a><a id="16857" href="Monad.Instance.Setoids.Delay.html#16857" class="Function">identityˡ′</a> <a id="16868" class="Symbol">:</a> <a id="16870" class="Symbol">∀</a> <a id="16872" class="Symbol">{</a><a id="16873" href="Monad.Instance.Setoids.Delay.html#16873" class="Bound">A</a> <a id="16875" class="Symbol">:</a> <a id="16877" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="16884" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16886" class="Symbol">(</a><a id="16887" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="16889" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="16891" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="16892" class="Symbol">)}</a> <a id="16895" class="Symbol">{</a><a id="16896" href="Monad.Instance.Setoids.Delay.html#16896" class="Bound">x</a> <a id="16898" class="Symbol">:</a> <a id="16900" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="16906" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="16908" href="Monad.Instance.Setoids.Delay.html#16873" class="Bound">A</a> <a id="16910" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="16911" class="Symbol">}</a> <a id="16913" class="Symbol">→</a> <a id="16915" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="16917" href="Monad.Instance.Setoids.Delay.html#16873" class="Bound">A</a> <a id="16919" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="16922" class="Symbol">(</a><a id="16923" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="16926" href="Monad.Instance.Setoids.Delay.html#16873" class="Bound">A</a> <a id="16928" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="16930" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a> <a id="16937" class="Symbol">(</a><a id="16938" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="16941" href="Monad.Instance.Setoids.Delay.html#16873" class="Bound">A</a><a id="16942" class="Symbol">))</a> <a id="16945" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="16949" href="Monad.Instance.Setoids.Delay.html#16896" class="Bound">x</a> <a id="16951" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="16954" href="Monad.Instance.Setoids.Delay.html#16896" class="Bound">x</a> <a id="16956" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a>
|
||
<a id="16960" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="16967" class="Symbol">(</a><a id="16968" href="Monad.Instance.Setoids.Delay.html#16857" class="Function">identityˡ′</a> <a id="16979" class="Symbol">{</a><a id="16980" href="Monad.Instance.Setoids.Delay.html#16980" class="Bound">A</a><a id="16981" class="Symbol">}</a> <a id="16983" class="Symbol">{</a><a id="16984" href="Monad.Instance.Setoids.Delay.html#16984" class="Bound">x</a><a id="16985" class="Symbol">})</a> <a id="16988" class="Symbol">=</a> <a id="16990" href="Monad.Instance.Setoids.Delay.html#16776" class="Function">identityˡ</a>
|
||
<a id="17002" href="Monad.Instance.Setoids.Delay.html#16776" class="Function">identityˡ</a> <a id="17012" class="Symbol">{</a><a id="17013" href="Monad.Instance.Setoids.Delay.html#17013" class="Bound">A</a><a id="17014" class="Symbol">}</a> <a id="17016" class="Symbol">{</a><a id="17017" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="17021" href="Monad.Instance.Setoids.Delay.html#17021" class="Bound">x</a><a id="17022" class="Symbol">}</a> <a id="17024" class="Symbol">=</a> <a id="17026" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="17033" href="Monad.Instance.Setoids.Delay.html#17013" class="Bound">A</a>
|
||
<a id="17037" href="Monad.Instance.Setoids.Delay.html#16776" class="Function">identityˡ</a> <a id="17047" class="Symbol">{</a><a id="17048" href="Monad.Instance.Setoids.Delay.html#17048" class="Bound">A</a><a id="17049" class="Symbol">}</a> <a id="17051" class="Symbol">{</a><a id="17052" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="17058" href="Monad.Instance.Setoids.Delay.html#17058" class="Bound">x</a><a id="17059" class="Symbol">}</a> <a id="17061" class="Symbol">=</a> <a id="17063" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="17070" href="Monad.Instance.Setoids.Delay.html#16857" class="Function">identityˡ′</a>
|
||
|
||
<a id="DelayMonad.identityʳ"></a><a id="17084" href="Monad.Instance.Setoids.Delay.html#17084" class="Function">identityʳ</a> <a id="17094" class="Symbol">:</a> <a id="17096" class="Symbol">∀</a> <a id="17098" class="Symbol">{</a><a id="17099" href="Monad.Instance.Setoids.Delay.html#17099" class="Bound">A</a> <a id="17101" class="Symbol">:</a> <a id="17103" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="17110" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="17112" class="Symbol">(</a><a id="17113" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="17115" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="17117" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="17118" class="Symbol">)}</a> <a id="17121" class="Symbol">→</a> <a id="17123" class="Symbol">(</a><a id="17124" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="17127" href="Monad.Instance.Setoids.Delay.html#17099" class="Bound">A</a> <a id="17129" href="Monad.Instance.Setoids.Delay.html#302" class="Function Operator">∘</a> <a id="17131" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="17134" class="Symbol">(</a><a id="17135" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="17142" href="Monad.Instance.Setoids.Delay.html#17099" class="Bound">A</a><a id="17143" class="Symbol">))</a> <a id="17146" href="Monad.Instance.Setoids.Delay.html#10110" class="Function Operator">≋</a> <a id="17148" href="Monad.Instance.Setoids.Delay.html#227" class="Function">idₛ</a> <a id="17152" class="Symbol">(</a><a id="17153" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a> <a id="17160" href="Monad.Instance.Setoids.Delay.html#17099" class="Bound">A</a><a id="17161" class="Symbol">)</a>
|
||
<a id="17165" href="Monad.Instance.Setoids.Delay.html#17084" class="Function">identityʳ</a> <a id="17175" class="Symbol">{</a><a id="17176" href="Monad.Instance.Setoids.Delay.html#17176" class="Bound">A</a><a id="17177" class="Symbol">}</a> <a id="17179" class="Symbol">{</a><a id="17180" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="17184" href="Monad.Instance.Setoids.Delay.html#17184" class="Bound">x</a><a id="17185" class="Symbol">}</a> <a id="17187" class="Symbol">=</a> <a id="17189" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="17196" href="Monad.Instance.Setoids.Delay.html#17176" class="Bound">A</a>
|
||
<a id="17200" href="Monad.Instance.Setoids.Delay.html#17084" class="Function">identityʳ</a> <a id="17210" class="Symbol">{</a><a id="17211" href="Monad.Instance.Setoids.Delay.html#17211" class="Bound">A</a><a id="17212" class="Symbol">}</a> <a id="17214" class="Symbol">{</a><a id="17215" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="17221" href="Monad.Instance.Setoids.Delay.html#17221" class="Bound">x</a><a id="17222" class="Symbol">}</a> <a id="17224" class="Symbol">=</a> <a id="17226" href="Monad.Instance.Setoids.Delay.html#4293" class="Function">≈-refl</a> <a id="17233" href="Monad.Instance.Setoids.Delay.html#17211" class="Bound">A</a>
|
||
|
||
<a id="DelayMonad.delayMonad"></a><a id="17238" href="Monad.Instance.Setoids.Delay.html#17238" class="Function">delayMonad</a> <a id="17249" class="Symbol">:</a> <a id="17251" href="Categories.Monad.html#454" class="Record">Monad</a> <a id="17257" class="Symbol">(</a><a id="17258" href="Categories.Category.Instance.Setoids.html#555" class="Function">Setoids</a> <a id="17266" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="17268" class="Symbol">(</a><a id="17269" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="17271" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="17273" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="17274" class="Symbol">))</a>
|
||
<a id="17279" href="Monad.Instance.Setoids.Delay.html#17238" class="Function">delayMonad</a> <a id="17290" class="Symbol">=</a> <a id="17292" class="Keyword">record</a>
|
||
<a id="17303" class="Symbol">{</a> <a id="17305" href="Categories.Monad.html#525" class="Field">F</a> <a id="17307" class="Symbol">=</a> <a id="17309" class="Keyword">record</a>
|
||
<a id="17322" class="Symbol">{</a> <a id="17324" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="17327" class="Symbol">=</a> <a id="17329" href="Monad.Instance.Setoids.Delay.html#5823" class="Function">Delayₛ</a>
|
||
<a id="17342" class="Symbol">;</a> <a id="17344" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="17347" class="Symbol">=</a> <a id="17349" href="Monad.Instance.Setoids.Delay.html#8742" class="Function">liftFₛ</a>
|
||
<a id="17362" class="Symbol">;</a> <a id="17364" href="Categories.Functor.Core.html#511" class="Field">identity</a> <a id="17373" class="Symbol">=</a> <a id="17375" href="Monad.Instance.Setoids.Delay.html#10957" class="Function">lift-id</a>
|
||
<a id="17389" class="Symbol">;</a> <a id="17391" href="Categories.Functor.Core.html#565" class="Field">homomorphism</a> <a id="17404" class="Symbol">=</a> <a id="17406" class="Symbol">λ</a> <a id="17408" class="Symbol">{</a><a id="17409" href="Monad.Instance.Setoids.Delay.html#17409" class="Bound">X</a><a id="17410" class="Symbol">}</a> <a id="17412" class="Symbol">{</a><a id="17413" href="Monad.Instance.Setoids.Delay.html#17413" class="Bound">Y</a><a id="17414" class="Symbol">}</a> <a id="17416" class="Symbol">{</a><a id="17417" href="Monad.Instance.Setoids.Delay.html#17417" class="Bound">Z</a><a id="17418" class="Symbol">}</a> <a id="17420" class="Symbol">{</a><a id="17421" href="Monad.Instance.Setoids.Delay.html#17421" class="Bound">f</a><a id="17422" class="Symbol">}</a> <a id="17424" class="Symbol">{</a><a id="17425" href="Monad.Instance.Setoids.Delay.html#17425" class="Bound">g</a><a id="17426" class="Symbol">}</a> <a id="17428" class="Symbol">→</a> <a id="17430" href="Monad.Instance.Setoids.Delay.html#11234" class="Function">lift-comp</a> <a id="17440" class="Symbol">{</a><a id="17441" href="Monad.Instance.Setoids.Delay.html#17409" class="Bound">X</a><a id="17442" class="Symbol">}</a> <a id="17444" class="Symbol">{</a><a id="17445" href="Monad.Instance.Setoids.Delay.html#17413" class="Bound">Y</a><a id="17446" class="Symbol">}</a> <a id="17448" class="Symbol">{</a><a id="17449" href="Monad.Instance.Setoids.Delay.html#17417" class="Bound">Z</a><a id="17450" class="Symbol">}</a> <a id="17452" class="Symbol">{</a><a id="17453" href="Monad.Instance.Setoids.Delay.html#17421" class="Bound">f</a><a id="17454" class="Symbol">}</a> <a id="17456" class="Symbol">{</a><a id="17457" href="Monad.Instance.Setoids.Delay.html#17425" class="Bound">g</a><a id="17458" class="Symbol">}</a>
|
||
<a id="17466" class="Symbol">;</a> <a id="17468" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a> <a id="17477" class="Symbol">=</a> <a id="17479" class="Symbol">λ</a> <a id="17481" class="Symbol">{</a><a id="17482" href="Monad.Instance.Setoids.Delay.html#17482" class="Bound">A</a><a id="17483" class="Symbol">}</a> <a id="17485" class="Symbol">{</a><a id="17486" href="Monad.Instance.Setoids.Delay.html#17486" class="Bound">B</a><a id="17487" class="Symbol">}</a> <a id="17489" class="Symbol">{</a><a id="17490" href="Monad.Instance.Setoids.Delay.html#17490" class="Bound">f</a><a id="17491" class="Symbol">}</a> <a id="17493" class="Symbol">{</a><a id="17494" href="Monad.Instance.Setoids.Delay.html#17494" class="Bound">g</a><a id="17495" class="Symbol">}</a> <a id="17497" class="Symbol">→</a> <a id="17499" href="Monad.Instance.Setoids.Delay.html#11705" class="Function">lift-resp-≈</a> <a id="17511" class="Symbol">{</a><a id="17512" href="Monad.Instance.Setoids.Delay.html#17482" class="Bound">A</a><a id="17513" class="Symbol">}</a> <a id="17515" class="Symbol">{</a><a id="17516" href="Monad.Instance.Setoids.Delay.html#17486" class="Bound">B</a><a id="17517" class="Symbol">}</a> <a id="17519" class="Symbol">{</a><a id="17520" href="Monad.Instance.Setoids.Delay.html#17490" class="Bound">f</a><a id="17521" class="Symbol">}</a> <a id="17523" class="Symbol">{</a><a id="17524" href="Monad.Instance.Setoids.Delay.html#17494" class="Bound">g</a><a id="17525" class="Symbol">}</a>
|
||
<a id="17533" class="Symbol">}</a>
|
||
<a id="17539" class="Symbol">;</a> <a id="17541" href="Categories.Monad.html#547" class="Field">η</a> <a id="17543" class="Symbol">=</a> <a id="17545" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="17554" class="Symbol">(</a><a id="17555" class="Keyword">record</a> <a id="17562" class="Symbol">{</a> <a id="17564" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="17566" class="Symbol">=</a> <a id="17568" href="Monad.Instance.Setoids.Delay.html#12152" class="Function">ηₛ</a> <a id="17571" class="Symbol">;</a> <a id="17573" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="17581" class="Symbol">=</a> <a id="17583" href="Monad.Instance.Setoids.Delay.html#12247" class="Function">η-natural</a> <a id="17593" class="Symbol">})</a>
|
||
<a id="17600" class="Symbol">;</a> <a id="17602" href="Categories.Monad.html#583" class="Field">μ</a> <a id="17604" class="Symbol">=</a> <a id="17606" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="17615" class="Symbol">(</a><a id="17616" class="Keyword">record</a> <a id="17623" class="Symbol">{</a> <a id="17625" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="17627" class="Symbol">=</a> <a id="17629" href="Monad.Instance.Setoids.Delay.html#14515" class="Function">μₛ</a> <a id="17632" class="Symbol">;</a> <a id="17634" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="17642" class="Symbol">=</a> <a id="17644" href="Monad.Instance.Setoids.Delay.html#15205" class="Function">μ-natural</a> <a id="17654" class="Symbol">})</a>
|
||
<a id="17661" class="Symbol">;</a> <a id="17663" href="Categories.Monad.html#759" class="Field">assoc</a> <a id="17669" class="Symbol">=</a> <a id="17671" class="Symbol">λ</a> <a id="17673" class="Symbol">{</a><a id="17674" href="Monad.Instance.Setoids.Delay.html#17674" class="Bound">A</a><a id="17675" class="Symbol">}</a> <a id="17677" class="Symbol">{</a><a id="17678" href="Monad.Instance.Setoids.Delay.html#17678" class="Bound">x</a><a id="17679" class="Symbol">}</a> <a id="17681" class="Symbol">→</a> <a id="17683" href="Monad.Instance.Setoids.Delay.html#16059" class="Function">μ-assoc</a> <a id="17691" class="Symbol">{</a><a id="17692" href="Monad.Instance.Setoids.Delay.html#17674" class="Bound">A</a><a id="17693" class="Symbol">}</a> <a id="17695" class="Symbol">{</a><a id="17696" href="Monad.Instance.Setoids.Delay.html#17678" class="Bound">x</a><a id="17697" class="Symbol">}</a>
|
||
<a id="17703" class="Symbol">;</a> <a id="17705" href="Categories.Monad.html#829" class="Field">sym-assoc</a> <a id="17715" class="Symbol">=</a> <a id="17717" class="Symbol">λ</a> <a id="17719" class="Symbol">{</a><a id="17720" href="Monad.Instance.Setoids.Delay.html#17720" class="Bound">A</a><a id="17721" class="Symbol">}</a> <a id="17723" class="Symbol">{</a><a id="17724" href="Monad.Instance.Setoids.Delay.html#17724" class="Bound">x</a><a id="17725" class="Symbol">}</a> <a id="17727" class="Symbol">→</a> <a id="17729" href="Monad.Instance.Setoids.Delay.html#4511" class="Function">≈-sym</a> <a id="17735" href="Monad.Instance.Setoids.Delay.html#17720" class="Bound">A</a> <a id="17737" class="Symbol">(</a><a id="17738" href="Monad.Instance.Setoids.Delay.html#16059" class="Function">μ-assoc</a> <a id="17746" class="Symbol">{</a><a id="17747" href="Monad.Instance.Setoids.Delay.html#17720" class="Bound">A</a><a id="17748" class="Symbol">}</a> <a id="17750" class="Symbol">{</a><a id="17751" href="Monad.Instance.Setoids.Delay.html#17724" class="Bound">x</a><a id="17752" class="Symbol">})</a>
|
||
<a id="17759" class="Symbol">;</a> <a id="17761" href="Categories.Monad.html#899" class="Field">identityˡ</a> <a id="17771" class="Symbol">=</a> <a id="17773" href="Monad.Instance.Setoids.Delay.html#16776" class="Function">identityˡ</a>
|
||
<a id="17787" class="Symbol">;</a> <a id="17789" href="Categories.Monad.html#953" class="Field">identityʳ</a> <a id="17799" class="Symbol">=</a> <a id="17801" href="Monad.Instance.Setoids.Delay.html#17084" class="Function">identityʳ</a>
|
||
<a id="17815" class="Symbol">}</a>
|
||
|
||
<a id="17818" class="Keyword">open</a> <a id="17823" href="Monad.Instance.Setoids.Delay.html#5804" class="Module">DelayMonad</a>
|
||
|
||
<a id="17835" class="Keyword">module</a> <a id="extra"></a><a id="17842" href="Monad.Instance.Setoids.Delay.html#17842" class="Module">extra</a> <a id="17848" class="Symbol">{</a><a id="17849" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="17851" class="Symbol">:</a> <a id="17853" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="17860" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="17862" class="Symbol">(</a><a id="17863" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a> <a id="17865" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="17867" href="Monad.Instance.Setoids.Delay.html#784" class="Bound">ℓ</a><a id="17868" class="Symbol">)}</a> <a id="17871" class="Keyword">where</a>
|
||
<a id="extra.≲→≈"></a><a id="17879" href="Monad.Instance.Setoids.Delay.html#17879" class="Function">≲→≈</a> <a id="17884" class="Symbol">:</a> <a id="17886" class="Symbol">{</a><a id="17887" href="Monad.Instance.Setoids.Delay.html#17887" class="Bound">x</a> <a id="17889" href="Monad.Instance.Setoids.Delay.html#17889" class="Bound">y</a> <a id="17891" class="Symbol">:</a> <a id="17893" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="17899" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="17901" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="17903" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="17904" class="Symbol">}</a> <a id="17907" class="Symbol">→</a> <a id="17909" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">[</a> <a id="17911" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="17913" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">][</a> <a id="17916" href="Monad.Instance.Setoids.Delay.html#17887" class="Bound">x</a> <a id="17918" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">≲</a> <a id="17920" href="Monad.Instance.Setoids.Delay.html#17889" class="Bound">y</a> <a id="17922" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">]</a> <a id="17924" class="Symbol">→</a> <a id="17926" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="17928" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="17930" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="17933" href="Monad.Instance.Setoids.Delay.html#17887" class="Bound">x</a> <a id="17935" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="17937" href="Monad.Instance.Setoids.Delay.html#17889" class="Bound">y</a> <a id="17939" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a>
|
||
<a id="extra.≲→≈′"></a><a id="17943" href="Monad.Instance.Setoids.Delay.html#17943" class="Function">≲→≈′</a> <a id="17948" class="Symbol">:</a> <a id="17950" class="Symbol">{</a><a id="17951" href="Monad.Instance.Setoids.Delay.html#17951" class="Bound">x</a> <a id="17953" href="Monad.Instance.Setoids.Delay.html#17953" class="Bound">y</a> <a id="17955" class="Symbol">:</a> <a id="17957" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="17963" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="17965" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="17967" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="17968" class="Symbol">}</a> <a id="17970" class="Symbol">→</a> <a id="17972" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">[</a> <a id="17974" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="17976" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">][</a> <a id="17979" href="Monad.Instance.Setoids.Delay.html#17951" class="Bound">x</a> <a id="17981" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">≲′</a> <a id="17984" href="Monad.Instance.Setoids.Delay.html#17953" class="Bound">y</a> <a id="17986" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">]</a> <a id="17988" class="Symbol">→</a> <a id="17990" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="17992" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="17994" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="17997" href="Monad.Instance.Setoids.Delay.html#17951" class="Bound">x</a> <a id="17999" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="18002" href="Monad.Instance.Setoids.Delay.html#17953" class="Bound">y</a> <a id="18004" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a>
|
||
<a id="18008" href="Monad.Instance.Setoids.Delay.html#17879" class="Function">≲→≈</a> <a id="18012" class="Symbol">(</a><a id="18013" href="Monad.Instance.Setoids.Delay.html#5391" class="InductiveConstructor">↓≲</a> <a id="18016" href="Monad.Instance.Setoids.Delay.html#18016" class="Bound">y↓a</a><a id="18019" class="Symbol">)</a> <a id="18025" class="Symbol">=</a> <a id="18027" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="18030" class="Symbol">(</a><a id="18031" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="18038" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a><a id="18039" class="Symbol">)</a> <a id="18041" class="Symbol">(</a><a id="18042" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="18047" class="Symbol">(</a><a id="18048" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="18055" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a><a id="18056" class="Symbol">))</a> <a id="18059" href="Monad.Instance.Setoids.Delay.html#18016" class="Bound">y↓a</a>
|
||
<a id="18065" href="Monad.Instance.Setoids.Delay.html#17879" class="Function">≲→≈</a> <a id="18069" class="Symbol">(</a><a id="18070" href="Monad.Instance.Setoids.Delay.html#5440" class="InductiveConstructor">later≲</a> <a id="18077" href="Monad.Instance.Setoids.Delay.html#18077" class="Bound">x≈y</a><a id="18080" class="Symbol">)</a> <a id="18082" class="Symbol">=</a> <a id="18084" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="18091" class="Symbol">(</a><a id="18092" href="Monad.Instance.Setoids.Delay.html#17943" class="Function">≲→≈′</a> <a id="18097" href="Monad.Instance.Setoids.Delay.html#18077" class="Bound">x≈y</a><a id="18100" class="Symbol">)</a>
|
||
<a id="18104" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="18111" class="Symbol">(</a><a id="18112" href="Monad.Instance.Setoids.Delay.html#17943" class="Function">≲→≈′</a> <a id="18117" href="Monad.Instance.Setoids.Delay.html#18117" class="Bound">x≲′y</a><a id="18121" class="Symbol">)</a> <a id="18123" class="Symbol">=</a> <a id="18125" href="Monad.Instance.Setoids.Delay.html#17879" class="Function">≲→≈</a> <a id="18129" class="Symbol">(</a><a id="18130" href="Monad.Instance.Setoids.Delay.html#5606" class="Field">force≲</a> <a id="18137" href="Monad.Instance.Setoids.Delay.html#18117" class="Bound">x≲′y</a><a id="18141" class="Symbol">)</a>
|
||
|
||
<a id="extra.race"></a><a id="18146" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18151" class="Symbol">:</a> <a id="18153" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="18159" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="18161" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18163" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="18165" class="Symbol">→</a> <a id="18167" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="18173" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="18175" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18177" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="18179" class="Symbol">→</a> <a id="18181" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="18187" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="18189" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18191" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a>
|
||
<a id="extra.race′"></a><a id="18195" href="Monad.Instance.Setoids.Delay.html#18195" class="Function">race′</a> <a id="18201" class="Symbol">:</a> <a id="18203" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="18210" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="18212" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18214" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="18216" class="Symbol">→</a> <a id="18218" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="18225" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="18227" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18229" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="18231" class="Symbol">→</a> <a id="18233" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="18240" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="18242" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18244" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a>
|
||
<a id="18248" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18253" class="Symbol">(</a><a id="18254" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18258" href="Monad.Instance.Setoids.Delay.html#18258" class="Bound">a</a><a id="18259" class="Symbol">)</a> <a id="18261" class="Symbol">_</a> <a id="18263" class="Symbol">=</a> <a id="18265" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18269" href="Monad.Instance.Setoids.Delay.html#18258" class="Bound">a</a>
|
||
<a id="18273" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18278" class="Symbol">(</a><a id="18279" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="18285" href="Monad.Instance.Setoids.Delay.html#18285" class="Bound">x</a><a id="18286" class="Symbol">)</a> <a id="18288" class="Symbol">(</a><a id="18289" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18293" href="Monad.Instance.Setoids.Delay.html#18293" class="Bound">a</a><a id="18294" class="Symbol">)</a> <a id="18296" class="Symbol">=</a> <a id="18298" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18302" href="Monad.Instance.Setoids.Delay.html#18293" class="Bound">a</a>
|
||
<a id="18306" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18311" class="Symbol">(</a><a id="18312" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="18318" href="Monad.Instance.Setoids.Delay.html#18318" class="Bound">x</a><a id="18319" class="Symbol">)</a> <a id="18321" class="Symbol">(</a><a id="18322" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="18328" href="Monad.Instance.Setoids.Delay.html#18328" class="Bound">y</a><a id="18329" class="Symbol">)</a> <a id="18331" class="Symbol">=</a> <a id="18333" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="18339" class="Symbol">(</a><a id="18340" href="Monad.Instance.Setoids.Delay.html#18195" class="Function">race′</a> <a id="18346" href="Monad.Instance.Setoids.Delay.html#18318" class="Bound">x</a> <a id="18348" href="Monad.Instance.Setoids.Delay.html#18328" class="Bound">y</a><a id="18349" class="Symbol">)</a>
|
||
<a id="18353" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="18359" class="Symbol">(</a><a id="18360" href="Monad.Instance.Setoids.Delay.html#18195" class="Function">race′</a> <a id="18366" href="Monad.Instance.Setoids.Delay.html#18366" class="Bound">x</a> <a id="18368" href="Monad.Instance.Setoids.Delay.html#18368" class="Bound">y</a><a id="18369" class="Symbol">)</a> <a id="18371" class="Symbol">=</a> <a id="18373" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18378" class="Symbol">(</a><a id="18379" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="18385" href="Monad.Instance.Setoids.Delay.html#18366" class="Bound">x</a><a id="18386" class="Symbol">)</a> <a id="18388" class="Symbol">(</a><a id="18389" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="18395" href="Monad.Instance.Setoids.Delay.html#18368" class="Bound">y</a><a id="18396" class="Symbol">)</a>
|
||
|
||
<a id="extra.race-sym"></a><a id="18401" href="Monad.Instance.Setoids.Delay.html#18401" class="Function">race-sym</a> <a id="18410" class="Symbol">:</a> <a id="18412" class="Symbol">∀</a> <a id="18414" class="Symbol">{</a><a id="18415" href="Monad.Instance.Setoids.Delay.html#18415" class="Bound">x</a> <a id="18417" href="Monad.Instance.Setoids.Delay.html#18417" class="Bound">y</a><a id="18418" class="Symbol">}</a> <a id="18420" class="Symbol">→</a> <a id="18422" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="18424" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18426" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="18429" href="Monad.Instance.Setoids.Delay.html#18415" class="Bound">x</a> <a id="18431" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="18433" href="Monad.Instance.Setoids.Delay.html#18417" class="Bound">y</a> <a id="18435" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a> <a id="18437" class="Symbol">→</a> <a id="18439" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="18441" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18443" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="18446" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18451" href="Monad.Instance.Setoids.Delay.html#18415" class="Bound">x</a> <a id="18453" href="Monad.Instance.Setoids.Delay.html#18417" class="Bound">y</a> <a id="18455" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="18457" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18462" href="Monad.Instance.Setoids.Delay.html#18417" class="Bound">y</a> <a id="18464" href="Monad.Instance.Setoids.Delay.html#18415" class="Bound">x</a> <a id="18466" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="extra.race-sym′"></a><a id="18470" href="Monad.Instance.Setoids.Delay.html#18470" class="Function">race-sym′</a> <a id="18480" class="Symbol">:</a> <a id="18482" class="Symbol">∀</a> <a id="18484" class="Symbol">{</a><a id="18485" href="Monad.Instance.Setoids.Delay.html#18485" class="Bound">x</a> <a id="18487" href="Monad.Instance.Setoids.Delay.html#18487" class="Bound">y</a><a id="18488" class="Symbol">}</a> <a id="18490" class="Symbol">→</a> <a id="18492" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="18494" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18496" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="18499" href="Monad.Instance.Setoids.Delay.html#18485" class="Bound">x</a> <a id="18501" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="18504" href="Monad.Instance.Setoids.Delay.html#18487" class="Bound">y</a> <a id="18506" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a> <a id="18508" class="Symbol">→</a> <a id="18510" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="18512" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18514" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="18517" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18522" href="Monad.Instance.Setoids.Delay.html#18485" class="Bound">x</a> <a id="18524" href="Monad.Instance.Setoids.Delay.html#18487" class="Bound">y</a> <a id="18526" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="18529" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18534" href="Monad.Instance.Setoids.Delay.html#18487" class="Bound">y</a> <a id="18536" href="Monad.Instance.Setoids.Delay.html#18485" class="Bound">x</a> <a id="18538" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a>
|
||
<a id="18542" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="18549" class="Symbol">(</a><a id="18550" href="Monad.Instance.Setoids.Delay.html#18470" class="Function">race-sym′</a> <a id="18560" class="Symbol">{</a><a id="18561" href="Monad.Instance.Setoids.Delay.html#18561" class="Bound">x</a><a id="18562" class="Symbol">}</a> <a id="18564" class="Symbol">{</a><a id="18565" href="Monad.Instance.Setoids.Delay.html#18565" class="Bound">y</a><a id="18566" class="Symbol">}</a> <a id="18568" href="Monad.Instance.Setoids.Delay.html#18568" class="Bound">x∼y</a><a id="18571" class="Symbol">)</a> <a id="18573" class="Symbol">=</a> <a id="18575" href="Monad.Instance.Setoids.Delay.html#18401" class="Function">race-sym</a> <a id="18584" class="Symbol">{</a><a id="18585" href="Monad.Instance.Setoids.Delay.html#18561" class="Bound">x</a><a id="18586" class="Symbol">}</a> <a id="18588" class="Symbol">{</a><a id="18589" href="Monad.Instance.Setoids.Delay.html#18565" class="Bound">y</a><a id="18590" class="Symbol">}</a> <a id="18592" class="Symbol">(</a><a id="18593" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="18600" href="Monad.Instance.Setoids.Delay.html#18568" class="Bound">x∼y</a><a id="18603" class="Symbol">)</a>
|
||
<a id="18607" href="Monad.Instance.Setoids.Delay.html#18401" class="Function">race-sym</a> <a id="18616" class="Symbol">{</a><a id="18617" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18621" href="Monad.Instance.Setoids.Delay.html#18621" class="Bound">x</a><a id="18622" class="Symbol">}</a> <a id="18624" class="Symbol">{</a><a id="18625" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18629" href="Monad.Instance.Setoids.Delay.html#18629" class="Bound">y</a><a id="18630" class="Symbol">}</a> <a id="18632" href="Monad.Instance.Setoids.Delay.html#18632" class="Bound">x∼y</a> <a id="18636" class="Symbol">=</a> <a id="18638" href="Monad.Instance.Setoids.Delay.html#18632" class="Bound">x∼y</a>
|
||
<a id="18644" href="Monad.Instance.Setoids.Delay.html#18401" class="Function">race-sym</a> <a id="18653" class="Symbol">{</a><a id="18654" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18658" href="Monad.Instance.Setoids.Delay.html#18658" class="Bound">x</a><a id="18659" class="Symbol">}</a> <a id="18661" class="Symbol">{</a><a id="18662" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="18668" href="Monad.Instance.Setoids.Delay.html#18668" class="Bound">y</a><a id="18669" class="Symbol">}</a> <a id="18671" href="Monad.Instance.Setoids.Delay.html#18671" class="Bound">x∼y</a> <a id="18675" class="Symbol">=</a> <a id="18677" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">∼-refl</a> <a id="18684" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a>
|
||
<a id="18688" href="Monad.Instance.Setoids.Delay.html#18401" class="Function">race-sym</a> <a id="18697" class="Symbol">{</a><a id="18698" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="18704" href="Monad.Instance.Setoids.Delay.html#18704" class="Bound">x</a><a id="18705" class="Symbol">}</a> <a id="18707" class="Symbol">{</a><a id="18708" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="18712" href="Monad.Instance.Setoids.Delay.html#18712" class="Bound">y</a><a id="18713" class="Symbol">}</a> <a id="18715" href="Monad.Instance.Setoids.Delay.html#18715" class="Bound">x∼y</a> <a id="18719" class="Symbol">=</a> <a id="18721" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">∼-refl</a> <a id="18728" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a>
|
||
<a id="18732" href="Monad.Instance.Setoids.Delay.html#18401" class="Function">race-sym</a> <a id="18741" class="Symbol">{</a><a id="18742" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="18748" href="Monad.Instance.Setoids.Delay.html#18748" class="Bound">x</a><a id="18749" class="Symbol">}</a> <a id="18751" class="Symbol">{</a><a id="18752" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="18758" href="Monad.Instance.Setoids.Delay.html#18758" class="Bound">y</a><a id="18759" class="Symbol">}</a> <a id="18761" class="Symbol">(</a><a id="18762" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="18769" href="Monad.Instance.Setoids.Delay.html#18769" class="Bound">x∼y</a><a id="18772" class="Symbol">)</a> <a id="18774" class="Symbol">=</a> <a id="18776" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="18783" class="Symbol">(</a><a id="18784" href="Monad.Instance.Setoids.Delay.html#18470" class="Function">race-sym′</a> <a id="18794" href="Monad.Instance.Setoids.Delay.html#18769" class="Bound">x∼y</a><a id="18797" class="Symbol">)</a>
|
||
|
||
<a id="extra.race-sym≈"></a><a id="18802" href="Monad.Instance.Setoids.Delay.html#18802" class="Function">race-sym≈</a> <a id="18812" class="Symbol">:</a> <a id="18814" class="Symbol">∀</a> <a id="18816" class="Symbol">{</a><a id="18817" href="Monad.Instance.Setoids.Delay.html#18817" class="Bound">x</a> <a id="18819" href="Monad.Instance.Setoids.Delay.html#18819" class="Bound">y</a><a id="18820" class="Symbol">}</a> <a id="18822" class="Symbol">→</a> <a id="18824" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="18826" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18828" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="18831" href="Monad.Instance.Setoids.Delay.html#18817" class="Bound">x</a> <a id="18833" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="18835" href="Monad.Instance.Setoids.Delay.html#18819" class="Bound">y</a> <a id="18837" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a> <a id="18839" class="Symbol">→</a> <a id="18841" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="18843" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18845" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="18848" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18853" href="Monad.Instance.Setoids.Delay.html#18817" class="Bound">x</a> <a id="18855" href="Monad.Instance.Setoids.Delay.html#18819" class="Bound">y</a> <a id="18857" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="18859" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18864" href="Monad.Instance.Setoids.Delay.html#18819" class="Bound">y</a> <a id="18866" href="Monad.Instance.Setoids.Delay.html#18817" class="Bound">x</a> <a id="18868" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="extra.race-sym≈′"></a><a id="18872" href="Monad.Instance.Setoids.Delay.html#18872" class="Function">race-sym≈′</a> <a id="18883" class="Symbol">:</a> <a id="18885" class="Symbol">∀</a> <a id="18887" class="Symbol">{</a><a id="18888" href="Monad.Instance.Setoids.Delay.html#18888" class="Bound">x</a> <a id="18890" href="Monad.Instance.Setoids.Delay.html#18890" class="Bound">y</a><a id="18891" class="Symbol">}</a> <a id="18893" class="Symbol">→</a> <a id="18895" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="18897" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18899" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="18902" href="Monad.Instance.Setoids.Delay.html#18888" class="Bound">x</a> <a id="18904" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="18907" href="Monad.Instance.Setoids.Delay.html#18890" class="Bound">y</a> <a id="18909" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a> <a id="18911" class="Symbol">→</a> <a id="18913" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="18915" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="18917" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="18920" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18925" href="Monad.Instance.Setoids.Delay.html#18888" class="Bound">x</a> <a id="18927" href="Monad.Instance.Setoids.Delay.html#18890" class="Bound">y</a> <a id="18929" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="18932" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="18937" href="Monad.Instance.Setoids.Delay.html#18890" class="Bound">y</a> <a id="18939" href="Monad.Instance.Setoids.Delay.html#18888" class="Bound">x</a> <a id="18941" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a>
|
||
<a id="18945" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="18952" class="Symbol">(</a><a id="18953" href="Monad.Instance.Setoids.Delay.html#18872" class="Function">race-sym≈′</a> <a id="18964" class="Symbol">{</a><a id="18965" href="Monad.Instance.Setoids.Delay.html#18965" class="Bound">x</a><a id="18966" class="Symbol">}</a> <a id="18968" class="Symbol">{</a><a id="18969" href="Monad.Instance.Setoids.Delay.html#18969" class="Bound">y</a><a id="18970" class="Symbol">}</a> <a id="18972" href="Monad.Instance.Setoids.Delay.html#18972" class="Bound">x∼y</a><a id="18975" class="Symbol">)</a> <a id="18977" class="Symbol">=</a> <a id="18979" href="Monad.Instance.Setoids.Delay.html#18802" class="Function">race-sym≈</a> <a id="18989" class="Symbol">{</a><a id="18990" href="Monad.Instance.Setoids.Delay.html#18965" class="Bound">x</a><a id="18991" class="Symbol">}</a> <a id="18993" class="Symbol">{</a><a id="18994" href="Monad.Instance.Setoids.Delay.html#18969" class="Bound">y</a><a id="18995" class="Symbol">}</a> <a id="18997" class="Symbol">(</a><a id="18998" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="19005" href="Monad.Instance.Setoids.Delay.html#18972" class="Bound">x∼y</a><a id="19008" class="Symbol">)</a>
|
||
<a id="19012" href="Monad.Instance.Setoids.Delay.html#18802" class="Function">race-sym≈</a> <a id="19022" class="Symbol">{</a><a id="19023" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="19027" href="Monad.Instance.Setoids.Delay.html#19027" class="Bound">x</a><a id="19028" class="Symbol">}</a> <a id="19030" class="Symbol">{</a><a id="19031" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="19035" href="Monad.Instance.Setoids.Delay.html#19035" class="Bound">y</a><a id="19036" class="Symbol">}</a> <a id="19038" class="Symbol">(</a><a id="19039" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="19042" href="Monad.Instance.Setoids.Delay.html#19042" class="Bound">a≡b</a> <a id="19046" class="Symbol">(</a><a id="19047" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="19052" href="Monad.Instance.Setoids.Delay.html#19052" class="Bound">x≡a</a><a id="19055" class="Symbol">)</a> <a id="19057" class="Symbol">(</a><a id="19058" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="19063" href="Monad.Instance.Setoids.Delay.html#19063" class="Bound">y≡b</a><a id="19066" class="Symbol">))</a> <a id="19069" class="Symbol">=</a> <a id="19071" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="19076" class="Symbol">(</a><a id="19077" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="19085" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19087" href="Monad.Instance.Setoids.Delay.html#19052" class="Bound">x≡a</a> <a id="19091" class="Symbol">(</a><a id="19092" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="19100" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19102" href="Monad.Instance.Setoids.Delay.html#19042" class="Bound">a≡b</a> <a id="19106" class="Symbol">(</a><a id="19107" href="Monad.Instance.Setoids.Delay.html#979" class="Function">≡-sym</a> <a id="19113" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19115" href="Monad.Instance.Setoids.Delay.html#19063" class="Bound">y≡b</a><a id="19118" class="Symbol">)))</a>
|
||
<a id="19124" href="Monad.Instance.Setoids.Delay.html#18802" class="Function">race-sym≈</a> <a id="19134" class="Symbol">{</a><a id="19135" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="19139" href="Monad.Instance.Setoids.Delay.html#19139" class="Bound">x</a><a id="19140" class="Symbol">}</a> <a id="19142" class="Symbol">{</a><a id="19143" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="19149" href="Monad.Instance.Setoids.Delay.html#19149" class="Bound">y</a><a id="19150" class="Symbol">}</a> <a id="19152" href="Monad.Instance.Setoids.Delay.html#19152" class="Bound">x≈y</a> <a id="19156" class="Symbol">=</a> <a id="19158" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">∼-refl</a> <a id="19165" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a>
|
||
<a id="19169" href="Monad.Instance.Setoids.Delay.html#18802" class="Function">race-sym≈</a> <a id="19179" class="Symbol">{</a><a id="19180" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="19186" href="Monad.Instance.Setoids.Delay.html#19186" class="Bound">x</a><a id="19187" class="Symbol">}</a> <a id="19189" class="Symbol">{</a><a id="19190" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="19194" href="Monad.Instance.Setoids.Delay.html#19194" class="Bound">y</a><a id="19195" class="Symbol">}</a> <a id="19197" href="Monad.Instance.Setoids.Delay.html#19197" class="Bound">x≈y</a> <a id="19201" class="Symbol">=</a> <a id="19203" href="Monad.Instance.Setoids.Delay.html#2126" class="Function">∼-refl</a> <a id="19210" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a>
|
||
<a id="19214" href="Monad.Instance.Setoids.Delay.html#18802" class="Function">race-sym≈</a> <a id="19224" class="Symbol">{</a><a id="19225" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="19231" href="Monad.Instance.Setoids.Delay.html#19231" class="Bound">x</a><a id="19232" class="Symbol">}</a> <a id="19234" class="Symbol">{</a><a id="19235" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="19241" href="Monad.Instance.Setoids.Delay.html#19241" class="Bound">y</a><a id="19242" class="Symbol">}</a> <a id="19244" class="Symbol">(</a><a id="19245" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="19248" href="Monad.Instance.Setoids.Delay.html#19248" class="Bound">a≡b</a> <a id="19252" class="Symbol">(</a><a id="19253" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="19260" href="Monad.Instance.Setoids.Delay.html#19260" class="Bound">x↓a</a><a id="19263" class="Symbol">)</a> <a id="19265" class="Symbol">(</a><a id="19266" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="19273" href="Monad.Instance.Setoids.Delay.html#19273" class="Bound">y↓b</a><a id="19276" class="Symbol">))</a> <a id="19279" class="Symbol">=</a> <a id="19281" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="19288" class="Symbol">(</a><a id="19289" href="Monad.Instance.Setoids.Delay.html#18872" class="Function">race-sym≈′</a> <a id="19300" class="Symbol">(</a><a id="19301" href="Monad.Instance.Setoids.Delay.html#3662" class="Function">≈→≈′</a> <a id="19306" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19308" class="Symbol">(</a><a id="19309" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="19312" href="Monad.Instance.Setoids.Delay.html#19248" class="Bound">a≡b</a> <a id="19316" href="Monad.Instance.Setoids.Delay.html#19260" class="Bound">x↓a</a> <a id="19320" href="Monad.Instance.Setoids.Delay.html#19273" class="Bound">y↓b</a><a id="19323" class="Symbol">)))</a>
|
||
<a id="19329" href="Monad.Instance.Setoids.Delay.html#18802" class="Function">race-sym≈</a> <a id="19339" class="Symbol">{</a><a id="19340" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="19346" href="Monad.Instance.Setoids.Delay.html#19346" class="Bound">x</a><a id="19347" class="Symbol">}</a> <a id="19349" class="Symbol">{</a><a id="19350" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="19356" href="Monad.Instance.Setoids.Delay.html#19356" class="Bound">y</a><a id="19357" class="Symbol">}</a> <a id="19359" class="Symbol">(</a><a id="19360" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="19367" href="Monad.Instance.Setoids.Delay.html#19367" class="Bound">x≈y</a><a id="19370" class="Symbol">)</a> <a id="19372" class="Symbol">=</a> <a id="19374" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="19381" class="Symbol">(</a><a id="19382" href="Monad.Instance.Setoids.Delay.html#18872" class="Function">race-sym≈′</a> <a id="19393" href="Monad.Instance.Setoids.Delay.html#19367" class="Bound">x≈y</a><a id="19396" class="Symbol">)</a>
|
||
|
||
<a id="extra.≈→≲₀"></a><a id="19401" href="Monad.Instance.Setoids.Delay.html#19401" class="Function">≈→≲₀</a> <a id="19406" class="Symbol">:</a> <a id="19408" class="Symbol">∀</a> <a id="19410" class="Symbol">{</a><a id="19411" href="Monad.Instance.Setoids.Delay.html#19411" class="Bound">x</a> <a id="19413" href="Monad.Instance.Setoids.Delay.html#19413" class="Bound">y</a> <a id="19415" href="Monad.Instance.Setoids.Delay.html#19415" class="Bound">a</a> <a id="19417" href="Monad.Instance.Setoids.Delay.html#19417" class="Bound">b</a><a id="19418" class="Symbol">}</a> <a id="19420" class="Symbol">(</a><a id="19421" href="Monad.Instance.Setoids.Delay.html#19421" class="Bound">x↓a</a> <a id="19425" class="Symbol">:</a> <a id="19427" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="19429" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19431" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="19434" href="Monad.Instance.Setoids.Delay.html#19411" class="Bound">x</a> <a id="19436" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="19438" href="Monad.Instance.Setoids.Delay.html#19415" class="Bound">a</a> <a id="19440" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a><a id="19441" class="Symbol">)</a> <a id="19443" class="Symbol">(</a><a id="19444" href="Monad.Instance.Setoids.Delay.html#19444" class="Bound">y↓b</a> <a id="19448" class="Symbol">:</a> <a id="19450" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="19452" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19454" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="19457" href="Monad.Instance.Setoids.Delay.html#19413" class="Bound">y</a> <a id="19459" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="19461" href="Monad.Instance.Setoids.Delay.html#19417" class="Bound">b</a> <a id="19463" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a><a id="19464" class="Symbol">)</a> <a id="19466" class="Symbol">(</a><a id="19467" href="Monad.Instance.Setoids.Delay.html#19467" class="Bound">a≡b</a> <a id="19471" class="Symbol">:</a> <a id="19473" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">[</a> <a id="19475" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19477" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">][</a> <a id="19480" href="Monad.Instance.Setoids.Delay.html#19415" class="Bound">a</a> <a id="19482" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">≡</a> <a id="19484" href="Monad.Instance.Setoids.Delay.html#19417" class="Bound">b</a> <a id="19486" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">]</a><a id="19487" class="Symbol">)</a> <a id="19489" class="Symbol">→</a> <a id="19491" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">[</a> <a id="19493" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19495" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">][</a> <a id="19498" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="19503" href="Monad.Instance.Setoids.Delay.html#19411" class="Bound">x</a> <a id="19505" href="Monad.Instance.Setoids.Delay.html#19413" class="Bound">y</a> <a id="19507" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">≲</a> <a id="19509" href="Monad.Instance.Setoids.Delay.html#19413" class="Bound">y</a> <a id="19511" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">]</a>
|
||
<a id="19515" href="Monad.Instance.Setoids.Delay.html#19401" class="Function">≈→≲₀</a> <a id="19520" class="Symbol">(</a><a id="19521" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="19526" href="Monad.Instance.Setoids.Delay.html#19526" class="Bound">x≡a</a><a id="19529" class="Symbol">)</a> <a id="19531" href="Monad.Instance.Setoids.Delay.html#19531" class="Bound">y↓b</a> <a id="19535" href="Monad.Instance.Setoids.Delay.html#19535" class="Bound">a≡b</a> <a id="19539" class="Symbol">=</a> <a id="19541" href="Monad.Instance.Setoids.Delay.html#5391" class="InductiveConstructor">↓≲</a> <a id="19544" class="Symbol">(</a><a id="19545" href="Monad.Instance.Setoids.Delay.html#3737" class="Function">≡↓</a> <a id="19548" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19550" class="Symbol">(</a><a id="19551" href="Monad.Instance.Setoids.Delay.html#979" class="Function">≡-sym</a> <a id="19557" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19559" class="Symbol">(</a><a id="19560" href="Monad.Instance.Setoids.Delay.html#995" class="Function">≡-trans</a> <a id="19568" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19570" href="Monad.Instance.Setoids.Delay.html#19526" class="Bound">x≡a</a> <a id="19574" href="Monad.Instance.Setoids.Delay.html#19535" class="Bound">a≡b</a><a id="19577" class="Symbol">))</a> <a id="19580" href="Monad.Instance.Setoids.Delay.html#19531" class="Bound">y↓b</a><a id="19583" class="Symbol">)</a>
|
||
<a id="19587" href="Monad.Instance.Setoids.Delay.html#19401" class="Function">≈→≲₀</a> <a id="19592" class="Symbol">(</a><a id="19593" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="19600" href="Monad.Instance.Setoids.Delay.html#19600" class="Bound">x↓a</a><a id="19603" class="Symbol">)</a> <a id="19605" class="Symbol">(</a><a id="19606" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="19611" href="Monad.Instance.Setoids.Delay.html#19611" class="Bound">x≡y</a><a id="19614" class="Symbol">)</a> <a id="19616" href="Monad.Instance.Setoids.Delay.html#19616" class="Bound">a≡b</a> <a id="19620" class="Symbol">=</a> <a id="19622" href="Monad.Instance.Setoids.Delay.html#5391" class="InductiveConstructor">↓≲</a> <a id="19625" class="Symbol">(</a><a id="19626" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="19631" class="Symbol">(</a><a id="19632" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="19639" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a><a id="19640" class="Symbol">))</a>
|
||
<a id="19645" href="Monad.Instance.Setoids.Delay.html#19401" class="Function">≈→≲₀</a> <a id="19650" class="Symbol">(</a><a id="19651" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="19658" href="Monad.Instance.Setoids.Delay.html#19658" class="Bound">x↓a</a><a id="19661" class="Symbol">)</a> <a id="19663" class="Symbol">(</a><a id="19664" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="19671" href="Monad.Instance.Setoids.Delay.html#19671" class="Bound">y↓b</a><a id="19674" class="Symbol">)</a> <a id="19676" href="Monad.Instance.Setoids.Delay.html#19676" class="Bound">a≡b</a> <a id="19680" class="Symbol">=</a> <a id="19682" href="Monad.Instance.Setoids.Delay.html#5440" class="InductiveConstructor">later≲</a> <a id="19689" class="Symbol">(</a><a id="19690" class="Keyword">record</a> <a id="19697" class="Symbol">{</a> <a id="19699" href="Monad.Instance.Setoids.Delay.html#5606" class="Field">force≲</a> <a id="19706" class="Symbol">=</a> <a id="19708" href="Monad.Instance.Setoids.Delay.html#19401" class="Function">≈→≲₀</a> <a id="19713" href="Monad.Instance.Setoids.Delay.html#19658" class="Bound">x↓a</a> <a id="19717" href="Monad.Instance.Setoids.Delay.html#19671" class="Bound">y↓b</a> <a id="19721" href="Monad.Instance.Setoids.Delay.html#19676" class="Bound">a≡b</a> <a id="19725" class="Symbol">})</a>
|
||
|
||
<a id="extra.≈→≲"></a><a id="19731" href="Monad.Instance.Setoids.Delay.html#19731" class="Function">≈→≲</a> <a id="19735" class="Symbol">:</a> <a id="19737" class="Symbol">{</a><a id="19738" href="Monad.Instance.Setoids.Delay.html#19738" class="Bound">x</a> <a id="19740" href="Monad.Instance.Setoids.Delay.html#19740" class="Bound">y</a> <a id="19742" class="Symbol">:</a> <a id="19744" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="19750" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="19752" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19754" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="19755" class="Symbol">}</a> <a id="19757" class="Symbol">→</a> <a id="19759" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">[</a> <a id="19761" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19763" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">][</a> <a id="19766" href="Monad.Instance.Setoids.Delay.html#19738" class="Bound">x</a> <a id="19768" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">≈</a> <a id="19770" href="Monad.Instance.Setoids.Delay.html#19740" class="Bound">y</a> <a id="19772" href="Monad.Instance.Setoids.Delay.html#5677" class="Datatype Operator">]</a> <a id="19774" class="Symbol">→</a> <a id="19776" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">[</a> <a id="19778" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19780" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">][</a> <a id="19783" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="19788" href="Monad.Instance.Setoids.Delay.html#19738" class="Bound">x</a> <a id="19790" href="Monad.Instance.Setoids.Delay.html#19740" class="Bound">y</a> <a id="19792" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">≲</a> <a id="19794" href="Monad.Instance.Setoids.Delay.html#19740" class="Bound">y</a> <a id="19796" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">]</a>
|
||
<a id="extra.≈′→≲′"></a><a id="19800" href="Monad.Instance.Setoids.Delay.html#19800" class="Function">≈′→≲′</a> <a id="19806" class="Symbol">:</a> <a id="19808" class="Symbol">{</a><a id="19809" href="Monad.Instance.Setoids.Delay.html#19809" class="Bound">x</a> <a id="19811" href="Monad.Instance.Setoids.Delay.html#19811" class="Bound">y</a> <a id="19813" class="Symbol">:</a> <a id="19815" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="19821" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="19823" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19825" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="19826" class="Symbol">}</a> <a id="19828" class="Symbol">→</a> <a id="19830" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">[</a> <a id="19832" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19834" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">][</a> <a id="19837" href="Monad.Instance.Setoids.Delay.html#19809" class="Bound">x</a> <a id="19839" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">≈′</a> <a id="19842" href="Monad.Instance.Setoids.Delay.html#19811" class="Bound">y</a> <a id="19844" href="Monad.Instance.Setoids.Delay.html#5695" class="Record Operator">]</a> <a id="19846" class="Symbol">→</a> <a id="19848" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">[</a> <a id="19850" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="19852" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">][</a> <a id="19855" href="Monad.Instance.Setoids.Delay.html#18146" class="Function">race</a> <a id="19860" href="Monad.Instance.Setoids.Delay.html#19809" class="Bound">x</a> <a id="19862" href="Monad.Instance.Setoids.Delay.html#19811" class="Bound">y</a> <a id="19864" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">≲′</a> <a id="19867" href="Monad.Instance.Setoids.Delay.html#19811" class="Bound">y</a> <a id="19869" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">]</a>
|
||
<a id="19873" href="Monad.Instance.Setoids.Delay.html#19731" class="Function">≈→≲</a> <a id="19877" class="Symbol">(</a><a id="19878" href="Monad.Instance.Setoids.Delay.html#3372" class="InductiveConstructor">↓≈</a> <a id="19881" href="Monad.Instance.Setoids.Delay.html#19881" class="Bound">a≡b</a> <a id="19885" href="Monad.Instance.Setoids.Delay.html#19885" class="Bound">x↓a</a> <a id="19889" href="Monad.Instance.Setoids.Delay.html#19889" class="Bound">y↓b</a><a id="19892" class="Symbol">)</a> <a id="19894" class="Symbol">=</a> <a id="19896" href="Monad.Instance.Setoids.Delay.html#19401" class="Function">≈→≲₀</a> <a id="19901" href="Monad.Instance.Setoids.Delay.html#19885" class="Bound">x↓a</a> <a id="19905" href="Monad.Instance.Setoids.Delay.html#19889" class="Bound">y↓b</a> <a id="19909" href="Monad.Instance.Setoids.Delay.html#19881" class="Bound">a≡b</a>
|
||
<a id="19915" href="Monad.Instance.Setoids.Delay.html#19731" class="Function">≈→≲</a> <a id="19919" class="Symbol">(</a><a id="19920" href="Monad.Instance.Setoids.Delay.html#3458" class="InductiveConstructor">later≈</a> <a id="19927" href="Monad.Instance.Setoids.Delay.html#19927" class="Bound">x≈y</a><a id="19930" class="Symbol">)</a> <a id="19932" class="Symbol">=</a> <a id="19934" href="Monad.Instance.Setoids.Delay.html#5440" class="InductiveConstructor">later≲</a> <a id="19941" class="Symbol">(</a><a id="19942" href="Monad.Instance.Setoids.Delay.html#19800" class="Function">≈′→≲′</a> <a id="19948" href="Monad.Instance.Setoids.Delay.html#19927" class="Bound">x≈y</a><a id="19951" class="Symbol">)</a>
|
||
<a id="19955" href="Monad.Instance.Setoids.Delay.html#5606" class="Field">force≲</a> <a id="19962" class="Symbol">(</a><a id="19963" href="Monad.Instance.Setoids.Delay.html#19800" class="Function">≈′→≲′</a> <a id="19969" href="Monad.Instance.Setoids.Delay.html#19969" class="Bound">x≈′y</a><a id="19973" class="Symbol">)</a> <a id="19975" class="Symbol">=</a> <a id="19977" href="Monad.Instance.Setoids.Delay.html#19731" class="Function">≈→≲</a> <a id="19981" class="Symbol">(</a><a id="19982" href="Monad.Instance.Setoids.Delay.html#3624" class="Field">force≈</a> <a id="19989" href="Monad.Instance.Setoids.Delay.html#19969" class="Bound">x≈′y</a><a id="19993" class="Symbol">)</a>
|
||
|
||
<a id="extra.delta₀"></a><a id="19998" href="Monad.Instance.Setoids.Delay.html#19998" class="Function">delta₀</a> <a id="20006" class="Symbol">:</a> <a id="20008" class="Symbol">{</a><a id="20009" href="Monad.Instance.Setoids.Delay.html#20009" class="Bound">x</a> <a id="20011" class="Symbol">:</a> <a id="20013" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="20019" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20021" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20023" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="20024" class="Symbol">}</a> <a id="20026" class="Symbol">{</a><a id="20027" href="Monad.Instance.Setoids.Delay.html#20027" class="Bound">a</a> <a id="20029" class="Symbol">:</a> <a id="20031" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20033" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20035" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="20036" class="Symbol">}</a> <a id="20039" class="Symbol">→</a> <a id="20041" class="Symbol">(</a><a id="20042" href="Monad.Instance.Setoids.Delay.html#20042" class="Bound">x↓a</a> <a id="20046" class="Symbol">:</a> <a id="20048" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="20050" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20052" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="20055" href="Monad.Instance.Setoids.Delay.html#20009" class="Bound">x</a> <a id="20057" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="20059" href="Monad.Instance.Setoids.Delay.html#20027" class="Bound">a</a> <a id="20061" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a><a id="20062" class="Symbol">)</a> <a id="20064" class="Symbol">→</a> <a id="20066" href="Category.Ambient.Setoids.html#1884" class="Datatype">ℕ</a> <a id="20068" class="Symbol">{</a><a id="20069" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="20070" class="Symbol">}</a>
|
||
<a id="20074" href="Monad.Instance.Setoids.Delay.html#19998" class="Function">delta₀</a> <a id="20081" class="Symbol">{</a><a id="20082" href="Monad.Instance.Setoids.Delay.html#20082" class="Bound">x</a><a id="20083" class="Symbol">}</a> <a id="20085" class="Symbol">(</a><a id="20086" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="20091" href="Monad.Instance.Setoids.Delay.html#20091" class="Bound">x≡y</a><a id="20094" class="Symbol">)</a> <a id="20096" class="Symbol">=</a> <a id="20098" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a>
|
||
<a id="20105" href="Monad.Instance.Setoids.Delay.html#19998" class="Function">delta₀</a> <a id="20112" class="Symbol">(</a><a id="20113" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="20120" href="Monad.Instance.Setoids.Delay.html#20120" class="Bound">x↓a</a><a id="20123" class="Symbol">)</a> <a id="20127" class="Symbol">=</a> <a id="20129" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="20133" class="Symbol">(</a><a id="20134" href="Monad.Instance.Setoids.Delay.html#19998" class="Function">delta₀</a> <a id="20141" href="Monad.Instance.Setoids.Delay.html#20120" class="Bound">x↓a</a><a id="20144" class="Symbol">)</a>
|
||
|
||
<a id="extra.delta"></a><a id="20149" href="Monad.Instance.Setoids.Delay.html#20149" class="Function">delta</a> <a id="20156" class="Symbol">:</a> <a id="20158" class="Symbol">{</a><a id="20159" href="Monad.Instance.Setoids.Delay.html#20159" class="Bound">x</a> <a id="20161" href="Monad.Instance.Setoids.Delay.html#20161" class="Bound">y</a> <a id="20163" class="Symbol">:</a> <a id="20165" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="20171" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20173" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20175" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="20176" class="Symbol">}</a> <a id="20178" class="Symbol">→</a> <a id="20180" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">[</a> <a id="20182" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20184" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">][</a> <a id="20187" href="Monad.Instance.Setoids.Delay.html#20159" class="Bound">x</a> <a id="20189" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">≲</a> <a id="20191" href="Monad.Instance.Setoids.Delay.html#20161" class="Bound">y</a> <a id="20193" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">]</a> <a id="20195" class="Symbol">→</a> <a id="20197" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="20203" class="Symbol">(</a><a id="20204" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20206" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20208" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20210" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="20212" href="Category.Ambient.Setoids.html#1884" class="Datatype">ℕ</a> <a id="20214" class="Symbol">{</a><a id="20215" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="20216" class="Symbol">})</a>
|
||
<a id="extra.delta′"></a><a id="20221" href="Monad.Instance.Setoids.Delay.html#20221" class="Function">delta′</a> <a id="20228" class="Symbol">:</a> <a id="20230" class="Symbol">{</a><a id="20231" href="Monad.Instance.Setoids.Delay.html#20231" class="Bound">x</a> <a id="20233" href="Monad.Instance.Setoids.Delay.html#20233" class="Bound">y</a> <a id="20235" class="Symbol">:</a> <a id="20237" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="20243" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20245" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20247" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="20248" class="Symbol">}</a> <a id="20250" class="Symbol">→</a> <a id="20252" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">[</a> <a id="20254" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20256" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">][</a> <a id="20259" href="Monad.Instance.Setoids.Delay.html#20231" class="Bound">x</a> <a id="20261" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">≲′</a> <a id="20264" href="Monad.Instance.Setoids.Delay.html#20233" class="Bound">y</a> <a id="20266" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">]</a> <a id="20268" class="Symbol">→</a> <a id="20270" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="20277" class="Symbol">(</a><a id="20278" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20280" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20282" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20284" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="20286" href="Category.Ambient.Setoids.html#1884" class="Datatype">ℕ</a> <a id="20288" class="Symbol">{</a><a id="20289" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="20290" class="Symbol">})</a>
|
||
<a id="20295" href="Monad.Instance.Setoids.Delay.html#20149" class="Function">delta</a> <a id="20301" class="Symbol">(</a><a id="20302" href="Monad.Instance.Setoids.Delay.html#5391" class="InductiveConstructor">↓≲</a> <a id="20305" class="Symbol">{</a><a id="20306" href="Monad.Instance.Setoids.Delay.html#20306" class="Bound">x</a><a id="20307" class="Symbol">}{</a><a id="20309" href="Monad.Instance.Setoids.Delay.html#20309" class="Bound">a</a><a id="20310" class="Symbol">}</a> <a id="20312" href="Monad.Instance.Setoids.Delay.html#20312" class="Bound">x↓a</a><a id="20315" class="Symbol">)</a> <a id="20317" class="Symbol">=</a> <a id="20319" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="20323" class="Symbol">(</a><a id="20324" href="Monad.Instance.Setoids.Delay.html#20309" class="Bound">a</a> <a id="20326" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="20328" href="Monad.Instance.Setoids.Delay.html#19998" class="Function">delta₀</a> <a id="20335" href="Monad.Instance.Setoids.Delay.html#20312" class="Bound">x↓a</a><a id="20338" class="Symbol">)</a>
|
||
<a id="20342" href="Monad.Instance.Setoids.Delay.html#20149" class="Function">delta</a> <a id="20348" class="Symbol">(</a><a id="20349" href="Monad.Instance.Setoids.Delay.html#5440" class="InductiveConstructor">later≲</a> <a id="20356" href="Monad.Instance.Setoids.Delay.html#20356" class="Bound">x≲′y</a><a id="20360" class="Symbol">)</a> <a id="20364" class="Symbol">=</a> <a id="20366" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="20372" class="Symbol">(</a><a id="20373" href="Monad.Instance.Setoids.Delay.html#20221" class="Function">delta′</a> <a id="20380" href="Monad.Instance.Setoids.Delay.html#20356" class="Bound">x≲′y</a><a id="20384" class="Symbol">)</a>
|
||
<a id="20388" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="20394" class="Symbol">(</a><a id="20395" href="Monad.Instance.Setoids.Delay.html#20221" class="Function">delta′</a> <a id="20402" href="Monad.Instance.Setoids.Delay.html#20402" class="Bound">x≲′y</a><a id="20406" class="Symbol">)</a> <a id="20408" class="Symbol">=</a> <a id="20410" href="Monad.Instance.Setoids.Delay.html#20149" class="Function">delta</a> <a id="20416" class="Symbol">(</a><a id="20417" href="Monad.Instance.Setoids.Delay.html#5606" class="Field">force≲</a> <a id="20424" href="Monad.Instance.Setoids.Delay.html#20402" class="Bound">x≲′y</a><a id="20428" class="Symbol">)</a>
|
||
|
||
<a id="extra.ι"></a><a id="20433" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="20435" class="Symbol">:</a> <a id="20437" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20439" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20441" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20443" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="20445" href="Category.Ambient.Setoids.html#1884" class="Datatype">ℕ</a> <a id="20447" class="Symbol">{</a><a id="20448" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="20449" class="Symbol">}</a> <a id="20451" class="Symbol">→</a> <a id="20453" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="20459" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20461" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20463" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a>
|
||
<a id="extra.ι′"></a><a id="20467" href="Monad.Instance.Setoids.Delay.html#20467" class="Function">ι′</a> <a id="20470" class="Symbol">:</a> <a id="20472" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20474" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20476" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20478" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="20480" href="Category.Ambient.Setoids.html#1884" class="Datatype">ℕ</a> <a id="20482" class="Symbol">{</a><a id="20483" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="20484" class="Symbol">}</a> <a id="20486" class="Symbol">→</a> <a id="20488" href="Monad.Instance.Setoids.Delay.html#1125" class="Record">Delay′</a> <a id="20495" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="20497" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20499" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a>
|
||
<a id="20503" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="20509" class="Symbol">(</a><a id="20510" href="Monad.Instance.Setoids.Delay.html#20467" class="Function">ι′</a> <a id="20513" href="Monad.Instance.Setoids.Delay.html#20513" class="Bound">p</a><a id="20514" class="Symbol">)</a> <a id="20516" class="Symbol">=</a> <a id="20518" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="20520" href="Monad.Instance.Setoids.Delay.html#20513" class="Bound">p</a>
|
||
<a id="20524" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="20526" class="Symbol">(</a><a id="20527" href="Monad.Instance.Setoids.Delay.html#20527" class="Bound">x</a> <a id="20529" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="20531" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a><a id="20535" class="Symbol">)</a> <a id="20538" class="Symbol">=</a> <a id="20540" href="Monad.Instance.Setoids.Delay.html#1057" class="InductiveConstructor">now</a> <a id="20544" href="Monad.Instance.Setoids.Delay.html#20527" class="Bound">x</a>
|
||
<a id="20548" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="20550" class="Symbol">(</a><a id="20551" href="Monad.Instance.Setoids.Delay.html#20551" class="Bound">x</a> <a id="20553" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="20555" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="20559" href="Monad.Instance.Setoids.Delay.html#20559" class="Bound">n</a><a id="20560" class="Symbol">)</a> <a id="20562" class="Symbol">=</a> <a id="20564" href="Monad.Instance.Setoids.Delay.html#1088" class="InductiveConstructor">later</a> <a id="20570" class="Symbol">(</a><a id="20571" href="Monad.Instance.Setoids.Delay.html#20467" class="Function">ι′</a> <a id="20574" class="Symbol">(</a><a id="20575" href="Monad.Instance.Setoids.Delay.html#20551" class="Bound">x</a> <a id="20577" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="20579" href="Monad.Instance.Setoids.Delay.html#20559" class="Bound">n</a><a id="20580" class="Symbol">))</a>
|
||
|
||
<a id="extra.ιₛ'"></a><a id="20586" href="Monad.Instance.Setoids.Delay.html#20586" class="Function">ιₛ'</a> <a id="20590" class="Symbol">:</a> <a id="20592" class="Symbol">(</a><a id="20593" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20595" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="20598" class="Symbol">(</a><a id="20599" href="Category.Ambient.Setoids.html#2317" class="Function">ℕ-setoid</a> <a id="20608" class="Symbol">{</a><a id="20609" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="20610" class="Symbol">}))</a> <a id="20614" href="Monad.Instance.Setoids.Delay.html#160" class="Record Operator">⟶</a> <a id="20616" href="Monad.Instance.Setoids.Delay.html#6016" class="Function">Delayₛ∼</a> <a id="20624" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a>
|
||
<a id="20628" href="Monad.Instance.Setoids.Delay.html#20586" class="Function">ιₛ'</a> <a id="20632" class="Symbol">=</a> <a id="20634" class="Keyword">record</a> <a id="20641" class="Symbol">{</a> <a id="20643" href="Function.Bundles.html#2094" class="Field">to</a> <a id="20646" class="Symbol">=</a> <a id="20648" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="20650" class="Symbol">;</a> <a id="20652" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="20657" class="Symbol">=</a> <a id="20659" href="Monad.Instance.Setoids.Delay.html#20684" class="Function">ι-cong</a> <a id="20666" class="Symbol">}</a>
|
||
<a id="20672" class="Keyword">where</a>
|
||
<a id="20684" href="Monad.Instance.Setoids.Delay.html#20684" class="Function">ι-cong</a> <a id="20691" class="Symbol">:</a> <a id="20693" class="Symbol">∀</a> <a id="20695" class="Symbol">{</a><a id="20696" href="Monad.Instance.Setoids.Delay.html#20696" class="Bound">x</a> <a id="20698" href="Monad.Instance.Setoids.Delay.html#20698" class="Bound">y</a><a id="20699" class="Symbol">}</a> <a id="20701" class="Symbol">→</a> <a id="20703" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">[</a> <a id="20705" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20707" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="20710" class="Symbol">(</a><a id="20711" href="Category.Ambient.Setoids.html#2317" class="Function">ℕ-setoid</a> <a id="20720" class="Symbol">{</a><a id="20721" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="20722" class="Symbol">})</a> <a id="20725" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">][</a> <a id="20728" href="Monad.Instance.Setoids.Delay.html#20696" class="Bound">x</a> <a id="20730" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">≡</a> <a id="20732" href="Monad.Instance.Setoids.Delay.html#20698" class="Bound">y</a> <a id="20734" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">]</a> <a id="20736" class="Symbol">→</a> <a id="20738" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="20740" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20742" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="20745" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="20747" href="Monad.Instance.Setoids.Delay.html#20696" class="Bound">x</a> <a id="20749" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="20751" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="20753" href="Monad.Instance.Setoids.Delay.html#20698" class="Bound">y</a> <a id="20755" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="20763" href="Monad.Instance.Setoids.Delay.html#20763" class="Function">ι-cong′</a> <a id="20771" class="Symbol">:</a> <a id="20773" class="Symbol">∀</a> <a id="20775" class="Symbol">{</a><a id="20776" href="Monad.Instance.Setoids.Delay.html#20776" class="Bound">x</a> <a id="20778" href="Monad.Instance.Setoids.Delay.html#20778" class="Bound">y</a><a id="20779" class="Symbol">}</a> <a id="20781" class="Symbol">→</a> <a id="20783" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">[</a> <a id="20785" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20787" href="Data.Product.Relation.Binary.Pointwise.NonDependent.html#7083" class="Function Operator">×ₛ</a> <a id="20790" class="Symbol">(</a><a id="20791" href="Category.Ambient.Setoids.html#2317" class="Function">ℕ-setoid</a> <a id="20800" class="Symbol">{</a><a id="20801" href="Monad.Instance.Setoids.Delay.html#782" class="Bound">c</a><a id="20802" class="Symbol">})</a> <a id="20805" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">][</a> <a id="20808" href="Monad.Instance.Setoids.Delay.html#20776" class="Bound">x</a> <a id="20810" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">≡</a> <a id="20812" href="Monad.Instance.Setoids.Delay.html#20778" class="Bound">y</a> <a id="20814" href="Monad.Instance.Setoids.Delay.html#848" class="Field Operator">]</a> <a id="20816" class="Symbol">→</a> <a id="20818" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="20820" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="20822" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="20825" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="20827" href="Monad.Instance.Setoids.Delay.html#20776" class="Bound">x</a> <a id="20829" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="20832" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="20834" href="Monad.Instance.Setoids.Delay.html#20778" class="Bound">y</a> <a id="20836" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a>
|
||
<a id="20844" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="20851" class="Symbol">(</a><a id="20852" href="Monad.Instance.Setoids.Delay.html#20763" class="Function">ι-cong′</a> <a id="20860" class="Symbol">{</a><a id="20861" href="Monad.Instance.Setoids.Delay.html#20861" class="Bound">x</a><a id="20862" class="Symbol">}</a> <a id="20864" class="Symbol">{</a><a id="20865" href="Monad.Instance.Setoids.Delay.html#20865" class="Bound">y</a><a id="20866" class="Symbol">}</a> <a id="20868" href="Monad.Instance.Setoids.Delay.html#20868" class="Bound">x≡y</a><a id="20871" class="Symbol">)</a> <a id="20873" class="Symbol">=</a> <a id="20875" href="Monad.Instance.Setoids.Delay.html#20684" class="Function">ι-cong</a> <a id="20882" href="Monad.Instance.Setoids.Delay.html#20868" class="Bound">x≡y</a>
|
||
<a id="20892" href="Monad.Instance.Setoids.Delay.html#20684" class="Function">ι-cong</a> <a id="20899" class="Symbol">{</a><a id="20900" href="Monad.Instance.Setoids.Delay.html#20900" class="Bound">x</a> <a id="20902" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="20904" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a><a id="20908" class="Symbol">}</a> <a id="20910" class="Symbol">{</a><a id="20911" href="Monad.Instance.Setoids.Delay.html#20911" class="Bound">y</a> <a id="20913" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="20915" href="Category.Ambient.Setoids.html#1904" class="InductiveConstructor">zero</a><a id="20919" class="Symbol">}</a> <a id="20921" class="Symbol">(</a><a id="20922" href="Monad.Instance.Setoids.Delay.html#20922" class="Bound">x≡y</a> <a id="20926" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="20928" href="Monad.Instance.Setoids.Delay.html#20928" class="Bound">n≡m</a><a id="20931" class="Symbol">)</a> <a id="20933" class="Symbol">=</a> <a id="20935" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="20940" href="Monad.Instance.Setoids.Delay.html#20922" class="Bound">x≡y</a>
|
||
<a id="20950" href="Monad.Instance.Setoids.Delay.html#20684" class="Function">ι-cong</a> <a id="20957" class="Symbol">{</a><a id="20958" href="Monad.Instance.Setoids.Delay.html#20958" class="Bound">x</a> <a id="20960" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="20962" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="20966" href="Monad.Instance.Setoids.Delay.html#20966" class="Bound">n</a><a id="20967" class="Symbol">}</a> <a id="20969" class="Symbol">{</a><a id="20970" href="Monad.Instance.Setoids.Delay.html#20970" class="Bound">y</a> <a id="20972" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="20974" href="Category.Ambient.Setoids.html#1917" class="InductiveConstructor">suc</a> <a id="20978" href="Monad.Instance.Setoids.Delay.html#20978" class="Bound">m</a><a id="20979" class="Symbol">}</a> <a id="20981" class="Symbol">(</a><a id="20982" href="Monad.Instance.Setoids.Delay.html#20982" class="Bound">x≡y</a> <a id="20986" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="20988" href="Monad.Instance.Setoids.Delay.html#20988" class="Bound">n≡m</a><a id="20991" class="Symbol">)</a> <a id="20993" class="Symbol">=</a> <a id="20995" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="21002" class="Symbol">(</a><a id="21003" href="Monad.Instance.Setoids.Delay.html#20763" class="Function">ι-cong′</a> <a id="21011" class="Symbol">(</a><a id="21012" href="Monad.Instance.Setoids.Delay.html#20982" class="Bound">x≡y</a> <a id="21016" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="21018" href="Category.Ambient.Setoids.html#2015" class="Function">suc-inj</a> <a id="21026" href="Monad.Instance.Setoids.Delay.html#20988" class="Bound">n≡m</a><a id="21029" class="Symbol">))</a>
|
||
|
||
<a id="extra.delta-prop₁"></a><a id="21035" href="Monad.Instance.Setoids.Delay.html#21035" class="Function">delta-prop₁</a> <a id="21048" class="Symbol">:</a> <a id="21050" class="Symbol">{</a><a id="21051" href="Monad.Instance.Setoids.Delay.html#21051" class="Bound">x</a> <a id="21053" href="Monad.Instance.Setoids.Delay.html#21053" class="Bound">y</a> <a id="21055" class="Symbol">:</a> <a id="21057" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="21063" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="21065" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21067" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="21068" class="Symbol">}</a> <a id="21070" class="Symbol">(</a><a id="21071" href="Monad.Instance.Setoids.Delay.html#21071" class="Bound">x≲y</a> <a id="21075" class="Symbol">:</a> <a id="21077" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">[</a> <a id="21079" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21081" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">][</a> <a id="21084" href="Monad.Instance.Setoids.Delay.html#21051" class="Bound">x</a> <a id="21086" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">≲</a> <a id="21088" href="Monad.Instance.Setoids.Delay.html#21053" class="Bound">y</a> <a id="21090" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">]</a><a id="21091" class="Symbol">)</a> <a id="21093" class="Symbol">→</a> <a id="21095" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="21097" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21099" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="21102" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="21108" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="21114" class="Symbol">(</a><a id="21115" href="Monad.Instance.Setoids.Delay.html#20149" class="Function">delta</a> <a id="21121" href="Monad.Instance.Setoids.Delay.html#21071" class="Bound">x≲y</a><a id="21124" class="Symbol">)</a> <a id="21126" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="21128" href="Monad.Instance.Setoids.Delay.html#21051" class="Bound">x</a> <a id="21130" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="extra.delta-prop′₁"></a><a id="21134" href="Monad.Instance.Setoids.Delay.html#21134" class="Function">delta-prop′₁</a> <a id="21147" class="Symbol">:</a> <a id="21149" class="Symbol">{</a><a id="21150" href="Monad.Instance.Setoids.Delay.html#21150" class="Bound">x</a> <a id="21152" href="Monad.Instance.Setoids.Delay.html#21152" class="Bound">y</a> <a id="21154" class="Symbol">:</a> <a id="21156" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="21162" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="21164" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21166" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="21167" class="Symbol">}</a> <a id="21169" class="Symbol">(</a><a id="21170" href="Monad.Instance.Setoids.Delay.html#21170" class="Bound">x≲y</a> <a id="21174" class="Symbol">:</a> <a id="21176" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">[</a> <a id="21178" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21180" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">][</a> <a id="21183" href="Monad.Instance.Setoids.Delay.html#21150" class="Bound">x</a> <a id="21185" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">≲′</a> <a id="21188" href="Monad.Instance.Setoids.Delay.html#21152" class="Bound">y</a> <a id="21190" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">]</a><a id="21191" class="Symbol">)</a> <a id="21193" class="Symbol">→</a> <a id="21195" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="21197" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21199" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="21202" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="21208" href="Data.Product.Base.html#636" class="Field">proj₁</a> <a id="21214" class="Symbol">(</a><a id="21215" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="21221" class="Symbol">(</a><a id="21222" href="Monad.Instance.Setoids.Delay.html#20221" class="Function">delta′</a> <a id="21229" href="Monad.Instance.Setoids.Delay.html#21170" class="Bound">x≲y</a><a id="21232" class="Symbol">))</a> <a id="21235" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="21238" href="Monad.Instance.Setoids.Delay.html#21150" class="Bound">x</a> <a id="21240" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a>
|
||
<a id="21244" href="Monad.Instance.Setoids.Delay.html#21035" class="Function">delta-prop₁</a> <a id="21256" class="Symbol">{</a><a id="21257" class="DottedPattern Symbol">.(</a><a id="21259" href="Monad.Instance.Setoids.Delay.html#1057" class="DottedPattern InductiveConstructor">now</a> <a id="21263" class="DottedPattern Symbol">_)</a><a id="21265" class="Symbol">}</a> <a id="21267" class="Symbol">{</a><a id="21268" href="Monad.Instance.Setoids.Delay.html#21268" class="Bound">x</a><a id="21269" class="Symbol">}</a> <a id="21271" class="Symbol">(</a><a id="21272" href="Monad.Instance.Setoids.Delay.html#5391" class="InductiveConstructor">↓≲</a> <a id="21275" href="Monad.Instance.Setoids.Delay.html#21275" class="Bound">x↓a</a><a id="21278" class="Symbol">)</a> <a id="21280" class="Symbol">=</a> <a id="21282" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="21287" class="Symbol">(</a><a id="21288" href="Monad.Instance.Setoids.Delay.html#964" class="Function">≡-refl</a> <a id="21295" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a><a id="21296" class="Symbol">)</a>
|
||
<a id="21300" href="Monad.Instance.Setoids.Delay.html#21035" class="Function">delta-prop₁</a> <a id="21312" class="Symbol">{</a><a id="21313" class="DottedPattern Symbol">.(</a><a id="21315" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="21321" class="DottedPattern Symbol">_)</a><a id="21323" class="Symbol">}</a> <a id="21325" class="Symbol">{</a><a id="21326" class="DottedPattern Symbol">.(</a><a id="21328" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="21334" class="DottedPattern Symbol">_)</a><a id="21336" class="Symbol">}</a> <a id="21338" class="Symbol">(</a><a id="21339" href="Monad.Instance.Setoids.Delay.html#5440" class="InductiveConstructor">later≲</a> <a id="21346" href="Monad.Instance.Setoids.Delay.html#21346" class="Bound">x≲y</a><a id="21349" class="Symbol">)</a> <a id="21351" class="Symbol">=</a> <a id="21353" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="21360" class="Symbol">(</a><a id="21361" href="Monad.Instance.Setoids.Delay.html#21134" class="Function">delta-prop′₁</a> <a id="21374" href="Monad.Instance.Setoids.Delay.html#21346" class="Bound">x≲y</a><a id="21377" class="Symbol">)</a>
|
||
<a id="21381" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="21388" class="Symbol">(</a><a id="21389" href="Monad.Instance.Setoids.Delay.html#21134" class="Function">delta-prop′₁</a> <a id="21402" href="Monad.Instance.Setoids.Delay.html#21402" class="Bound">x≲y</a><a id="21405" class="Symbol">)</a> <a id="21407" class="Symbol">=</a> <a id="21409" href="Monad.Instance.Setoids.Delay.html#21035" class="Function">delta-prop₁</a> <a id="21421" class="Symbol">(</a><a id="21422" href="Monad.Instance.Setoids.Delay.html#5606" class="Field">force≲</a> <a id="21429" href="Monad.Instance.Setoids.Delay.html#21402" class="Bound">x≲y</a><a id="21432" class="Symbol">)</a>
|
||
|
||
<a id="extra.delta-prop₂"></a><a id="21437" href="Monad.Instance.Setoids.Delay.html#21437" class="Function">delta-prop₂</a> <a id="21449" class="Symbol">:</a> <a id="21451" class="Symbol">{</a><a id="21452" href="Monad.Instance.Setoids.Delay.html#21452" class="Bound">x</a> <a id="21454" href="Monad.Instance.Setoids.Delay.html#21454" class="Bound">y</a> <a id="21456" class="Symbol">:</a> <a id="21458" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="21464" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="21466" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21468" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="21469" class="Symbol">}</a> <a id="21471" class="Symbol">(</a><a id="21472" href="Monad.Instance.Setoids.Delay.html#21472" class="Bound">x≲y</a> <a id="21476" class="Symbol">:</a> <a id="21478" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">[</a> <a id="21480" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21482" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">][</a> <a id="21485" href="Monad.Instance.Setoids.Delay.html#21452" class="Bound">x</a> <a id="21487" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">≲</a> <a id="21489" href="Monad.Instance.Setoids.Delay.html#21454" class="Bound">y</a> <a id="21491" href="Monad.Instance.Setoids.Delay.html#5766" class="Datatype Operator">]</a><a id="21492" class="Symbol">)</a> <a id="21494" class="Symbol">→</a> <a id="21496" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="21498" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21500" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="21503" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="21505" class="Symbol">{</a><a id="21506" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a><a id="21507" class="Symbol">}</a> <a id="21509" class="Symbol">(</a><a id="21510" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="21516" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="21518" class="Symbol">(</a><a id="21519" href="Monad.Instance.Setoids.Delay.html#20149" class="Function">delta</a> <a id="21525" href="Monad.Instance.Setoids.Delay.html#21472" class="Bound">x≲y</a><a id="21528" class="Symbol">))</a> <a id="21531" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="21533" href="Monad.Instance.Setoids.Delay.html#21454" class="Bound">y</a> <a id="21535" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="extra.delta-prop′₂"></a><a id="21539" href="Monad.Instance.Setoids.Delay.html#21539" class="Function">delta-prop′₂</a> <a id="21552" class="Symbol">:</a> <a id="21554" class="Symbol">{</a><a id="21555" href="Monad.Instance.Setoids.Delay.html#21555" class="Bound">x</a> <a id="21557" href="Monad.Instance.Setoids.Delay.html#21557" class="Bound">y</a> <a id="21559" class="Symbol">:</a> <a id="21561" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="21567" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="21569" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21571" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="21572" class="Symbol">}</a> <a id="21574" class="Symbol">(</a><a id="21575" href="Monad.Instance.Setoids.Delay.html#21575" class="Bound">x≲y</a> <a id="21579" class="Symbol">:</a> <a id="21581" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">[</a> <a id="21583" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21585" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">][</a> <a id="21588" href="Monad.Instance.Setoids.Delay.html#21555" class="Bound">x</a> <a id="21590" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">≲′</a> <a id="21593" href="Monad.Instance.Setoids.Delay.html#21557" class="Bound">y</a> <a id="21595" href="Monad.Instance.Setoids.Delay.html#5784" class="Record Operator">]</a><a id="21596" class="Symbol">)</a> <a id="21598" class="Symbol">→</a> <a id="21600" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">[</a> <a id="21602" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21604" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">][</a> <a id="21607" href="Monad.Instance.Setoids.Delay.html#12391" class="Function">μ</a> <a id="21609" class="Symbol">{</a><a id="21610" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a><a id="21611" class="Symbol">}</a> <a id="21613" class="Symbol">(</a><a id="21614" href="Monad.Instance.Setoids.Delay.html#7297" class="Function">liftF</a> <a id="21620" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="21622" class="Symbol">(</a><a id="21623" href="Monad.Instance.Setoids.Delay.html#1190" class="Field">force</a> <a id="21629" class="Symbol">(</a><a id="21630" href="Monad.Instance.Setoids.Delay.html#20221" class="Function">delta′</a> <a id="21637" href="Monad.Instance.Setoids.Delay.html#21575" class="Bound">x≲y</a><a id="21640" class="Symbol">)))</a> <a id="21644" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">∼′</a> <a id="21647" href="Monad.Instance.Setoids.Delay.html#21557" class="Bound">y</a> <a id="21649" href="Monad.Instance.Setoids.Delay.html#5731" class="Record Operator">]</a>
|
||
<a id="21653" href="Monad.Instance.Setoids.Delay.html#21437" class="Function">delta-prop₂</a> <a id="21665" class="Symbol">(</a><a id="21666" href="Monad.Instance.Setoids.Delay.html#5391" class="InductiveConstructor">↓≲</a> <a id="21669" href="Monad.Instance.Setoids.Delay.html#21669" class="Bound">x↓a</a><a id="21672" class="Symbol">)</a> <a id="21678" class="Symbol">=</a> <a id="21680" href="Monad.Instance.Setoids.Delay.html#2377" class="Function">∼-sym</a> <a id="21686" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21688" class="Symbol">(</a><a id="21689" href="Monad.Instance.Setoids.Delay.html#21713" class="Function">ι↓</a> <a id="21692" href="Monad.Instance.Setoids.Delay.html#21669" class="Bound">x↓a</a><a id="21695" class="Symbol">)</a>
|
||
<a id="21701" class="Keyword">where</a>
|
||
<a id="21713" href="Monad.Instance.Setoids.Delay.html#21713" class="Function">ι↓</a> <a id="21716" class="Symbol">:</a> <a id="21719" class="Symbol">{</a><a id="21720" href="Monad.Instance.Setoids.Delay.html#21720" class="Bound">x</a> <a id="21722" class="Symbol">:</a> <a id="21724" href="Monad.Instance.Setoids.Delay.html#1021" class="Datatype">Delay</a> <a id="21730" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="21732" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21734" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="21735" class="Symbol">}{</a><a id="21737" href="Monad.Instance.Setoids.Delay.html#21737" class="Bound">a</a> <a id="21739" class="Symbol">:</a> <a id="21741" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a> <a id="21743" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21745" href="Monad.Instance.Setoids.Delay.html#836" class="Field Operator">∣</a><a id="21746" class="Symbol">}</a> <a id="21748" class="Symbol">→</a> <a id="21750" class="Symbol">(</a><a id="21751" href="Monad.Instance.Setoids.Delay.html#21751" class="Bound">x↓a</a> <a id="21755" class="Symbol">:</a> <a id="21757" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">[</a> <a id="21759" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21761" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">][</a> <a id="21764" href="Monad.Instance.Setoids.Delay.html#21720" class="Bound">x</a> <a id="21766" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">↓</a> <a id="21768" href="Monad.Instance.Setoids.Delay.html#21737" class="Bound">a</a> <a id="21770" href="Monad.Instance.Setoids.Delay.html#5749" class="Datatype Operator">]</a><a id="21771" class="Symbol">)</a> <a id="21773" class="Symbol">→</a> <a id="21775" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">[</a> <a id="21777" href="Monad.Instance.Setoids.Delay.html#17849" class="Bound">A</a> <a id="21779" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">][</a> <a id="21782" href="Monad.Instance.Setoids.Delay.html#21720" class="Bound">x</a> <a id="21784" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">∼</a> <a id="21786" href="Monad.Instance.Setoids.Delay.html#20433" class="Function">ι</a> <a id="21788" class="Symbol">(</a><a id="21789" href="Monad.Instance.Setoids.Delay.html#21737" class="Bound">a</a> <a id="21791" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="21793" href="Monad.Instance.Setoids.Delay.html#19998" class="Function">delta₀</a> <a id="21800" href="Monad.Instance.Setoids.Delay.html#21751" class="Bound">x↓a</a><a id="21803" class="Symbol">)</a> <a id="21805" href="Monad.Instance.Setoids.Delay.html#5713" class="Datatype Operator">]</a>
|
||
<a id="21813" href="Monad.Instance.Setoids.Delay.html#21713" class="Function">ι↓</a> <a id="21816" class="Symbol">{</a><a id="21817" class="DottedPattern Symbol">.(</a><a id="21819" href="Monad.Instance.Setoids.Delay.html#1057" class="DottedPattern InductiveConstructor">now</a> <a id="21823" class="DottedPattern Symbol">_)</a><a id="21825" class="Symbol">}</a> <a id="21827" class="Symbol">{</a><a id="21828" href="Monad.Instance.Setoids.Delay.html#21828" class="Bound">a</a><a id="21829" class="Symbol">}</a> <a id="21831" class="Symbol">(</a><a id="21832" href="Monad.Instance.Setoids.Delay.html#2982" class="InductiveConstructor">now↓</a> <a id="21837" href="Monad.Instance.Setoids.Delay.html#21837" class="Bound">x≡y</a><a id="21840" class="Symbol">)</a> <a id="21846" class="Symbol">=</a> <a id="21848" href="Monad.Instance.Setoids.Delay.html#1711" class="InductiveConstructor">now∼</a> <a id="21853" href="Monad.Instance.Setoids.Delay.html#21837" class="Bound">x≡y</a>
|
||
<a id="21863" href="Monad.Instance.Setoids.Delay.html#21713" class="Function">ι↓</a> <a id="21866" class="Symbol">{</a><a id="21867" class="DottedPattern Symbol">.(</a><a id="21869" href="Monad.Instance.Setoids.Delay.html#1088" class="DottedPattern InductiveConstructor">later</a> <a id="21875" class="DottedPattern Symbol">_)</a><a id="21877" class="Symbol">}</a> <a id="21879" class="Symbol">{</a><a id="21880" href="Monad.Instance.Setoids.Delay.html#21880" class="Bound">a</a><a id="21881" class="Symbol">}</a> <a id="21883" class="Symbol">(</a><a id="21884" href="Monad.Instance.Setoids.Delay.html#3038" class="InductiveConstructor">later↓</a> <a id="21891" href="Monad.Instance.Setoids.Delay.html#21891" class="Bound">x↓a</a><a id="21894" class="Symbol">)</a> <a id="21896" class="Symbol">=</a> <a id="21898" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="21905" class="Symbol">(</a><a id="21906" class="Keyword">record</a> <a id="21913" class="Symbol">{</a> <a id="21915" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="21922" class="Symbol">=</a> <a id="21924" href="Monad.Instance.Setoids.Delay.html#21713" class="Function">ι↓</a> <a id="21927" href="Monad.Instance.Setoids.Delay.html#21891" class="Bound">x↓a</a> <a id="21931" class="Symbol">})</a>
|
||
<a id="21936" href="Monad.Instance.Setoids.Delay.html#21437" class="Function">delta-prop₂</a> <a id="21948" class="Symbol">(</a><a id="21949" href="Monad.Instance.Setoids.Delay.html#5440" class="InductiveConstructor">later≲</a> <a id="21956" href="Monad.Instance.Setoids.Delay.html#21956" class="Bound">x≲y</a><a id="21959" class="Symbol">)</a> <a id="21961" class="Symbol">=</a> <a id="21963" href="Monad.Instance.Setoids.Delay.html#1768" class="InductiveConstructor">later∼</a> <a id="21970" class="Symbol">(</a><a id="21971" href="Monad.Instance.Setoids.Delay.html#21539" class="Function">delta-prop′₂</a> <a id="21984" href="Monad.Instance.Setoids.Delay.html#21956" class="Bound">x≲y</a><a id="21987" class="Symbol">)</a>
|
||
<a id="21991" href="Monad.Instance.Setoids.Delay.html#1929" class="Field">force∼</a> <a id="21998" class="Symbol">(</a><a id="21999" href="Monad.Instance.Setoids.Delay.html#21539" class="Function">delta-prop′₂</a> <a id="22012" href="Monad.Instance.Setoids.Delay.html#22012" class="Bound">x≲y</a><a id="22015" class="Symbol">)</a> <a id="22017" class="Symbol">=</a> <a id="22019" href="Monad.Instance.Setoids.Delay.html#21437" class="Function">delta-prop₂</a> <a id="22031" class="Symbol">(</a><a id="22032" href="Monad.Instance.Setoids.Delay.html#5606" class="Field">force≲</a> <a id="22039" href="Monad.Instance.Setoids.Delay.html#22012" class="Bound">x≲y</a><a id="22042" class="Symbol">)</a>
|
||
</pre>
|
||
</body>
|
||
</html>
|