mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
160 lines
62 KiB
HTML
160 lines
62 KiB
HTML
|
<!DOCTYPE HTML>
|
|||
|
<html><head><meta charset="utf-8"><title>Relation.Binary.Construct.Closure.Transitive</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="74" class="Comment">-- The Agda standard library</a>
|
|||
|
<a id="103" class="Comment">--</a>
|
|||
|
<a id="106" class="Comment">-- Transitive closures</a>
|
|||
|
<a id="129" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="203" class="Symbol">{-#</a> <a id="207" class="Keyword">OPTIONS</a> <a id="215" class="Pragma">--cubical-compatible</a> <a id="236" class="Pragma">--safe</a> <a id="243" class="Symbol">#-}</a>
|
|||
|
|
|||
|
<a id="248" class="Keyword">module</a> <a id="255" href="Relation.Binary.Construct.Closure.Transitive.html" class="Module">Relation.Binary.Construct.Closure.Transitive</a> <a id="300" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="307" class="Keyword">open</a> <a id="312" class="Keyword">import</a> <a id="319" href="Function.Base.html" class="Module">Function.Base</a>
|
|||
|
<a id="333" class="Keyword">open</a> <a id="338" class="Keyword">import</a> <a id="345" href="Function.Bundles.html" class="Module">Function.Bundles</a> <a id="362" class="Keyword">using</a> <a id="368" class="Symbol">(</a><a id="369" href="Function.Bundles.html#12039" class="Function Operator">_⇔_</a><a id="372" class="Symbol">;</a> <a id="374" href="Function.Bundles.html#13138" class="Function">mk⇔</a><a id="377" class="Symbol">)</a>
|
|||
|
<a id="379" class="Keyword">open</a> <a id="384" class="Keyword">import</a> <a id="391" href="Induction.WellFounded.html" class="Module">Induction.WellFounded</a>
|
|||
|
<a id="413" class="Keyword">open</a> <a id="418" class="Keyword">import</a> <a id="425" href="Level.html" class="Module">Level</a>
|
|||
|
<a id="431" class="Keyword">open</a> <a id="436" class="Keyword">import</a> <a id="443" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a> <a id="464" class="Keyword">using</a> <a id="470" class="Symbol">(</a><a id="471" href="Relation.Binary.Core.html#896" class="Function">Rel</a><a id="474" class="Symbol">;</a> <a id="476" href="Relation.Binary.Core.html#1474" class="Function Operator">_=[_]⇒_</a><a id="483" class="Symbol">;</a> <a id="485" href="Relation.Binary.Core.html#1268" class="Function Operator">_⇒_</a><a id="488" class="Symbol">)</a>
|
|||
|
<a id="490" class="Keyword">open</a> <a id="495" class="Keyword">import</a> <a id="502" href="Relation.Binary.Definitions.html" class="Module">Relation.Binary.Definitions</a>
|
|||
|
<a id="532" class="Keyword">using</a> <a id="538" class="Symbol">(</a><a id="539" href="Relation.Binary.Definitions.html#1428" class="Function">Reflexive</a><a id="548" class="Symbol">;</a> <a id="550" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a><a id="559" class="Symbol">;</a> <a id="561" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a><a id="571" class="Symbol">)</a>
|
|||
|
<a id="573" class="Keyword">open</a> <a id="578" class="Keyword">import</a> <a id="585" href="Relation.Binary.PropositionalEquality.Core.html" class="Module">Relation.Binary.PropositionalEquality.Core</a> <a id="628" class="Symbol">as</a> <a id="631" class="Module">P</a> <a id="633" class="Keyword">using</a> <a id="639" class="Symbol">(</a><a id="640" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a><a id="643" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="646" class="Keyword">private</a>
|
|||
|
<a id="656" class="Keyword">variable</a>
|
|||
|
<a id="669" href="Relation.Binary.Construct.Closure.Transitive.html#669" class="Generalizable">a</a> <a id="671" href="Relation.Binary.Construct.Closure.Transitive.html#671" class="Generalizable">ℓ</a> <a id="673" href="Relation.Binary.Construct.Closure.Transitive.html#673" class="Generalizable">ℓ₁</a> <a id="676" href="Relation.Binary.Construct.Closure.Transitive.html#676" class="Generalizable">ℓ₂</a> <a id="679" class="Symbol">:</a> <a id="681" href="Agda.Primitive.html#742" class="Postulate">Level</a>
|
|||
|
<a id="691" href="Relation.Binary.Construct.Closure.Transitive.html#691" class="Generalizable">A</a> <a id="693" href="Relation.Binary.Construct.Closure.Transitive.html#693" class="Generalizable">B</a> <a id="695" class="Symbol">:</a> <a id="697" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="701" href="Relation.Binary.Construct.Closure.Transitive.html#669" class="Generalizable">a</a>
|
|||
|
|
|||
|
<a id="704" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="777" class="Comment">-- Definition</a>
|
|||
|
|
|||
|
<a id="792" class="Keyword">infixr</a> <a id="799" class="Number">5</a> <a id="801" href="Relation.Binary.Construct.Closure.Transitive.html#951" class="InductiveConstructor Operator">_∷_</a>
|
|||
|
<a id="805" class="Keyword">infix</a> <a id="812" class="Number">4</a> <a id="814" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a>
|
|||
|
|
|||
|
<a id="828" class="Keyword">data</a> <a id="TransClosure"></a><a id="833" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a> <a id="846" class="Symbol">{</a><a id="847" href="Relation.Binary.Construct.Closure.Transitive.html#847" class="Bound">A</a> <a id="849" class="Symbol">:</a> <a id="851" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="855" href="Relation.Binary.Construct.Closure.Transitive.html#669" class="Generalizable">a</a><a id="856" class="Symbol">}</a> <a id="858" class="Symbol">(</a><a id="859" href="Relation.Binary.Construct.Closure.Transitive.html#859" class="Bound Operator">_∼_</a> <a id="863" class="Symbol">:</a> <a id="865" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="869" href="Relation.Binary.Construct.Closure.Transitive.html#847" class="Bound">A</a> <a id="871" href="Relation.Binary.Construct.Closure.Transitive.html#671" class="Generalizable">ℓ</a><a id="872" class="Symbol">)</a> <a id="874" class="Symbol">:</a> <a id="876" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="880" href="Relation.Binary.Construct.Closure.Transitive.html#847" class="Bound">A</a> <a id="882" class="Symbol">(</a><a id="883" href="Relation.Binary.Construct.Closure.Transitive.html#855" class="Bound">a</a> <a id="885" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="887" href="Relation.Binary.Construct.Closure.Transitive.html#871" class="Bound">ℓ</a><a id="888" class="Symbol">)</a> <a id="890" class="Keyword">where</a>
|
|||
|
<a id="TransClosure.[_]"></a><a id="898" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[_]</a> <a id="902" class="Symbol">:</a> <a id="904" class="Symbol">∀</a> <a id="906" class="Symbol">{</a><a id="907" href="Relation.Binary.Construct.Closure.Transitive.html#907" class="Bound">x</a> <a id="909" href="Relation.Binary.Construct.Closure.Transitive.html#909" class="Bound">y</a><a id="910" class="Symbol">}</a> <a id="912" class="Symbol">(</a><a id="913" href="Relation.Binary.Construct.Closure.Transitive.html#913" class="Bound">x∼y</a> <a id="917" class="Symbol">:</a> <a id="919" href="Relation.Binary.Construct.Closure.Transitive.html#907" class="Bound">x</a> <a id="921" href="Relation.Binary.Construct.Closure.Transitive.html#859" class="Bound Operator">∼</a> <a id="923" href="Relation.Binary.Construct.Closure.Transitive.html#909" class="Bound">y</a><a id="924" class="Symbol">)</a> <a id="926" class="Symbol">→</a> <a id="928" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a> <a id="941" href="Relation.Binary.Construct.Closure.Transitive.html#859" class="Bound Operator">_∼_</a> <a id="945" href="Relation.Binary.Construct.Closure.Transitive.html#907" class="Bound">x</a> <a id="947" href="Relation.Binary.Construct.Closure.Transitive.html#909" class="Bound">y</a>
|
|||
|
<a id="TransClosure._∷_"></a><a id="951" href="Relation.Binary.Construct.Closure.Transitive.html#951" class="InductiveConstructor Operator">_∷_</a> <a id="955" class="Symbol">:</a> <a id="957" class="Symbol">∀</a> <a id="959" class="Symbol">{</a><a id="960" href="Relation.Binary.Construct.Closure.Transitive.html#960" class="Bound">x</a> <a id="962" href="Relation.Binary.Construct.Closure.Transitive.html#962" class="Bound">y</a> <a id="964" href="Relation.Binary.Construct.Closure.Transitive.html#964" class="Bound">z</a><a id="965" class="Symbol">}</a> <a id="967" class="Symbol">(</a><a id="968" href="Relation.Binary.Construct.Closure.Transitive.html#968" class="Bound">x∼y</a> <a id="972" class="Symbol">:</a> <a id="974" href="Relation.Binary.Construct.Closure.Transitive.html#960" class="Bound">x</a> <a id="976" href="Relation.Binary.Construct.Closure.Transitive.html#859" class="Bound Operator">∼</a> <a id="978" href="Relation.Binary.Construct.Closure.Transitive.html#962" class="Bound">y</a><a id="979" class="Symbol">)</a> <a id="981" class="Symbol">(</a><a id="982" href="Relation.Binary.Construct.Closure.Transitive.html#982" class="Bound">y∼⁺z</a> <a id="987" class="Symbol">:</a> <a id="989" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a> <a id="1002" href="Relation.Binary.Construct.Closure.Transitive.html#859" class="Bound Operator">_∼_</a> <a id="1006" href="Relation.Binary.Construct.Closure.Transitive.html#962" class="Bound">y</a> <a id="1008" href="Relation.Binary.Construct.Closure.Transitive.html#964" class="Bound">z</a><a id="1009" class="Symbol">)</a> <a id="1011" class="Symbol">→</a> <a id="1013" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a> <a id="1026" href="Relation.Binary.Construct.Closure.Transitive.html#859" class="Bound Operator">_∼_</a> <a id="1030" href="Relation.Binary.Construct.Closure.Transitive.html#960" class="Bound">x</a> <a id="1032" href="Relation.Binary.Construct.Closure.Transitive.html#964" class="Bound">z</a>
|
|||
|
|
|||
|
<a id="1035" class="Keyword">syntax</a> <a id="1042" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a> <a id="1055" class="Bound">R</a> <a id="1057" class="Bound">x</a> <a id="1059" class="Bound">y</a> <a id="1061" class="Symbol">=</a> <a id="1063" class="Bound">x</a> <a id="1065" class="Datatype">⟨</a> <a id="1067" class="Bound">R</a> <a id="1069" class="Datatype">⟩⁺</a> <a id="1072" class="Bound">y</a>
|
|||
|
|
|||
|
<a id="1075" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1148" class="Comment">-- Operations</a>
|
|||
|
|
|||
|
<a id="1163" class="Keyword">module</a> <a id="1170" href="Relation.Binary.Construct.Closure.Transitive.html#1170" class="Module">_</a> <a id="1172" class="Symbol">{</a><a id="1173" href="Relation.Binary.Construct.Closure.Transitive.html#1173" class="Bound Operator">_∼_</a> <a id="1177" class="Symbol">:</a> <a id="1179" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1183" href="Relation.Binary.Construct.Closure.Transitive.html#691" class="Generalizable">A</a> <a id="1185" href="Relation.Binary.Construct.Closure.Transitive.html#671" class="Generalizable">ℓ</a><a id="1186" class="Symbol">}</a> <a id="1188" class="Keyword">where</a>
|
|||
|
<a id="1196" class="Keyword">private</a>
|
|||
|
<a id="1208" href="Relation.Binary.Construct.Closure.Transitive.html#1208" class="Function Operator">_∼⁺_</a> <a id="1213" class="Symbol">=</a> <a id="1215" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a> <a id="1228" href="Relation.Binary.Construct.Closure.Transitive.html#1173" class="Bound Operator">_∼_</a>
|
|||
|
|
|||
|
<a id="1235" class="Keyword">infixr</a> <a id="1242" class="Number">5</a> <a id="1244" href="Relation.Binary.Construct.Closure.Transitive.html#1252" class="Function Operator">_∷ʳ_</a>
|
|||
|
|
|||
|
<a id="1252" href="Relation.Binary.Construct.Closure.Transitive.html#1252" class="Function Operator">_∷ʳ_</a> <a id="1257" class="Symbol">:</a> <a id="1259" class="Symbol">∀</a> <a id="1261" class="Symbol">{</a><a id="1262" href="Relation.Binary.Construct.Closure.Transitive.html#1262" class="Bound">x</a> <a id="1264" href="Relation.Binary.Construct.Closure.Transitive.html#1264" class="Bound">y</a> <a id="1266" href="Relation.Binary.Construct.Closure.Transitive.html#1266" class="Bound">z</a><a id="1267" class="Symbol">}</a> <a id="1269" class="Symbol">→</a> <a id="1271" class="Symbol">(</a><a id="1272" href="Relation.Binary.Construct.Closure.Transitive.html#1272" class="Bound">x∼⁺y</a> <a id="1277" class="Symbol">:</a> <a id="1279" href="Relation.Binary.Construct.Closure.Transitive.html#1262" class="Bound">x</a> <a id="1281" href="Relation.Binary.Construct.Closure.Transitive.html#1208" class="Function Operator">∼⁺</a> <a id="1284" href="Relation.Binary.Construct.Closure.Transitive.html#1264" class="Bound">y</a><a id="1285" class="Symbol">)</a> <a id="1287" class="Symbol">(</a><a id="1288" href="Relation.Binary.Construct.Closure.Transitive.html#1288" class="Bound">y∼z</a> <a id="1292" class="Symbol">:</a> <a id="1294" href="Relation.Binary.Construct.Closure.Transitive.html#1264" class="Bound">y</a> <a id="1296" href="Relation.Binary.Construct.Closure.Transitive.html#1173" class="Bound Operator">∼</a> <a id="1298" href="Relation.Binary.Construct.Closure.Transitive.html#1266" class="Bound">z</a><a id="1299" class="Symbol">)</a> <a id="1301" class="Symbol">→</a> <a id="1303" href="Relation.Binary.Construct.Closure.Transitive.html#1262" class="Bound">x</a> <a id="1305" href="Relation.Binary.Construct.Closure.Transitive.html#1208" class="Function Operator">∼⁺</a> <a id="1308" href="Relation.Binary.Construct.Closure.Transitive.html#1266" class="Bound">z</a>
|
|||
|
<a id="1312" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[</a> <a id="1314" href="Relation.Binary.Construct.Closure.Transitive.html#1314" class="Bound">x∼y</a> <a id="1318" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">]</a> <a id="1325" href="Relation.Binary.Construct.Closure.Transitive.html#1252" class="Function Operator">∷ʳ</a> <a id="1328" href="Relation.Binary.Construct.Closure.Transitive.html#1328" class="Bound">y∼z</a> <a id="1332" class="Symbol">=</a> <a id="1334" href="Relation.Binary.Construct.Closure.Transitive.html#1314" class="Bound">x∼y</a> <a id="1338" href="Relation.Binary.Construct.Closure.Transitive.html#951" class="InductiveConstructor Operator">∷</a> <a id="1340" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[</a> <a id="1342" href="Relation.Binary.Construct.Closure.Transitive.html#1328" class="Bound">y∼z</a> <a id="1346" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">]</a>
|
|||
|
<a id="1350" class="Symbol">(</a><a id="1351" href="Relation.Binary.Construct.Closure.Transitive.html#1351" class="Bound">x∼y</a> <a id="1355" href="Relation.Binary.Construct.Closure.Transitive.html#951" class="InductiveConstructor Operator">∷</a> <a id="1357" href="Relation.Binary.Construct.Closure.Transitive.html#1357" class="Bound">x∼⁺y</a><a id="1361" class="Symbol">)</a> <a id="1363" href="Relation.Binary.Construct.Closure.Transitive.html#1252" class="Function Operator">∷ʳ</a> <a id="1366" href="Relation.Binary.Construct.Closure.Transitive.html#1366" class="Bound">y∼z</a> <a id="1370" class="Symbol">=</a> <a id="1372" href="Relation.Binary.Construct.Closure.Transitive.html#1351" class="Bound">x∼y</a> <a id="1376" href="Relation.Binary.Construct.Closure.Transitive.html#951" class="InductiveConstructor Operator">∷</a> <a id="1378" class="Symbol">(</a><a id="1379" href="Relation.Binary.Construct.Closure.Transitive.html#1357" class="Bound">x∼⁺y</a> <a id="1384" href="Relation.Binary.Construct.Closure.Transitive.html#1252" class="Function Operator">∷ʳ</a> <a id="1387" href="Relation.Binary.Construct.Closure.Transitive.html#1366" class="Bound">y∼z</a><a id="1390" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="1395" class="Keyword">infixr</a> <a id="1402" class="Number">5</a> <a id="1404" href="Relation.Binary.Construct.Closure.Transitive.html#1411" class="Function Operator">_++_</a>
|
|||
|
<a id="1411" href="Relation.Binary.Construct.Closure.Transitive.html#1411" class="Function Operator">_++_</a> <a id="1416" class="Symbol">:</a> <a id="1418" class="Symbol">∀</a> <a id="1420" class="Symbol">{</a><a id="1421" href="Relation.Binary.Construct.Closure.Transitive.html#1421" class="Bound">x</a> <a id="1423" href="Relation.Binary.Construct.Closure.Transitive.html#1423" class="Bound">y</a> <a id="1425" href="Relation.Binary.Construct.Closure.Transitive.html#1425" class="Bound">z</a><a id="1426" class="Symbol">}</a> <a id="1428" class="Symbol">→</a> <a id="1430" href="Relation.Binary.Construct.Closure.Transitive.html#1421" class="Bound">x</a> <a id="1432" href="Relation.Binary.Construct.Closure.Transitive.html#1208" class="Function Operator">∼⁺</a> <a id="1435" href="Relation.Binary.Construct.Closure.Transitive.html#1423" class="Bound">y</a> <a id="1437" class="Symbol">→</a> <a id="1439" href="Relation.Binary.Construct.Closure.Transitive.html#1423" class="Bound">y</a> <a id="1441" href="Relation.Binary.Construct.Closure.Transitive.html#1208" class="Function Operator">∼⁺</a> <a id="1444" href="Relation.Binary.Construct.Closure.Transitive.html#1425" class="Bound">z</a> <a id="1446" class="Symbol">→</a> <a id="1448" href="Relation.Binary.Construct.Closure.Transitive.html#1421" class="Bound">x</a> <a id="1450" href="Relation.Binary.Construct.Closure.Transitive.html#1208" class="Function Operator">∼⁺</a> <a id="1453" href="Relation.Binary.Construct.Closure.Transitive.html#1425" class="Bound">z</a>
|
|||
|
<a id="1457" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[</a> <a id="1459" href="Relation.Binary.Construct.Closure.Transitive.html#1459" class="Bound">x∼y</a> <a id="1463" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">]</a> <a id="1470" href="Relation.Binary.Construct.Closure.Transitive.html#1411" class="Function Operator">++</a> <a id="1473" href="Relation.Binary.Construct.Closure.Transitive.html#1473" class="Bound">y∼⁺z</a> <a id="1478" class="Symbol">=</a> <a id="1480" href="Relation.Binary.Construct.Closure.Transitive.html#1459" class="Bound">x∼y</a> <a id="1484" href="Relation.Binary.Construct.Closure.Transitive.html#951" class="InductiveConstructor Operator">∷</a> <a id="1486" href="Relation.Binary.Construct.Closure.Transitive.html#1473" class="Bound">y∼⁺z</a>
|
|||
|
<a id="1493" class="Symbol">(</a><a id="1494" href="Relation.Binary.Construct.Closure.Transitive.html#1494" class="Bound">x∼y</a> <a id="1498" href="Relation.Binary.Construct.Closure.Transitive.html#951" class="InductiveConstructor Operator">∷</a> <a id="1500" href="Relation.Binary.Construct.Closure.Transitive.html#1500" class="Bound">y∼⁺z</a><a id="1504" class="Symbol">)</a> <a id="1506" href="Relation.Binary.Construct.Closure.Transitive.html#1411" class="Function Operator">++</a> <a id="1509" href="Relation.Binary.Construct.Closure.Transitive.html#1509" class="Bound">z∼⁺u</a> <a id="1514" class="Symbol">=</a> <a id="1516" href="Relation.Binary.Construct.Closure.Transitive.html#1494" class="Bound">x∼y</a> <a id="1520" href="Relation.Binary.Construct.Closure.Transitive.html#951" class="InductiveConstructor Operator">∷</a> <a id="1522" class="Symbol">(</a><a id="1523" href="Relation.Binary.Construct.Closure.Transitive.html#1500" class="Bound">y∼⁺z</a> <a id="1528" href="Relation.Binary.Construct.Closure.Transitive.html#1411" class="Function Operator">++</a> <a id="1531" href="Relation.Binary.Construct.Closure.Transitive.html#1509" class="Bound">z∼⁺u</a><a id="1535" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="1538" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1611" class="Comment">-- Properties</a>
|
|||
|
|
|||
|
<a id="1626" class="Keyword">module</a> <a id="1633" href="Relation.Binary.Construct.Closure.Transitive.html#1633" class="Module">_</a> <a id="1635" class="Symbol">(</a><a id="1636" href="Relation.Binary.Construct.Closure.Transitive.html#1636" class="Bound Operator">_∼_</a> <a id="1640" class="Symbol">:</a> <a id="1642" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1646" href="Relation.Binary.Construct.Closure.Transitive.html#691" class="Generalizable">A</a> <a id="1648" href="Relation.Binary.Construct.Closure.Transitive.html#671" class="Generalizable">ℓ</a><a id="1649" class="Symbol">)</a> <a id="1651" class="Keyword">where</a>
|
|||
|
<a id="1659" class="Keyword">private</a>
|
|||
|
<a id="1671" href="Relation.Binary.Construct.Closure.Transitive.html#1671" class="Function Operator">_∼⁺_</a> <a id="1676" class="Symbol">=</a> <a id="1678" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a> <a id="1691" href="Relation.Binary.Construct.Closure.Transitive.html#1636" class="Bound Operator">_∼_</a>
|
|||
|
<a id="1699" class="Keyword">module</a> <a id="1706" href="Relation.Binary.Construct.Closure.Transitive.html#1706" class="Module">∼⊆∼⁺</a> <a id="1711" class="Symbol">=</a> <a id="1713" href="Induction.WellFounded.html#4959" class="Module">Subrelation</a> <a id="1725" class="Symbol">{</a><a id="1726" class="Argument">_<₂_</a> <a id="1731" class="Symbol">=</a> <a id="1733" href="Relation.Binary.Construct.Closure.Transitive.html#1671" class="Function Operator">_∼⁺_</a><a id="1737" class="Symbol">}</a> <a id="1739" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[_]</a>
|
|||
|
|
|||
|
<a id="1746" href="Relation.Binary.Construct.Closure.Transitive.html#1746" class="Function">reflexive</a> <a id="1756" class="Symbol">:</a> <a id="1758" href="Relation.Binary.Definitions.html#1428" class="Function">Reflexive</a> <a id="1768" href="Relation.Binary.Construct.Closure.Transitive.html#1636" class="Bound Operator">_∼_</a> <a id="1772" class="Symbol">→</a> <a id="1774" href="Relation.Binary.Definitions.html#1428" class="Function">Reflexive</a> <a id="1784" href="Relation.Binary.Construct.Closure.Transitive.html#1671" class="Function Operator">_∼⁺_</a>
|
|||
|
<a id="1791" href="Relation.Binary.Construct.Closure.Transitive.html#1746" class="Function">reflexive</a> <a id="1801" href="Relation.Binary.Construct.Closure.Transitive.html#1801" class="Bound">refl</a> <a id="1806" class="Symbol">=</a> <a id="1808" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[</a> <a id="1810" href="Relation.Binary.Construct.Closure.Transitive.html#1801" class="Bound">refl</a> <a id="1815" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">]</a>
|
|||
|
|
|||
|
<a id="1820" href="Relation.Binary.Construct.Closure.Transitive.html#1820" class="Function">symmetric</a> <a id="1830" class="Symbol">:</a> <a id="1832" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="1842" href="Relation.Binary.Construct.Closure.Transitive.html#1636" class="Bound Operator">_∼_</a> <a id="1846" class="Symbol">→</a> <a id="1848" href="Relation.Binary.Definitions.html#1587" class="Function">Symmetric</a> <a id="1858" href="Relation.Binary.Construct.Closure.Transitive.html#1671" class="Function Operator">_∼⁺_</a>
|
|||
|
<a id="1865" href="Relation.Binary.Construct.Closure.Transitive.html#1820" class="Function">symmetric</a> <a id="1875" href="Relation.Binary.Construct.Closure.Transitive.html#1875" class="Bound">sym</a> <a id="1879" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[</a> <a id="1881" href="Relation.Binary.Construct.Closure.Transitive.html#1881" class="Bound">x∼y</a> <a id="1885" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">]</a> <a id="1892" class="Symbol">=</a> <a id="1894" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[</a> <a id="1896" href="Relation.Binary.Construct.Closure.Transitive.html#1875" class="Bound">sym</a> <a id="1900" href="Relation.Binary.Construct.Closure.Transitive.html#1881" class="Bound">x∼y</a> <a id="1904" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">]</a>
|
|||
|
<a id="1908" href="Relation.Binary.Construct.Closure.Transitive.html#1820" class="Function">symmetric</a> <a id="1918" href="Relation.Binary.Construct.Closure.Transitive.html#1918" class="Bound">sym</a> <a id="1922" class="Symbol">(</a><a id="1923" href="Relation.Binary.Construct.Closure.Transitive.html#1923" class="Bound">x∼y</a> <a id="1927" href="Relation.Binary.Construct.Closure.Transitive.html#951" class="InductiveConstructor Operator">∷</a> <a id="1929" href="Relation.Binary.Construct.Closure.Transitive.html#1929" class="Bound">y∼⁺z</a><a id="1933" class="Symbol">)</a> <a id="1935" class="Symbol">=</a> <a id="1937" href="Relation.Binary.Construct.Closure.Transitive.html#1820" class="Function">symmetric</a> <a id="1947" href="Relation.Binary.Construct.Closure.Transitive.html#1918" class="Bound">sym</a> <a id="1951" href="Relation.Binary.Construct.Closure.Transitive.html#1929" class="Bound">y∼⁺z</a> <a id="1956" href="Relation.Binary.Construct.Closure.Transitive.html#1252" class="Function Operator">∷ʳ</a> <a id="1959" href="Relation.Binary.Construct.Closure.Transitive.html#1918" class="Bound">sym</a> <a id="1963" href="Relation.Binary.Construct.Closure.Transitive.html#1923" class="Bound">x∼y</a>
|
|||
|
|
|||
|
<a id="1970" href="Relation.Binary.Construct.Closure.Transitive.html#1970" class="Function">transitive</a> <a id="1981" class="Symbol">:</a> <a id="1983" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a> <a id="1994" href="Relation.Binary.Construct.Closure.Transitive.html#1671" class="Function Operator">_∼⁺_</a>
|
|||
|
<a id="2001" href="Relation.Binary.Construct.Closure.Transitive.html#1970" class="Function">transitive</a> <a id="2012" class="Symbol">=</a> <a id="2014" href="Relation.Binary.Construct.Closure.Transitive.html#1411" class="Function Operator">_++_</a>
|
|||
|
|
|||
|
<a id="2022" href="Relation.Binary.Construct.Closure.Transitive.html#2022" class="Function">accessible⁻</a> <a id="2034" class="Symbol">:</a> <a id="2036" class="Symbol">∀</a> <a id="2038" class="Symbol">{</a><a id="2039" href="Relation.Binary.Construct.Closure.Transitive.html#2039" class="Bound">x</a><a id="2040" class="Symbol">}</a> <a id="2042" class="Symbol">→</a> <a id="2044" href="Induction.WellFounded.html#1356" class="Datatype">Acc</a> <a id="2048" href="Relation.Binary.Construct.Closure.Transitive.html#1671" class="Function Operator">_∼⁺_</a> <a id="2053" href="Relation.Binary.Construct.Closure.Transitive.html#2039" class="Bound">x</a> <a id="2055" class="Symbol">→</a> <a id="2057" href="Induction.WellFounded.html#1356" class="Datatype">Acc</a> <a id="2061" href="Relation.Binary.Construct.Closure.Transitive.html#1636" class="Bound Operator">_∼_</a> <a id="2065" href="Relation.Binary.Construct.Closure.Transitive.html#2039" class="Bound">x</a>
|
|||
|
<a id="2069" href="Relation.Binary.Construct.Closure.Transitive.html#2022" class="Function">accessible⁻</a> <a id="2081" class="Symbol">=</a> <a id="2083" href="Induction.WellFounded.html#5071" class="Function">∼⊆∼⁺.accessible</a>
|
|||
|
|
|||
|
<a id="2102" href="Relation.Binary.Construct.Closure.Transitive.html#2102" class="Function">wellFounded⁻</a> <a id="2115" class="Symbol">:</a> <a id="2117" href="Induction.WellFounded.html#1604" class="Function">WellFounded</a> <a id="2129" href="Relation.Binary.Construct.Closure.Transitive.html#1671" class="Function Operator">_∼⁺_</a> <a id="2134" class="Symbol">→</a> <a id="2136" href="Induction.WellFounded.html#1604" class="Function">WellFounded</a> <a id="2148" href="Relation.Binary.Construct.Closure.Transitive.html#1636" class="Bound Operator">_∼_</a>
|
|||
|
<a id="2154" href="Relation.Binary.Construct.Closure.Transitive.html#2102" class="Function">wellFounded⁻</a> <a id="2167" class="Symbol">=</a> <a id="2169" href="Induction.WellFounded.html#5171" class="Function">∼⊆∼⁺.wellFounded</a>
|
|||
|
|
|||
|
<a id="2189" href="Relation.Binary.Construct.Closure.Transitive.html#2189" class="Function">accessible</a> <a id="2200" class="Symbol">:</a> <a id="2202" class="Symbol">∀</a> <a id="2204" class="Symbol">{</a><a id="2205" href="Relation.Binary.Construct.Closure.Transitive.html#2205" class="Bound">x</a><a id="2206" class="Symbol">}</a> <a id="2208" class="Symbol">→</a> <a id="2210" href="Induction.WellFounded.html#1356" class="Datatype">Acc</a> <a id="2214" href="Relation.Binary.Construct.Closure.Transitive.html#1636" class="Bound Operator">_∼_</a> <a id="2218" href="Relation.Binary.Construct.Closure.Transitive.html#2205" class="Bound">x</a> <a id="2220" class="Symbol">→</a> <a id="2222" href="Induction.WellFounded.html#1356" class="Datatype">Acc</a> <a id="2226" href="Relation.Binary.Construct.Closure.Transitive.html#1671" class="Function Operator">_∼⁺_</a> <a id="2231" href="Relation.Binary.Construct.Closure.Transitive.html#2205" class="Bound">x</a>
|
|||
|
<a id="2235" href="Relation.Binary.Construct.Closure.Transitive.html#2189" class="Function">accessible</a> <a id="2246" href="Relation.Binary.Construct.Closure.Transitive.html#2246" class="Bound">acc[x]</a> <a id="2253" class="Symbol">=</a> <a id="2255" href="Induction.WellFounded.html#1418" class="InductiveConstructor">acc</a> <a id="2259" class="Symbol">(</a><a id="2260" href="Relation.Binary.Construct.Closure.Transitive.html#2289" class="Function">wf-acc</a> <a id="2267" href="Relation.Binary.Construct.Closure.Transitive.html#2246" class="Bound">acc[x]</a><a id="2273" class="Symbol">)</a>
|
|||
|
<a id="2279" class="Keyword">where</a>
|
|||
|
<a id="2289" href="Relation.Binary.Construct.Closure.Transitive.html#2289" class="Function">wf-acc</a> <a id="2296" class="Symbol">:</a> <a id="2298" class="Symbol">∀</a> <a id="2300" class="Symbol">{</a><a id="2301" href="Relation.Binary.Construct.Closure.Transitive.html#2301" class="Bound">x</a><a id="2302" class="Symbol">}</a> <a id="2304" class="Symbol">→</a> <a id="2306" href="Induction.WellFounded.html#1356" class="Datatype">Acc</a> <a id="2310" href="Relation.Binary.Construct.Closure.Transitive.html#1636" class="Bound Operator">_∼_</a> <a id="2314" href="Relation.Binary.Construct.Closure.Transitive.html#2301" class="Bound">x</a> <a id="2316" class="Symbol">→</a> <a id="2318" href="Induction.WellFounded.html#1148" class="Function">WfRec</a> <a id="2324" href="Relation.Binary.Construct.Closure.Transitive.html#1671" class="Function Operator">_∼⁺_</a> <a id="2329" class="Symbol">(</a><a id="2330" href="Induction.WellFounded.html#1356" class="Datatype">Acc</a> <a id="2334" href="Relation.Binary.Construct.Closure.Transitive.html#1671" class="Function Operator">_∼⁺_</a><a id="2338" class="Symbol">)</a> <a id="2340" href="Relation.Binary.Construct.Closure.Transitive.html#2301" class="Bound">x</a>
|
|||
|
<a id="2346" href="Relation.Binary.Construct.Closure.Transitive.html#2289" class="Function">wf-acc</a> <a id="2353" class="Symbol">(</a><a id="2354" href="Induction.WellFounded.html#1418" class="InductiveConstructor">acc</a> <a id="2358" href="Relation.Binary.Construct.Closure.Transitive.html#2358" class="Bound">rec</a><a id="2361" class="Symbol">)</a> <a id="2363" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[</a> <a id="2365" href="Relation.Binary.Construct.Closure.Transitive.html#2365" class="Bound">y∼x</a> <a id="2369" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">]</a> <a id="2373" class="Symbol">=</a> <a id="2375" href="Induction.WellFounded.html#1418" class="InductiveConstructor">acc</a> <a id="2379" class="Symbol">(</a><a id="2380" href="Relation.Binary.Construct.Closure.Transitive.html#2289" class="Function">wf-acc</a> <a id="2387" class="Symbol">(</a><a id="2388" href="Relation.Binary.Construct.Closure.Transitive.html#2358" class="Bound">rec</a> <a id="2392" href="Relation.Binary.Construct.Closure.Transitive.html#2365" class="Bound">y∼x</a><a id="2395" class="Symbol">))</a>
|
|||
|
<a id="2402" href="Relation.Binary.Construct.Closure.Transitive.html#2289" class="CatchallClause Function">wf-acc</a><a id="2408" class="CatchallClause"> </a><a id="2409" href="Relation.Binary.Construct.Closure.Transitive.html#2409" class="CatchallClause Bound">acc[x]</a><a id="2415" class="CatchallClause"> </a><a id="2416" class="CatchallClause Symbol">(</a><a id="2417" href="Relation.Binary.Construct.Closure.Transitive.html#2417" class="CatchallClause Bound">y∼z</a><a id="2420" class="CatchallClause"> </a><a id="2421" href="Relation.Binary.Construct.Closure.Transitive.html#951" class="CatchallClause InductiveConstructor Operator">∷</a><a id="2422" class="CatchallClause"> </a><a id="2423" href="Relation.Binary.Construct.Closure.Transitive.html#2423" class="CatchallClause Bound">z∼⁺x</a><a id="2427" class="CatchallClause Symbol">)</a> <a id="2429" class="Symbol">=</a> <a id="2431" href="Induction.WellFounded.html#1763" class="Function">acc-inverse</a> <a id="2443" class="Symbol">(</a><a id="2444" href="Relation.Binary.Construct.Closure.Transitive.html#2289" class="Function">wf-acc</a> <a id="2451" href="Relation.Binary.Construct.Closure.Transitive.html#2409" class="Bound">acc[x]</a> <a id="2458" href="Relation.Binary.Construct.Closure.Transitive.html#2423" class="Bound">z∼⁺x</a><a id="2462" class="Symbol">)</a> <a id="2464" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[</a> <a id="2466" href="Relation.Binary.Construct.Closure.Transitive.html#2417" class="Bound">y∼z</a> <a id="2470" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">]</a>
|
|||
|
|
|||
|
<a id="2475" href="Relation.Binary.Construct.Closure.Transitive.html#2475" class="Function">wellFounded</a> <a id="2487" class="Symbol">:</a> <a id="2489" href="Induction.WellFounded.html#1604" class="Function">WellFounded</a> <a id="2501" href="Relation.Binary.Construct.Closure.Transitive.html#1636" class="Bound Operator">_∼_</a> <a id="2505" class="Symbol">→</a> <a id="2507" href="Induction.WellFounded.html#1604" class="Function">WellFounded</a> <a id="2519" href="Relation.Binary.Construct.Closure.Transitive.html#1671" class="Function Operator">_∼⁺_</a>
|
|||
|
<a id="2526" href="Relation.Binary.Construct.Closure.Transitive.html#2475" class="Function">wellFounded</a> <a id="2538" href="Relation.Binary.Construct.Closure.Transitive.html#2538" class="Bound">wf</a> <a id="2541" href="Relation.Binary.Construct.Closure.Transitive.html#2541" class="Bound">x</a> <a id="2543" class="Symbol">=</a> <a id="2545" href="Relation.Binary.Construct.Closure.Transitive.html#2189" class="Function">accessible</a> <a id="2556" class="Symbol">(</a><a id="2557" href="Relation.Binary.Construct.Closure.Transitive.html#2538" class="Bound">wf</a> <a id="2560" href="Relation.Binary.Construct.Closure.Transitive.html#2541" class="Bound">x</a><a id="2561" class="Symbol">)</a>
|
|||
|
|
|||
|
|
|||
|
<a id="2565" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="2638" class="Comment">-- Alternative definition of transitive closure</a>
|
|||
|
|
|||
|
<a id="2687" class="Keyword">infix</a> <a id="2693" class="Number">4</a> <a id="2695" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">Plus</a>
|
|||
|
|
|||
|
<a id="2701" class="Keyword">syntax</a> <a id="2708" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">Plus</a> <a id="2713" class="Bound">R</a> <a id="2715" class="Bound">x</a> <a id="2717" class="Bound">y</a> <a id="2719" class="Symbol">=</a> <a id="2721" class="Bound">x</a> <a id="2723" class="Datatype">[</a> <a id="2725" class="Bound">R</a> <a id="2727" class="Datatype">]⁺</a> <a id="2730" class="Bound">y</a>
|
|||
|
|
|||
|
<a id="2733" class="Keyword">data</a> <a id="Plus"></a><a id="2738" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">Plus</a> <a id="2743" class="Symbol">{</a><a id="2744" href="Relation.Binary.Construct.Closure.Transitive.html#2744" class="Bound">A</a> <a id="2746" class="Symbol">:</a> <a id="2748" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2752" href="Relation.Binary.Construct.Closure.Transitive.html#669" class="Generalizable">a</a><a id="2753" class="Symbol">}</a> <a id="2755" class="Symbol">(</a><a id="2756" href="Relation.Binary.Construct.Closure.Transitive.html#2756" class="Bound Operator">_∼_</a> <a id="2760" class="Symbol">:</a> <a id="2762" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2766" href="Relation.Binary.Construct.Closure.Transitive.html#2744" class="Bound">A</a> <a id="2768" href="Relation.Binary.Construct.Closure.Transitive.html#671" class="Generalizable">ℓ</a><a id="2769" class="Symbol">)</a> <a id="2771" class="Symbol">:</a> <a id="2773" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2777" href="Relation.Binary.Construct.Closure.Transitive.html#2744" class="Bound">A</a> <a id="2779" class="Symbol">(</a><a id="2780" href="Relation.Binary.Construct.Closure.Transitive.html#2752" class="Bound">a</a> <a id="2782" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2784" href="Relation.Binary.Construct.Closure.Transitive.html#2768" class="Bound">ℓ</a><a id="2785" class="Symbol">)</a> <a id="2787" class="Keyword">where</a>
|
|||
|
<a id="Plus.[_]"></a><a id="2795" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[_]</a> <a id="2803" class="Symbol">:</a> <a id="2805" class="Symbol">∀</a> <a id="2807" class="Symbol">{</a><a id="2808" href="Relation.Binary.Construct.Closure.Transitive.html#2808" class="Bound">x</a> <a id="2810" href="Relation.Binary.Construct.Closure.Transitive.html#2810" class="Bound">y</a><a id="2811" class="Symbol">}</a> <a id="2813" class="Symbol">(</a><a id="2814" href="Relation.Binary.Construct.Closure.Transitive.html#2814" class="Bound">x∼y</a> <a id="2818" class="Symbol">:</a> <a id="2820" href="Relation.Binary.Construct.Closure.Transitive.html#2808" class="Bound">x</a> <a id="2822" href="Relation.Binary.Construct.Closure.Transitive.html#2756" class="Bound Operator">∼</a> <a id="2824" href="Relation.Binary.Construct.Closure.Transitive.html#2810" class="Bound">y</a><a id="2825" class="Symbol">)</a> <a id="2827" class="Symbol">→</a> <a id="2829" href="Relation.Binary.Construct.Closure.Transitive.html#2808" class="Bound">x</a> <a id="2831" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="2833" href="Relation.Binary.Construct.Closure.Transitive.html#2756" class="Bound Operator">_∼_</a> <a id="2837" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2840" href="Relation.Binary.Construct.Closure.Transitive.html#2810" class="Bound">y</a>
|
|||
|
<a id="Plus._∼⁺⟨_⟩_"></a><a id="2844" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">_∼⁺⟨_⟩_</a> <a id="2852" class="Symbol">:</a> <a id="2854" class="Symbol">∀</a> <a id="2856" href="Relation.Binary.Construct.Closure.Transitive.html#2856" class="Bound">x</a> <a id="2858" class="Symbol">{</a><a id="2859" href="Relation.Binary.Construct.Closure.Transitive.html#2859" class="Bound">y</a> <a id="2861" href="Relation.Binary.Construct.Closure.Transitive.html#2861" class="Bound">z</a><a id="2862" class="Symbol">}</a> <a id="2864" class="Symbol">(</a><a id="2865" href="Relation.Binary.Construct.Closure.Transitive.html#2865" class="Bound">x∼⁺y</a> <a id="2870" class="Symbol">:</a> <a id="2872" href="Relation.Binary.Construct.Closure.Transitive.html#2856" class="Bound">x</a> <a id="2874" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="2876" href="Relation.Binary.Construct.Closure.Transitive.html#2756" class="Bound Operator">_∼_</a> <a id="2880" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2883" href="Relation.Binary.Construct.Closure.Transitive.html#2859" class="Bound">y</a><a id="2884" class="Symbol">)</a> <a id="2886" class="Symbol">(</a><a id="2887" href="Relation.Binary.Construct.Closure.Transitive.html#2887" class="Bound">y∼⁺z</a> <a id="2892" class="Symbol">:</a> <a id="2894" href="Relation.Binary.Construct.Closure.Transitive.html#2859" class="Bound">y</a> <a id="2896" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="2898" href="Relation.Binary.Construct.Closure.Transitive.html#2756" class="Bound Operator">_∼_</a> <a id="2902" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2905" href="Relation.Binary.Construct.Closure.Transitive.html#2861" class="Bound">z</a><a id="2906" class="Symbol">)</a> <a id="2908" class="Symbol">→</a>
|
|||
|
<a id="2922" href="Relation.Binary.Construct.Closure.Transitive.html#2856" class="Bound">x</a> <a id="2924" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="2926" href="Relation.Binary.Construct.Closure.Transitive.html#2756" class="Bound Operator">_∼_</a> <a id="2930" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2933" href="Relation.Binary.Construct.Closure.Transitive.html#2861" class="Bound">z</a>
|
|||
|
|
|||
|
<a id="2936" class="Keyword">module</a> <a id="2943" href="Relation.Binary.Construct.Closure.Transitive.html#2943" class="Module">_</a> <a id="2945" class="Symbol">{</a><a id="2946" href="Relation.Binary.Construct.Closure.Transitive.html#2946" class="Bound Operator">_∼_</a> <a id="2950" class="Symbol">:</a> <a id="2952" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2956" href="Relation.Binary.Construct.Closure.Transitive.html#691" class="Generalizable">A</a> <a id="2958" href="Relation.Binary.Construct.Closure.Transitive.html#671" class="Generalizable">ℓ</a><a id="2959" class="Symbol">}</a> <a id="2961" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="2969" href="Relation.Binary.Construct.Closure.Transitive.html#2969" class="Function">[]-injective</a> <a id="2982" class="Symbol">:</a> <a id="2984" class="Symbol">∀</a> <a id="2986" class="Symbol">{</a><a id="2987" href="Relation.Binary.Construct.Closure.Transitive.html#2987" class="Bound">x</a> <a id="2989" href="Relation.Binary.Construct.Closure.Transitive.html#2989" class="Bound">y</a> <a id="2991" href="Relation.Binary.Construct.Closure.Transitive.html#2991" class="Bound">p</a> <a id="2993" href="Relation.Binary.Construct.Closure.Transitive.html#2993" class="Bound">q</a><a id="2994" class="Symbol">}</a> <a id="2996" class="Symbol">→</a> <a id="2998" class="Symbol">(</a><a id="2999" href="Relation.Binary.Construct.Closure.Transitive.html#2987" class="Bound">x</a> <a id="3001" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="3003" href="Relation.Binary.Construct.Closure.Transitive.html#2946" class="Bound Operator">_∼_</a> <a id="3007" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="3010" href="Relation.Binary.Construct.Closure.Transitive.html#2989" class="Bound">y</a> <a id="3012" href="Function.Base.html#4486" class="Function Operator">∋</a> <a id="3014" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="3016" href="Relation.Binary.Construct.Closure.Transitive.html#2991" class="Bound">p</a> <a id="3018" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a><a id="3019" class="Symbol">)</a> <a id="3021" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="3023" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="3025" href="Relation.Binary.Construct.Closure.Transitive.html#2993" class="Bound">q</a> <a id="3027" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a> <a id="3029" class="Symbol">→</a> <a id="3031" href="Relation.Binary.Construct.Closure.Transitive.html#2991" class="Bound">p</a> <a id="3033" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="3035" href="Relation.Binary.Construct.Closure.Transitive.html#2993" class="Bound">q</a>
|
|||
|
<a id="3038" href="Relation.Binary.Construct.Closure.Transitive.html#2969" class="Function">[]-injective</a> <a id="3051" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">P.refl</a> <a id="3058" class="Symbol">=</a> <a id="3060" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">P.refl</a>
|
|||
|
|
|||
|
<a id="3069" class="Comment">-- See also ∼⁺⟨⟩-injectiveˡ and ∼⁺⟨⟩-injectiveʳ in</a>
|
|||
|
<a id="3121" class="Comment">-- Relation.Binary.Construct.Closure.Transitive.WithK.</a>
|
|||
|
|
|||
|
<a id="3177" class="Comment">-- "Equational" reasoning notation. Example:</a>
|
|||
|
<a id="3222" class="Comment">--</a>
|
|||
|
<a id="3225" class="Comment">-- lemma =</a>
|
|||
|
<a id="3238" class="Comment">-- x ∼⁺⟨ [ lemma₁ ] ⟩</a>
|
|||
|
<a id="3265" class="Comment">-- y ∼⁺⟨ lemma₂ ⟩∎</a>
|
|||
|
<a id="3289" class="Comment">-- z ∎</a>
|
|||
|
|
|||
|
<a id="finally"></a><a id="3302" href="Relation.Binary.Construct.Closure.Transitive.html#3302" class="Function">finally</a> <a id="3310" class="Symbol">:</a> <a id="3312" class="Symbol">∀</a> <a id="3314" class="Symbol">{</a><a id="3315" href="Relation.Binary.Construct.Closure.Transitive.html#3315" class="Bound Operator">_∼_</a> <a id="3319" class="Symbol">:</a> <a id="3321" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3325" href="Relation.Binary.Construct.Closure.Transitive.html#691" class="Generalizable">A</a> <a id="3327" href="Relation.Binary.Construct.Closure.Transitive.html#671" class="Generalizable">ℓ</a><a id="3328" class="Symbol">}</a> <a id="3330" href="Relation.Binary.Construct.Closure.Transitive.html#3330" class="Bound">x</a> <a id="3332" href="Relation.Binary.Construct.Closure.Transitive.html#3332" class="Bound">y</a> <a id="3334" class="Symbol">→</a> <a id="3336" href="Relation.Binary.Construct.Closure.Transitive.html#3330" class="Bound">x</a> <a id="3338" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="3340" href="Relation.Binary.Construct.Closure.Transitive.html#3315" class="Bound Operator">_∼_</a> <a id="3344" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="3347" href="Relation.Binary.Construct.Closure.Transitive.html#3332" class="Bound">y</a> <a id="3349" class="Symbol">→</a> <a id="3351" href="Relation.Binary.Construct.Closure.Transitive.html#3330" class="Bound">x</a> <a id="3353" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="3355" href="Relation.Binary.Construct.Closure.Transitive.html#3315" class="Bound Operator">_∼_</a> <a id="3359" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="3362" href="Relation.Binary.Construct.Closure.Transitive.html#3332" class="Bound">y</a>
|
|||
|
<a id="3364" href="Relation.Binary.Construct.Closure.Transitive.html#3302" class="Function">finally</a> <a id="3372" class="Symbol">_</a> <a id="3374" class="Symbol">_</a> <a id="3376" class="Symbol">=</a> <a id="3378" href="Function.Base.html#704" class="Function">id</a>
|
|||
|
|
|||
|
<a id="3382" class="Keyword">syntax</a> <a id="3389" href="Relation.Binary.Construct.Closure.Transitive.html#3302" class="Function">finally</a> <a id="3397" class="Bound">x</a> <a id="3399" class="Bound">y</a> <a id="3401" class="Bound">x∼⁺y</a> <a id="3406" class="Symbol">=</a> <a id="3408" class="Bound">x</a> <a id="3410" class="Function">∼⁺⟨</a> <a id="3414" class="Bound">x∼⁺y</a> <a id="3419" class="Function">⟩∎</a> <a id="3422" class="Bound">y</a> <a id="3424" class="Function">∎</a>
|
|||
|
|
|||
|
<a id="3427" class="Keyword">infixr</a> <a id="3434" class="Number">2</a> <a id="3436" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">_∼⁺⟨_⟩_</a>
|
|||
|
<a id="3444" class="Keyword">infix</a> <a id="3451" class="Number">3</a> <a id="3453" href="Relation.Binary.Construct.Closure.Transitive.html#3302" class="Function">finally</a>
|
|||
|
|
|||
|
<a id="3462" class="Comment">-- Map.</a>
|
|||
|
|
|||
|
<a id="map"></a><a id="3471" href="Relation.Binary.Construct.Closure.Transitive.html#3471" class="Function">map</a> <a id="3475" class="Symbol">:</a> <a id="3477" class="Symbol">{</a><a id="3478" href="Relation.Binary.Construct.Closure.Transitive.html#3478" class="Bound Operator">_R₁_</a> <a id="3483" class="Symbol">:</a> <a id="3485" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3489" href="Relation.Binary.Construct.Closure.Transitive.html#691" class="Generalizable">A</a> <a id="3491" href="Relation.Binary.Construct.Closure.Transitive.html#671" class="Generalizable">ℓ</a><a id="3492" class="Symbol">}</a> <a id="3494" class="Symbol">{</a><a id="3495" href="Relation.Binary.Construct.Closure.Transitive.html#3495" class="Bound Operator">_R₂_</a> <a id="3500" class="Symbol">:</a> <a id="3502" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3506" href="Relation.Binary.Construct.Closure.Transitive.html#693" class="Generalizable">B</a> <a id="3508" href="Relation.Binary.Construct.Closure.Transitive.html#676" class="Generalizable">ℓ₂</a><a id="3510" class="Symbol">}</a> <a id="3512" class="Symbol">{</a><a id="3513" href="Relation.Binary.Construct.Closure.Transitive.html#3513" class="Bound">f</a> <a id="3515" class="Symbol">:</a> <a id="3517" href="Relation.Binary.Construct.Closure.Transitive.html#691" class="Generalizable">A</a> <a id="3519" class="Symbol">→</a> <a id="3521" href="Relation.Binary.Construct.Closure.Transitive.html#693" class="Generalizable">B</a><a id="3522" class="Symbol">}</a> <a id="3524" class="Symbol">→</a>
|
|||
|
<a id="3532" href="Relation.Binary.Construct.Closure.Transitive.html#3478" class="Bound Operator">_R₁_</a> <a id="3537" href="Relation.Binary.Core.html#1474" class="Function Operator">=[</a> <a id="3540" href="Relation.Binary.Construct.Closure.Transitive.html#3513" class="Bound">f</a> <a id="3542" href="Relation.Binary.Core.html#1474" class="Function Operator">]⇒</a> <a id="3545" href="Relation.Binary.Construct.Closure.Transitive.html#3495" class="Bound Operator">_R₂_</a> <a id="3550" class="Symbol">→</a> <a id="3552" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">Plus</a> <a id="3557" href="Relation.Binary.Construct.Closure.Transitive.html#3478" class="Bound Operator">_R₁_</a> <a id="3562" href="Relation.Binary.Core.html#1474" class="Function Operator">=[</a> <a id="3565" href="Relation.Binary.Construct.Closure.Transitive.html#3513" class="Bound">f</a> <a id="3567" href="Relation.Binary.Core.html#1474" class="Function Operator">]⇒</a> <a id="3570" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">Plus</a> <a id="3575" href="Relation.Binary.Construct.Closure.Transitive.html#3495" class="Bound Operator">_R₂_</a>
|
|||
|
<a id="3580" href="Relation.Binary.Construct.Closure.Transitive.html#3471" class="Function">map</a> <a id="3584" href="Relation.Binary.Construct.Closure.Transitive.html#3584" class="Bound">R₁⇒R₂</a> <a id="3590" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="3592" href="Relation.Binary.Construct.Closure.Transitive.html#3592" class="Bound">xRy</a> <a id="3596" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a> <a id="3610" class="Symbol">=</a> <a id="3612" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="3614" href="Relation.Binary.Construct.Closure.Transitive.html#3584" class="Bound">R₁⇒R₂</a> <a id="3620" href="Relation.Binary.Construct.Closure.Transitive.html#3592" class="Bound">xRy</a> <a id="3624" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a>
|
|||
|
<a id="3626" href="Relation.Binary.Construct.Closure.Transitive.html#3471" class="Function">map</a> <a id="3630" href="Relation.Binary.Construct.Closure.Transitive.html#3630" class="Bound">R₁⇒R₂</a> <a id="3636" class="Symbol">(</a><a id="3637" href="Relation.Binary.Construct.Closure.Transitive.html#3637" class="Bound">x</a> <a id="3639" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="3643" href="Relation.Binary.Construct.Closure.Transitive.html#3643" class="Bound">xR⁺z</a> <a id="3648" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="3650" href="Relation.Binary.Construct.Closure.Transitive.html#3650" class="Bound">zR⁺y</a><a id="3654" class="Symbol">)</a> <a id="3656" class="Symbol">=</a>
|
|||
|
<a id="3660" class="Symbol">_</a> <a id="3662" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="3666" href="Relation.Binary.Construct.Closure.Transitive.html#3471" class="Function">map</a> <a id="3670" href="Relation.Binary.Construct.Closure.Transitive.html#3630" class="Bound">R₁⇒R₂</a> <a id="3676" href="Relation.Binary.Construct.Closure.Transitive.html#3643" class="Bound">xR⁺z</a> <a id="3681" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="3683" href="Relation.Binary.Construct.Closure.Transitive.html#3471" class="Function">map</a> <a id="3687" href="Relation.Binary.Construct.Closure.Transitive.html#3630" class="Bound">R₁⇒R₂</a> <a id="3693" href="Relation.Binary.Construct.Closure.Transitive.html#3650" class="Bound">zR⁺y</a>
|
|||
|
|
|||
|
<a id="3699" class="Comment">-- Plus and TransClosure are equivalent.</a>
|
|||
|
<a id="equivalent"></a><a id="3740" href="Relation.Binary.Construct.Closure.Transitive.html#3740" class="Function">equivalent</a> <a id="3751" class="Symbol">:</a> <a id="3753" class="Symbol">∀</a> <a id="3755" class="Symbol">{</a><a id="3756" href="Relation.Binary.Construct.Closure.Transitive.html#3756" class="Bound Operator">_∼_</a> <a id="3760" class="Symbol">:</a> <a id="3762" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3766" href="Relation.Binary.Construct.Closure.Transitive.html#691" class="Generalizable">A</a> <a id="3768" href="Relation.Binary.Construct.Closure.Transitive.html#671" class="Generalizable">ℓ</a><a id="3769" class="Symbol">}</a> <a id="3771" class="Symbol">{</a><a id="3772" href="Relation.Binary.Construct.Closure.Transitive.html#3772" class="Bound">x</a> <a id="3774" href="Relation.Binary.Construct.Closure.Transitive.html#3774" class="Bound">y</a><a id="3775" class="Symbol">}</a> <a id="3777" class="Symbol">→</a>
|
|||
|
<a id="3792" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">Plus</a> <a id="3797" href="Relation.Binary.Construct.Closure.Transitive.html#3756" class="Bound Operator">_∼_</a> <a id="3801" href="Relation.Binary.Construct.Closure.Transitive.html#3772" class="Bound">x</a> <a id="3803" href="Relation.Binary.Construct.Closure.Transitive.html#3774" class="Bound">y</a> <a id="3805" href="Function.Bundles.html#12039" class="Function Operator">⇔</a> <a id="3807" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a> <a id="3820" href="Relation.Binary.Construct.Closure.Transitive.html#3756" class="Bound Operator">_∼_</a> <a id="3824" href="Relation.Binary.Construct.Closure.Transitive.html#3772" class="Bound">x</a> <a id="3826" href="Relation.Binary.Construct.Closure.Transitive.html#3774" class="Bound">y</a>
|
|||
|
<a id="3828" href="Relation.Binary.Construct.Closure.Transitive.html#3740" class="Function">equivalent</a> <a id="3839" class="Symbol">{</a><a id="3840" class="Argument">_∼_</a> <a id="3844" class="Symbol">=</a> <a id="3846" href="Relation.Binary.Construct.Closure.Transitive.html#3846" class="Bound Operator">_∼_</a><a id="3849" class="Symbol">}</a> <a id="3851" class="Symbol">=</a> <a id="3853" href="Function.Bundles.html#13138" class="Function">mk⇔</a> <a id="3857" href="Relation.Binary.Construct.Closure.Transitive.html#3882" class="Function">complete</a> <a id="3866" href="Relation.Binary.Construct.Closure.Transitive.html#4029" class="Function">sound</a>
|
|||
|
<a id="3874" class="Keyword">where</a>
|
|||
|
<a id="3882" href="Relation.Binary.Construct.Closure.Transitive.html#3882" class="Function">complete</a> <a id="3891" class="Symbol">:</a> <a id="3893" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">Plus</a> <a id="3898" href="Relation.Binary.Construct.Closure.Transitive.html#3846" class="Bound Operator">_∼_</a> <a id="3902" href="Relation.Binary.Core.html#1268" class="Function Operator">⇒</a> <a id="3904" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a> <a id="3917" href="Relation.Binary.Construct.Closure.Transitive.html#3846" class="Bound Operator">_∼_</a>
|
|||
|
<a id="3923" href="Relation.Binary.Construct.Closure.Transitive.html#3882" class="Function">complete</a> <a id="3932" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="3934" href="Relation.Binary.Construct.Closure.Transitive.html#3934" class="Bound">x∼y</a> <a id="3938" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a> <a id="3952" class="Symbol">=</a> <a id="3954" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[</a> <a id="3956" href="Relation.Binary.Construct.Closure.Transitive.html#3934" class="Bound">x∼y</a> <a id="3960" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">]</a>
|
|||
|
<a id="3964" href="Relation.Binary.Construct.Closure.Transitive.html#3882" class="Function">complete</a> <a id="3973" class="Symbol">(</a><a id="3974" href="Relation.Binary.Construct.Closure.Transitive.html#3974" class="Bound">x</a> <a id="3976" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="3980" href="Relation.Binary.Construct.Closure.Transitive.html#3980" class="Bound">x∼⁺y</a> <a id="3985" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="3987" href="Relation.Binary.Construct.Closure.Transitive.html#3987" class="Bound">y∼⁺z</a><a id="3991" class="Symbol">)</a> <a id="3993" class="Symbol">=</a> <a id="3995" href="Relation.Binary.Construct.Closure.Transitive.html#3882" class="Function">complete</a> <a id="4004" href="Relation.Binary.Construct.Closure.Transitive.html#3980" class="Bound">x∼⁺y</a> <a id="4009" href="Relation.Binary.Construct.Closure.Transitive.html#1411" class="Function Operator">++</a> <a id="4012" href="Relation.Binary.Construct.Closure.Transitive.html#3882" class="Function">complete</a> <a id="4021" href="Relation.Binary.Construct.Closure.Transitive.html#3987" class="Bound">y∼⁺z</a>
|
|||
|
|
|||
|
<a id="4029" href="Relation.Binary.Construct.Closure.Transitive.html#4029" class="Function">sound</a> <a id="4035" class="Symbol">:</a> <a id="4037" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a> <a id="4050" href="Relation.Binary.Construct.Closure.Transitive.html#3846" class="Bound Operator">_∼_</a> <a id="4054" href="Relation.Binary.Core.html#1268" class="Function Operator">⇒</a> <a id="4056" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">Plus</a> <a id="4061" href="Relation.Binary.Construct.Closure.Transitive.html#3846" class="Bound Operator">_∼_</a>
|
|||
|
<a id="4067" href="Relation.Binary.Construct.Closure.Transitive.html#4029" class="Function">sound</a> <a id="4073" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">[</a> <a id="4075" href="Relation.Binary.Construct.Closure.Transitive.html#4075" class="Bound">x∼y</a> <a id="4079" href="Relation.Binary.Construct.Closure.Transitive.html#898" class="InductiveConstructor Operator">]</a> <a id="4086" class="Symbol">=</a> <a id="4088" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="4090" href="Relation.Binary.Construct.Closure.Transitive.html#4075" class="Bound">x∼y</a> <a id="4094" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a>
|
|||
|
<a id="4098" href="Relation.Binary.Construct.Closure.Transitive.html#4029" class="Function">sound</a> <a id="4104" class="Symbol">(</a><a id="4105" href="Relation.Binary.Construct.Closure.Transitive.html#4105" class="Bound">x∼y</a> <a id="4109" href="Relation.Binary.Construct.Closure.Transitive.html#951" class="InductiveConstructor Operator">∷</a> <a id="4111" href="Relation.Binary.Construct.Closure.Transitive.html#4111" class="Bound">y∼⁺z</a><a id="4115" class="Symbol">)</a> <a id="4117" class="Symbol">=</a> <a id="4119" class="Symbol">_</a> <a id="4121" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="4125" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="4127" href="Relation.Binary.Construct.Closure.Transitive.html#4105" class="Bound">x∼y</a> <a id="4131" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a> <a id="4133" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="4135" href="Relation.Binary.Construct.Closure.Transitive.html#4029" class="Function">sound</a> <a id="4141" href="Relation.Binary.Construct.Closure.Transitive.html#4111" class="Bound">y∼⁺z</a>
|
|||
|
|
|||
|
<a id="4147" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="4220" class="Comment">-- Deprecations</a>
|
|||
|
<a id="4236" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="4309" class="Comment">-- Please use the new names as continuing support for the old names is</a>
|
|||
|
<a id="4380" class="Comment">-- not guaranteed.</a>
|
|||
|
|
|||
|
<a id="4400" class="Comment">-- v1.5</a>
|
|||
|
|
|||
|
<a id="Plus′"></a><a id="4409" href="Relation.Binary.Construct.Closure.Transitive.html#4409" class="Function">Plus′</a> <a id="4415" class="Symbol">=</a> <a id="4417" href="Relation.Binary.Construct.Closure.Transitive.html#833" class="Datatype">TransClosure</a>
|
|||
|
<a id="4430" class="Symbol">{-#</a> <a id="4434" class="Keyword">WARNING_ON_USAGE</a> <a id="4451" class="Pragma">Plus′</a>
|
|||
|
<a id="4457" class="String">"Warning: Plus′ was deprecated in v1.5.
|
|||
|
Please use TransClosure instead."</a>
|
|||
|
<a id="4531" class="Symbol">#-}</a>
|
|||
|
</pre></body></html>
|