bsc-leon-vatthauer/agda/bsc-thesis/Relation.Unary.html
2024-02-09 17:53:52 +01:00

311 lines
No EOL
92 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Relation.Unary</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">-- Unary relations</a>
<a id="125" class="Comment">------------------------------------------------------------------------</a>
<a id="199" class="Symbol">{-#</a> <a id="203" class="Keyword">OPTIONS</a> <a id="211" class="Pragma">--cubical-compatible</a> <a id="232" class="Pragma">--safe</a> <a id="239" class="Symbol">#-}</a>
<a id="244" class="Keyword">module</a> <a id="251" href="Relation.Unary.html" class="Module">Relation.Unary</a> <a id="266" class="Keyword">where</a>
<a id="273" class="Keyword">open</a> <a id="278" class="Keyword">import</a> <a id="285" href="Data.Empty.html" class="Module">Data.Empty</a> <a id="296" class="Keyword">using</a> <a id="302" class="Symbol">(</a><a id="303" href="Data.Empty.html#895" class="Function"></a><a id="304" class="Symbol">)</a>
<a id="306" class="Keyword">open</a> <a id="311" class="Keyword">import</a> <a id="318" href="Data.Unit.Base.html" class="Module">Data.Unit.Base</a> <a id="333" class="Keyword">using</a> <a id="339" class="Symbol">(</a><a id="340" href="Agda.Builtin.Unit.html#175" class="Record"></a><a id="341" class="Symbol">)</a>
<a id="343" class="Keyword">open</a> <a id="348" class="Keyword">import</a> <a id="355" href="Data.Product.Base.html" class="Module">Data.Product.Base</a> <a id="373" class="Keyword">using</a> <a id="379" class="Symbol">(</a><a id="380" href="Data.Product.Base.html#1618" class="Function Operator">_×_</a><a id="383" class="Symbol">;</a> <a id="385" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="388" class="Symbol">;</a> <a id="390" href="Data.Product.Base.html#1244" class="Function">Σ-syntax</a><a id="398" class="Symbol">;</a> <a id="400" href="Data.Product.Base.html#852" class="Function"></a><a id="401" class="Symbol">;</a> <a id="403" href="Data.Product.Base.html#3109" class="Function">uncurry</a><a id="410" class="Symbol">;</a> <a id="412" href="Data.Product.Base.html#5054" class="Function">swap</a><a id="416" class="Symbol">)</a>
<a id="418" class="Keyword">open</a> <a id="423" class="Keyword">import</a> <a id="430" href="Data.Sum.Base.html" class="Module">Data.Sum.Base</a> <a id="444" class="Keyword">using</a> <a id="450" class="Symbol">(</a><a id="451" href="Data.Sum.Base.html#625" class="Datatype Operator">_⊎_</a><a id="454" class="Symbol">;</a> <a id="456" href="Data.Sum.Base.html#811" class="Function Operator">[_,_]</a><a id="461" class="Symbol">)</a>
<a id="463" class="Keyword">open</a> <a id="468" class="Keyword">import</a> <a id="475" href="Function.Base.html" class="Module">Function.Base</a> <a id="489" class="Keyword">using</a> <a id="495" class="Symbol">(</a><a id="496" href="Function.Base.html#1115" class="Function Operator">_∘_</a><a id="499" class="Symbol">;</a> <a id="501" href="Function.Base.html#2127" class="Function Operator">_|&gt;_</a><a id="505" class="Symbol">)</a>
<a id="507" class="Keyword">open</a> <a id="512" class="Keyword">import</a> <a id="519" href="Level.html" class="Module">Level</a> <a id="525" class="Keyword">using</a> <a id="531" class="Symbol">(</a><a id="532" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="537" class="Symbol">;</a> <a id="539" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a><a id="542" class="Symbol">;</a> <a id="544" href="Level.html#521" class="Function">0</a><a id="546" class="Symbol">;</a> <a id="548" href="Agda.Primitive.html#931" class="Primitive">suc</a><a id="551" class="Symbol">;</a> <a id="553" href="Level.html#409" class="Record">Lift</a><a id="557" class="Symbol">)</a>
<a id="559" class="Keyword">open</a> <a id="564" class="Keyword">import</a> <a id="571" href="Relation.Nullary.Decidable.Core.html" class="Module">Relation.Nullary.Decidable.Core</a> <a id="603" class="Keyword">using</a> <a id="609" class="Symbol">(</a><a id="610" href="Relation.Nullary.Decidable.Core.html#1485" class="Record">Dec</a><a id="613" class="Symbol">;</a> <a id="615" href="Relation.Nullary.Decidable.Core.html#3468" class="Function">True</a><a id="619" class="Symbol">)</a>
<a id="621" class="Keyword">open</a> <a id="626" class="Keyword">import</a> <a id="633" href="Relation.Nullary.Negation.Core.html" class="Module">Relation.Nullary.Negation.Core</a> <a id="664" class="Keyword">using</a> <a id="670" class="Symbol">(</a><a id="671" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬_</a><a id="673" class="Symbol">)</a>
<a id="675" class="Keyword">open</a> <a id="680" class="Keyword">import</a> <a id="687" href="Relation.Binary.PropositionalEquality.Core.html" class="Module">Relation.Binary.PropositionalEquality.Core</a> <a id="730" class="Keyword">using</a> <a id="736" class="Symbol">(</a><a id="737" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a><a id="740" class="Symbol">)</a>
<a id="743" class="Keyword">private</a>
<a id="753" class="Keyword">variable</a>
<a id="766" href="Relation.Unary.html#766" class="Generalizable">a</a> <a id="768" href="Relation.Unary.html#768" class="Generalizable">b</a> <a id="770" href="Relation.Unary.html#770" class="Generalizable">c</a> <a id="772" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="774" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="777" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="780" class="Symbol">:</a> <a id="782" href="Agda.Primitive.html#742" class="Postulate">Level</a>
<a id="792" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="794" class="Symbol">:</a> <a id="796" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="800" href="Relation.Unary.html#766" class="Generalizable">a</a>
<a id="806" href="Relation.Unary.html#806" class="Generalizable">B</a> <a id="808" class="Symbol">:</a> <a id="810" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="814" href="Relation.Unary.html#768" class="Generalizable">b</a>
<a id="820" href="Relation.Unary.html#820" class="Generalizable">C</a> <a id="822" class="Symbol">:</a> <a id="824" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="828" href="Relation.Unary.html#770" class="Generalizable">c</a>
<a id="831" class="Comment">------------------------------------------------------------------------</a>
<a id="904" class="Comment">-- Definition</a>
<a id="919" class="Comment">-- Unary relations are known as predicates and `Pred A ` can be viewed</a>
<a id="991" class="Comment">-- as some property that elements of type A might satisfy.</a>
<a id="1051" class="Comment">-- Consequently `P : Pred A ` can also be seen as a subset of A</a>
<a id="1116" class="Comment">-- containing all the elements of A that satisfy property P. This view</a>
<a id="1187" class="Comment">-- informs much of the notation used below.</a>
<a id="Pred"></a><a id="1232" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1237" class="Symbol">:</a> <a id="1239" class="Symbol"></a> <a id="1241" class="Symbol">{</a><a id="1242" href="Relation.Unary.html#1242" class="Bound">a</a><a id="1243" class="Symbol">}</a> <a id="1245" class="Symbol"></a> <a id="1247" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1251" href="Relation.Unary.html#1242" class="Bound">a</a> <a id="1253" class="Symbol"></a> <a id="1255" class="Symbol">(</a><a id="1256" href="Relation.Unary.html#1256" class="Bound"></a> <a id="1258" class="Symbol">:</a> <a id="1260" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="1265" class="Symbol">)</a> <a id="1267" class="Symbol"></a> <a id="1269" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1273" class="Symbol">(</a><a id="1274" href="Relation.Unary.html#1242" class="Bound">a</a> <a id="1276" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1278" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="1282" href="Relation.Unary.html#1256" class="Bound"></a><a id="1283" class="Symbol">)</a>
<a id="1285" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1290" href="Relation.Unary.html#1290" class="Bound">A</a> <a id="1292" href="Relation.Unary.html#1292" class="Bound"></a> <a id="1294" class="Symbol">=</a> <a id="1296" href="Relation.Unary.html#1290" class="Bound">A</a> <a id="1298" class="Symbol"></a> <a id="1300" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1304" href="Relation.Unary.html#1292" class="Bound"></a>
<a id="1307" class="Comment">------------------------------------------------------------------------</a>
<a id="1380" class="Comment">-- Special sets</a>
<a id="1397" class="Comment">-- The empty set.</a>
<a id="∅"></a><a id="1416" href="Relation.Unary.html#1416" class="Function"></a> <a id="1418" class="Symbol">:</a> <a id="1420" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1425" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1427" href="Level.html#521" class="Function">0</a>
<a id="1430" href="Relation.Unary.html#1416" class="Function"></a> <a id="1432" class="Symbol">=</a> <a id="1434" class="Symbol">λ</a> <a id="1436" href="Relation.Unary.html#1436" class="Bound">_</a> <a id="1438" class="Symbol"></a> <a id="1440" href="Data.Empty.html#895" class="Function"></a>
<a id="1443" class="Comment">-- The singleton set.</a>
<a id="_"></a><a id="1466" href="Relation.Unary.html#1466" class="Function Operator">_</a> <a id="1470" class="Symbol">:</a> <a id="1472" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1474" class="Symbol"></a> <a id="1476" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1481" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1483" class="Symbol">_</a>
<a id="1485" href="Relation.Unary.html#1466" class="Function Operator"></a> <a id="1487" href="Relation.Unary.html#1487" class="Bound">x</a> <a id="1489" href="Relation.Unary.html#1466" class="Function Operator"></a> <a id="1491" class="Symbol">=</a> <a id="1493" href="Relation.Unary.html#1487" class="Bound">x</a> <a id="1495" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡_</a>
<a id="1499" class="Comment">-- The universal set.</a>
<a id="U"></a><a id="1522" href="Relation.Unary.html#1522" class="Function">U</a> <a id="1524" class="Symbol">:</a> <a id="1526" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1531" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1533" href="Level.html#521" class="Function">0</a>
<a id="1536" href="Relation.Unary.html#1522" class="Function">U</a> <a id="1538" class="Symbol">=</a> <a id="1540" class="Symbol">λ</a> <a id="1542" href="Relation.Unary.html#1542" class="Bound">_</a> <a id="1544" class="Symbol"></a> <a id="1546" href="Agda.Builtin.Unit.html#175" class="Record"></a>
<a id="1549" class="Comment">------------------------------------------------------------------------</a>
<a id="1622" class="Comment">-- Membership</a>
<a id="1637" class="Keyword">infix</a> <a id="1643" class="Number">4</a> <a id="1645" href="Relation.Unary.html#1654" class="Function Operator">_∈_</a> <a id="1649" href="Relation.Unary.html#1694" class="Function Operator">_∉_</a>
<a id="_∈_"></a><a id="1654" href="Relation.Unary.html#1654" class="Function Operator">_∈_</a> <a id="1658" class="Symbol">:</a> <a id="1660" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1662" class="Symbol"></a> <a id="1664" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1669" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1671" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="1673" class="Symbol"></a> <a id="1675" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1679" class="Symbol">_</a>
<a id="1681" href="Relation.Unary.html#1681" class="Bound">x</a> <a id="1683" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="1685" href="Relation.Unary.html#1685" class="Bound">P</a> <a id="1687" class="Symbol">=</a> <a id="1689" href="Relation.Unary.html#1685" class="Bound">P</a> <a id="1691" href="Relation.Unary.html#1681" class="Bound">x</a>
<a id="_∉_"></a><a id="1694" href="Relation.Unary.html#1694" class="Function Operator">_∉_</a> <a id="1698" class="Symbol">:</a> <a id="1700" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1702" class="Symbol"></a> <a id="1704" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1709" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1711" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="1713" class="Symbol"></a> <a id="1715" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1719" class="Symbol">_</a>
<a id="1721" href="Relation.Unary.html#1721" class="Bound">x</a> <a id="1723" href="Relation.Unary.html#1694" class="Function Operator"></a> <a id="1725" href="Relation.Unary.html#1725" class="Bound">P</a> <a id="1727" class="Symbol">=</a> <a id="1729" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬</a> <a id="1731" href="Relation.Unary.html#1721" class="Bound">x</a> <a id="1733" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="1735" href="Relation.Unary.html#1725" class="Bound">P</a>
<a id="1738" class="Comment">------------------------------------------------------------------------</a>
<a id="1811" class="Comment">-- Subset relations</a>
<a id="1832" class="Keyword">infix</a> <a id="1838" class="Number">4</a> <a id="1840" href="Relation.Unary.html#1882" class="Function Operator">_⊆_</a> <a id="1844" href="Relation.Unary.html#1949" class="Function Operator">_⊇_</a> <a id="1848" href="Relation.Unary.html#2000" class="Function Operator">_⊈_</a> <a id="1852" href="Relation.Unary.html#2055" class="Function Operator">_⊉_</a> <a id="1856" href="Relation.Unary.html#2110" class="Function Operator">_⊂_</a> <a id="1860" href="Relation.Unary.html#2169" class="Function Operator">_⊃_</a> <a id="1864" href="Relation.Unary.html#2220" class="Function Operator">_⊄_</a> <a id="1868" href="Relation.Unary.html#2275" class="Function Operator">_⊅_</a> <a id="1872" href="Relation.Unary.html#2330" class="Function Operator">_≐_</a> <a id="1876" href="Relation.Unary.html#3009" class="Function Operator">_≐_</a>
<a id="_⊆_"></a><a id="1882" href="Relation.Unary.html#1882" class="Function Operator">_⊆_</a> <a id="1886" class="Symbol">:</a> <a id="1888" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1893" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1895" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="1898" class="Symbol"></a> <a id="1900" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1905" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1907" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="1910" class="Symbol"></a> <a id="1912" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1916" class="Symbol">_</a>
<a id="1918" href="Relation.Unary.html#1918" class="Bound">P</a> <a id="1920" href="Relation.Unary.html#1882" class="Function Operator"></a> <a id="1922" href="Relation.Unary.html#1922" class="Bound">Q</a> <a id="1924" class="Symbol">=</a> <a id="1926" class="Symbol"></a> <a id="1928" class="Symbol">{</a><a id="1929" href="Relation.Unary.html#1929" class="Bound">x</a><a id="1930" class="Symbol">}</a> <a id="1932" class="Symbol"></a> <a id="1934" href="Relation.Unary.html#1929" class="Bound">x</a> <a id="1936" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="1938" href="Relation.Unary.html#1918" class="Bound">P</a> <a id="1940" class="Symbol"></a> <a id="1942" href="Relation.Unary.html#1929" class="Bound">x</a> <a id="1944" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="1946" href="Relation.Unary.html#1922" class="Bound">Q</a>
<a id="_⊇_"></a><a id="1949" href="Relation.Unary.html#1949" class="Function Operator">_⊇_</a> <a id="1953" class="Symbol">:</a> <a id="1955" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1960" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1962" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="1965" class="Symbol"></a> <a id="1967" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="1972" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="1974" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="1977" class="Symbol"></a> <a id="1979" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1983" class="Symbol">_</a>
<a id="1985" href="Relation.Unary.html#1985" class="Bound">P</a> <a id="1987" href="Relation.Unary.html#1949" class="Function Operator"></a> <a id="1989" href="Relation.Unary.html#1989" class="Bound">Q</a> <a id="1991" class="Symbol">=</a> <a id="1993" href="Relation.Unary.html#1989" class="Bound">Q</a> <a id="1995" href="Relation.Unary.html#1882" class="Function Operator"></a> <a id="1997" href="Relation.Unary.html#1985" class="Bound">P</a>
<a id="_⊈_"></a><a id="2000" href="Relation.Unary.html#2000" class="Function Operator">_⊈_</a> <a id="2004" class="Symbol">:</a> <a id="2006" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2011" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2013" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2016" class="Symbol"></a> <a id="2018" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2023" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2025" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2028" class="Symbol"></a> <a id="2030" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2034" class="Symbol">_</a>
<a id="2036" href="Relation.Unary.html#2036" class="Bound">P</a> <a id="2038" href="Relation.Unary.html#2000" class="Function Operator"></a> <a id="2040" href="Relation.Unary.html#2040" class="Bound">Q</a> <a id="2042" class="Symbol">=</a> <a id="2044" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬</a> <a id="2046" class="Symbol">(</a><a id="2047" href="Relation.Unary.html#2036" class="Bound">P</a> <a id="2049" href="Relation.Unary.html#1882" class="Function Operator"></a> <a id="2051" href="Relation.Unary.html#2040" class="Bound">Q</a><a id="2052" class="Symbol">)</a>
<a id="_⊉_"></a><a id="2055" href="Relation.Unary.html#2055" class="Function Operator">_⊉_</a> <a id="2059" class="Symbol">:</a> <a id="2061" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2066" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2068" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2071" class="Symbol"></a> <a id="2073" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2078" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2080" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2083" class="Symbol"></a> <a id="2085" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2089" class="Symbol">_</a>
<a id="2091" href="Relation.Unary.html#2091" class="Bound">P</a> <a id="2093" href="Relation.Unary.html#2055" class="Function Operator"></a> <a id="2095" href="Relation.Unary.html#2095" class="Bound">Q</a> <a id="2097" class="Symbol">=</a> <a id="2099" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬</a> <a id="2101" class="Symbol">(</a><a id="2102" href="Relation.Unary.html#2091" class="Bound">P</a> <a id="2104" href="Relation.Unary.html#1949" class="Function Operator"></a> <a id="2106" href="Relation.Unary.html#2095" class="Bound">Q</a><a id="2107" class="Symbol">)</a>
<a id="_⊂_"></a><a id="2110" href="Relation.Unary.html#2110" class="Function Operator">_⊂_</a> <a id="2114" class="Symbol">:</a> <a id="2116" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2121" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2123" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2126" class="Symbol"></a> <a id="2128" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2133" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2135" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2138" class="Symbol"></a> <a id="2140" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2144" class="Symbol">_</a>
<a id="2146" href="Relation.Unary.html#2146" class="Bound">P</a> <a id="2148" href="Relation.Unary.html#2110" class="Function Operator"></a> <a id="2150" href="Relation.Unary.html#2150" class="Bound">Q</a> <a id="2152" class="Symbol">=</a> <a id="2154" href="Relation.Unary.html#2146" class="Bound">P</a> <a id="2156" href="Relation.Unary.html#1882" class="Function Operator"></a> <a id="2158" href="Relation.Unary.html#2150" class="Bound">Q</a> <a id="2160" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="2162" href="Relation.Unary.html#2150" class="Bound">Q</a> <a id="2164" href="Relation.Unary.html#2000" class="Function Operator"></a> <a id="2166" href="Relation.Unary.html#2146" class="Bound">P</a>
<a id="_⊃_"></a><a id="2169" href="Relation.Unary.html#2169" class="Function Operator">_⊃_</a> <a id="2173" class="Symbol">:</a> <a id="2175" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2180" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2182" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2185" class="Symbol"></a> <a id="2187" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2192" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2194" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2197" class="Symbol"></a> <a id="2199" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2203" class="Symbol">_</a>
<a id="2205" href="Relation.Unary.html#2205" class="Bound">P</a> <a id="2207" href="Relation.Unary.html#2169" class="Function Operator"></a> <a id="2209" href="Relation.Unary.html#2209" class="Bound">Q</a> <a id="2211" class="Symbol">=</a> <a id="2213" href="Relation.Unary.html#2209" class="Bound">Q</a> <a id="2215" href="Relation.Unary.html#2110" class="Function Operator"></a> <a id="2217" href="Relation.Unary.html#2205" class="Bound">P</a>
<a id="_⊄_"></a><a id="2220" href="Relation.Unary.html#2220" class="Function Operator">_⊄_</a> <a id="2224" class="Symbol">:</a> <a id="2226" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2231" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2233" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2236" class="Symbol"></a> <a id="2238" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2243" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2245" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2248" class="Symbol"></a> <a id="2250" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2254" class="Symbol">_</a>
<a id="2256" href="Relation.Unary.html#2256" class="Bound">P</a> <a id="2258" href="Relation.Unary.html#2220" class="Function Operator"></a> <a id="2260" href="Relation.Unary.html#2260" class="Bound">Q</a> <a id="2262" class="Symbol">=</a> <a id="2264" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬</a> <a id="2266" class="Symbol">(</a><a id="2267" href="Relation.Unary.html#2256" class="Bound">P</a> <a id="2269" href="Relation.Unary.html#2110" class="Function Operator"></a> <a id="2271" href="Relation.Unary.html#2260" class="Bound">Q</a><a id="2272" class="Symbol">)</a>
<a id="_⊅_"></a><a id="2275" href="Relation.Unary.html#2275" class="Function Operator">_⊅_</a> <a id="2279" class="Symbol">:</a> <a id="2281" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2286" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2288" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2291" class="Symbol"></a> <a id="2293" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2298" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2300" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2303" class="Symbol"></a> <a id="2305" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2309" class="Symbol">_</a>
<a id="2311" href="Relation.Unary.html#2311" class="Bound">P</a> <a id="2313" href="Relation.Unary.html#2275" class="Function Operator"></a> <a id="2315" href="Relation.Unary.html#2315" class="Bound">Q</a> <a id="2317" class="Symbol">=</a> <a id="2319" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬</a> <a id="2321" class="Symbol">(</a><a id="2322" href="Relation.Unary.html#2311" class="Bound">P</a> <a id="2324" href="Relation.Unary.html#2169" class="Function Operator"></a> <a id="2326" href="Relation.Unary.html#2315" class="Bound">Q</a><a id="2327" class="Symbol">)</a>
<a id="_≐_"></a><a id="2330" href="Relation.Unary.html#2330" class="Function Operator">_≐_</a> <a id="2334" class="Symbol">:</a> <a id="2336" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2341" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2343" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2346" class="Symbol"></a> <a id="2348" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2353" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2355" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2358" class="Symbol"></a> <a id="2360" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2364" class="Symbol">_</a>
<a id="2366" href="Relation.Unary.html#2366" class="Bound">P</a> <a id="2368" href="Relation.Unary.html#2330" class="Function Operator"></a> <a id="2370" href="Relation.Unary.html#2370" class="Bound">Q</a> <a id="2372" class="Symbol">=</a> <a id="2374" class="Symbol">(</a><a id="2375" href="Relation.Unary.html#2366" class="Bound">P</a> <a id="2377" href="Relation.Unary.html#1882" class="Function Operator"></a> <a id="2379" href="Relation.Unary.html#2370" class="Bound">Q</a><a id="2380" class="Symbol">)</a> <a id="2382" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="2384" class="Symbol">(</a><a id="2385" href="Relation.Unary.html#2370" class="Bound">Q</a> <a id="2387" href="Relation.Unary.html#1882" class="Function Operator"></a> <a id="2389" href="Relation.Unary.html#2366" class="Bound">P</a><a id="2390" class="Symbol">)</a>
<a id="2393" class="Comment">-- The following primed variants of _⊆_ can be used when &#39;x&#39; can&#39;t</a>
<a id="2460" class="Comment">-- be inferred from &#39;x ∈ P&#39;.</a>
<a id="2490" class="Keyword">infix</a> <a id="2496" class="Number">4</a> <a id="2498" href="Relation.Unary.html#2539" class="Function Operator">_⊆_</a> <a id="2503" href="Relation.Unary.html#2606" class="Function Operator">_⊇_</a> <a id="2508" href="Relation.Unary.html#2660" class="Function Operator">_⊈_</a> <a id="2513" href="Relation.Unary.html#2718" class="Function Operator">_⊉_</a> <a id="2518" href="Relation.Unary.html#2776" class="Function Operator">_⊂_</a> <a id="2523" href="Relation.Unary.html#2839" class="Function Operator">_⊃_</a> <a id="2528" href="Relation.Unary.html#2893" class="Function Operator">_⊄_</a> <a id="2533" href="Relation.Unary.html#2951" class="Function Operator">_⊅_</a>
<a id="_⊆_"></a><a id="2539" href="Relation.Unary.html#2539" class="Function Operator">_⊆_</a> <a id="2544" class="Symbol">:</a> <a id="2546" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2551" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2553" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2556" class="Symbol"></a> <a id="2558" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2563" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2565" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2568" class="Symbol"></a> <a id="2570" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2574" class="Symbol">_</a>
<a id="2576" href="Relation.Unary.html#2576" class="Bound">P</a> <a id="2578" href="Relation.Unary.html#2539" class="Function Operator">⊆′</a> <a id="2581" href="Relation.Unary.html#2581" class="Bound">Q</a> <a id="2583" class="Symbol">=</a> <a id="2585" class="Symbol"></a> <a id="2587" href="Relation.Unary.html#2587" class="Bound">x</a> <a id="2589" class="Symbol"></a> <a id="2591" href="Relation.Unary.html#2587" class="Bound">x</a> <a id="2593" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="2595" href="Relation.Unary.html#2576" class="Bound">P</a> <a id="2597" class="Symbol"></a> <a id="2599" href="Relation.Unary.html#2587" class="Bound">x</a> <a id="2601" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="2603" href="Relation.Unary.html#2581" class="Bound">Q</a>
<a id="_⊇_"></a><a id="2606" href="Relation.Unary.html#2606" class="Function Operator">_⊇_</a> <a id="2611" class="Symbol">:</a> <a id="2613" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2618" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2620" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2623" class="Symbol"></a> <a id="2625" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2630" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2632" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2635" class="Symbol"></a> <a id="2637" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2641" class="Symbol">_</a>
<a id="2643" href="Relation.Unary.html#2643" class="Bound">Q</a> <a id="2645" href="Relation.Unary.html#2606" class="Function Operator">⊇′</a> <a id="2648" href="Relation.Unary.html#2648" class="Bound">P</a> <a id="2650" class="Symbol">=</a> <a id="2652" href="Relation.Unary.html#2648" class="Bound">P</a> <a id="2654" href="Relation.Unary.html#2539" class="Function Operator">⊆′</a> <a id="2657" href="Relation.Unary.html#2643" class="Bound">Q</a>
<a id="_⊈_"></a><a id="2660" href="Relation.Unary.html#2660" class="Function Operator">_⊈_</a> <a id="2665" class="Symbol">:</a> <a id="2667" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2672" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2674" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2677" class="Symbol"></a> <a id="2679" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2684" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2686" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2689" class="Symbol"></a> <a id="2691" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2695" class="Symbol">_</a>
<a id="2697" href="Relation.Unary.html#2697" class="Bound">P</a> <a id="2699" href="Relation.Unary.html#2660" class="Function Operator">⊈′</a> <a id="2702" href="Relation.Unary.html#2702" class="Bound">Q</a> <a id="2704" class="Symbol">=</a> <a id="2706" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬</a> <a id="2708" class="Symbol">(</a><a id="2709" href="Relation.Unary.html#2697" class="Bound">P</a> <a id="2711" href="Relation.Unary.html#2539" class="Function Operator">⊆′</a> <a id="2714" href="Relation.Unary.html#2702" class="Bound">Q</a><a id="2715" class="Symbol">)</a>
<a id="_⊉_"></a><a id="2718" href="Relation.Unary.html#2718" class="Function Operator">_⊉_</a> <a id="2723" class="Symbol">:</a> <a id="2725" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2730" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2732" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2735" class="Symbol"></a> <a id="2737" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2742" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2744" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2747" class="Symbol"></a> <a id="2749" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2753" class="Symbol">_</a>
<a id="2755" href="Relation.Unary.html#2755" class="Bound">P</a> <a id="2757" href="Relation.Unary.html#2718" class="Function Operator">⊉′</a> <a id="2760" href="Relation.Unary.html#2760" class="Bound">Q</a> <a id="2762" class="Symbol">=</a> <a id="2764" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬</a> <a id="2766" class="Symbol">(</a><a id="2767" href="Relation.Unary.html#2755" class="Bound">P</a> <a id="2769" href="Relation.Unary.html#2606" class="Function Operator">⊇′</a> <a id="2772" href="Relation.Unary.html#2760" class="Bound">Q</a><a id="2773" class="Symbol">)</a>
<a id="_⊂_"></a><a id="2776" href="Relation.Unary.html#2776" class="Function Operator">_⊂_</a> <a id="2781" class="Symbol">:</a> <a id="2783" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2788" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2790" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2793" class="Symbol"></a> <a id="2795" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2800" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2802" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2805" class="Symbol"></a> <a id="2807" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2811" class="Symbol">_</a>
<a id="2813" href="Relation.Unary.html#2813" class="Bound">P</a> <a id="2815" href="Relation.Unary.html#2776" class="Function Operator">⊂′</a> <a id="2818" href="Relation.Unary.html#2818" class="Bound">Q</a> <a id="2820" class="Symbol">=</a> <a id="2822" href="Relation.Unary.html#2813" class="Bound">P</a> <a id="2824" href="Relation.Unary.html#2539" class="Function Operator">⊆′</a> <a id="2827" href="Relation.Unary.html#2818" class="Bound">Q</a> <a id="2829" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="2831" href="Relation.Unary.html#2818" class="Bound">Q</a> <a id="2833" href="Relation.Unary.html#2660" class="Function Operator">⊈′</a> <a id="2836" href="Relation.Unary.html#2813" class="Bound">P</a>
<a id="_⊃_"></a><a id="2839" href="Relation.Unary.html#2839" class="Function Operator">_⊃_</a> <a id="2844" class="Symbol">:</a> <a id="2846" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2851" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2853" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2856" class="Symbol"></a> <a id="2858" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2863" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2865" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2868" class="Symbol"></a> <a id="2870" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2874" class="Symbol">_</a>
<a id="2876" href="Relation.Unary.html#2876" class="Bound">P</a> <a id="2878" href="Relation.Unary.html#2839" class="Function Operator">⊃′</a> <a id="2881" href="Relation.Unary.html#2881" class="Bound">Q</a> <a id="2883" class="Symbol">=</a> <a id="2885" href="Relation.Unary.html#2881" class="Bound">Q</a> <a id="2887" href="Relation.Unary.html#2776" class="Function Operator">⊂′</a> <a id="2890" href="Relation.Unary.html#2876" class="Bound">P</a>
<a id="_⊄_"></a><a id="2893" href="Relation.Unary.html#2893" class="Function Operator">_⊄_</a> <a id="2898" class="Symbol">:</a> <a id="2900" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2905" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2907" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2910" class="Symbol"></a> <a id="2912" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2917" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2919" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2922" class="Symbol"></a> <a id="2924" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2928" class="Symbol">_</a>
<a id="2930" href="Relation.Unary.html#2930" class="Bound">P</a> <a id="2932" href="Relation.Unary.html#2893" class="Function Operator">⊄′</a> <a id="2935" href="Relation.Unary.html#2935" class="Bound">Q</a> <a id="2937" class="Symbol">=</a> <a id="2939" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬</a> <a id="2941" class="Symbol">(</a><a id="2942" href="Relation.Unary.html#2930" class="Bound">P</a> <a id="2944" href="Relation.Unary.html#2776" class="Function Operator">⊂′</a> <a id="2947" href="Relation.Unary.html#2935" class="Bound">Q</a><a id="2948" class="Symbol">)</a>
<a id="_⊅_"></a><a id="2951" href="Relation.Unary.html#2951" class="Function Operator">_⊅_</a> <a id="2956" class="Symbol">:</a> <a id="2958" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2963" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2965" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="2968" class="Symbol"></a> <a id="2970" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="2975" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="2977" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="2980" class="Symbol"></a> <a id="2982" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2986" class="Symbol">_</a>
<a id="2988" href="Relation.Unary.html#2988" class="Bound">P</a> <a id="2990" href="Relation.Unary.html#2951" class="Function Operator">⊅′</a> <a id="2993" href="Relation.Unary.html#2993" class="Bound">Q</a> <a id="2995" class="Symbol">=</a> <a id="2997" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬</a> <a id="2999" class="Symbol">(</a><a id="3000" href="Relation.Unary.html#2988" class="Bound">P</a> <a id="3002" href="Relation.Unary.html#2839" class="Function Operator">⊃′</a> <a id="3005" href="Relation.Unary.html#2993" class="Bound">Q</a><a id="3006" class="Symbol">)</a>
<a id="_≐_"></a><a id="3009" href="Relation.Unary.html#3009" class="Function Operator">_≐_</a> <a id="3014" class="Symbol">:</a> <a id="3016" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="3021" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="3023" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="3026" class="Symbol"></a> <a id="3028" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="3033" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="3035" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="3038" class="Symbol"></a> <a id="3040" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3044" class="Symbol">_</a>
<a id="3046" href="Relation.Unary.html#3046" class="Bound">P</a> <a id="3048" href="Relation.Unary.html#3009" class="Function Operator">≐′</a> <a id="3051" href="Relation.Unary.html#3051" class="Bound">Q</a> <a id="3053" class="Symbol">=</a> <a id="3055" class="Symbol">(</a><a id="3056" href="Relation.Unary.html#3046" class="Bound">P</a> <a id="3058" href="Relation.Unary.html#2539" class="Function Operator">⊆′</a> <a id="3061" href="Relation.Unary.html#3051" class="Bound">Q</a><a id="3062" class="Symbol">)</a> <a id="3064" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="3066" class="Symbol">(</a><a id="3067" href="Relation.Unary.html#3051" class="Bound">Q</a> <a id="3069" href="Relation.Unary.html#2539" class="Function Operator">⊆′</a> <a id="3072" href="Relation.Unary.html#3046" class="Bound">P</a><a id="3073" class="Symbol">)</a>
<a id="3076" class="Comment">------------------------------------------------------------------------</a>
<a id="3149" class="Comment">-- Properties of sets</a>
<a id="3172" class="Keyword">infix</a> <a id="3178" class="Number">10</a> <a id="3181" href="Relation.Unary.html#3355" class="Function">Satisfiable</a> <a id="3193" href="Relation.Unary.html#3491" class="Function">Universal</a> <a id="3203" href="Relation.Unary.html#3629" class="Function">IUniversal</a>
<a id="3215" class="Comment">-- Emptiness - no element satisfies P.</a>
<a id="Empty"></a><a id="3255" href="Relation.Unary.html#3255" class="Function">Empty</a> <a id="3261" class="Symbol">:</a> <a id="3263" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="3268" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="3270" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="3272" class="Symbol"></a> <a id="3274" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3278" class="Symbol">_</a>
<a id="3280" href="Relation.Unary.html#3255" class="Function">Empty</a> <a id="3286" href="Relation.Unary.html#3286" class="Bound">P</a> <a id="3288" class="Symbol">=</a> <a id="3290" class="Symbol"></a> <a id="3292" href="Relation.Unary.html#3292" class="Bound">x</a> <a id="3294" class="Symbol"></a> <a id="3296" href="Relation.Unary.html#3292" class="Bound">x</a> <a id="3298" href="Relation.Unary.html#1694" class="Function Operator"></a> <a id="3300" href="Relation.Unary.html#3286" class="Bound">P</a>
<a id="3303" class="Comment">-- Satisfiable - at least one element satisfies P.</a>
<a id="Satisfiable"></a><a id="3355" href="Relation.Unary.html#3355" class="Function">Satisfiable</a> <a id="3367" class="Symbol">:</a> <a id="3369" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="3374" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="3376" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="3378" class="Symbol"></a> <a id="3380" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3384" class="Symbol">_</a>
<a id="3386" href="Relation.Unary.html#3355" class="Function">Satisfiable</a> <a id="3398" href="Relation.Unary.html#3398" class="Bound">P</a> <a id="3400" class="Symbol">=</a> <a id="3402" href="Data.Product.Base.html#852" class="Function"></a> <a id="3404" class="Symbol">λ</a> <a id="3406" href="Relation.Unary.html#3406" class="Bound">x</a> <a id="3408" class="Symbol"></a> <a id="3410" href="Relation.Unary.html#3406" class="Bound">x</a> <a id="3412" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="3414" href="Relation.Unary.html#3398" class="Bound">P</a>
<a id="3417" class="Keyword">syntax</a> <a id="3424" href="Relation.Unary.html#3355" class="Function">Satisfiable</a> <a id="3436" class="Bound">P</a> <a id="3438" class="Symbol">=</a> <a id="3440" class="Function">∃⟨</a> <a id="3443" class="Bound">P</a> <a id="3445" class="Function"></a>
<a id="3448" class="Comment">-- Universality - all elements satisfy P.</a>
<a id="Universal"></a><a id="3491" href="Relation.Unary.html#3491" class="Function">Universal</a> <a id="3501" class="Symbol">:</a> <a id="3503" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="3508" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="3510" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="3512" class="Symbol"></a> <a id="3514" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3518" class="Symbol">_</a>
<a id="3520" href="Relation.Unary.html#3491" class="Function">Universal</a> <a id="3530" href="Relation.Unary.html#3530" class="Bound">P</a> <a id="3532" class="Symbol">=</a> <a id="3534" class="Symbol"></a> <a id="3536" href="Relation.Unary.html#3536" class="Bound">x</a> <a id="3538" class="Symbol"></a> <a id="3540" href="Relation.Unary.html#3536" class="Bound">x</a> <a id="3542" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="3544" href="Relation.Unary.html#3530" class="Bound">P</a>
<a id="3547" class="Keyword">syntax</a> <a id="3554" href="Relation.Unary.html#3491" class="Function">Universal</a> <a id="3565" class="Bound">P</a> <a id="3567" class="Symbol">=</a> <a id="3569" class="Function">Π[</a> <a id="3572" class="Bound">P</a> <a id="3574" class="Function">]</a>
<a id="3577" class="Comment">-- Implicit universality - all elements satisfy P.</a>
<a id="IUniversal"></a><a id="3629" href="Relation.Unary.html#3629" class="Function">IUniversal</a> <a id="3640" class="Symbol">:</a> <a id="3642" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="3647" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="3649" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="3651" class="Symbol"></a> <a id="3653" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3657" class="Symbol">_</a>
<a id="3659" href="Relation.Unary.html#3629" class="Function">IUniversal</a> <a id="3670" href="Relation.Unary.html#3670" class="Bound">P</a> <a id="3672" class="Symbol">=</a> <a id="3674" class="Symbol"></a> <a id="3676" class="Symbol">{</a><a id="3677" href="Relation.Unary.html#3677" class="Bound">x</a><a id="3678" class="Symbol">}</a> <a id="3680" class="Symbol"></a> <a id="3682" href="Relation.Unary.html#3677" class="Bound">x</a> <a id="3684" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="3686" href="Relation.Unary.html#3670" class="Bound">P</a>
<a id="3689" class="Keyword">syntax</a> <a id="3696" href="Relation.Unary.html#3629" class="Function">IUniversal</a> <a id="3707" class="Bound">P</a> <a id="3709" class="Symbol">=</a> <a id="3711" class="Function">∀[</a> <a id="3714" class="Bound">P</a> <a id="3716" class="Function">]</a>
<a id="3719" class="Comment">-- Decidability - it is possible to determine if an arbitrary element</a>
<a id="3789" class="Comment">-- satisfies P.</a>
<a id="Decidable"></a><a id="3806" href="Relation.Unary.html#3806" class="Function">Decidable</a> <a id="3816" class="Symbol">:</a> <a id="3818" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="3823" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="3825" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="3827" class="Symbol"></a> <a id="3829" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3833" class="Symbol">_</a>
<a id="3835" href="Relation.Unary.html#3806" class="Function">Decidable</a> <a id="3845" href="Relation.Unary.html#3845" class="Bound">P</a> <a id="3847" class="Symbol">=</a> <a id="3849" class="Symbol"></a> <a id="3851" href="Relation.Unary.html#3851" class="Bound">x</a> <a id="3853" class="Symbol"></a> <a id="3855" href="Relation.Nullary.Decidable.Core.html#1485" class="Record">Dec</a> <a id="3859" class="Symbol">(</a><a id="3860" href="Relation.Unary.html#3845" class="Bound">P</a> <a id="3862" href="Relation.Unary.html#3851" class="Bound">x</a><a id="3863" class="Symbol">)</a>
<a id="3866" class="Comment">-- Erasure: A decidable predicate gives rise to another one, more</a>
<a id="3932" class="Comment">-- amenable to η-expansion</a>
<a id="⌊_⌋"></a><a id="3960" href="Relation.Unary.html#3960" class="Function Operator">⌊_⌋</a> <a id="3964" class="Symbol">:</a> <a id="3966" class="Symbol">{</a><a id="3967" href="Relation.Unary.html#3967" class="Bound">P</a> <a id="3969" class="Symbol">:</a> <a id="3971" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="3976" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="3978" href="Relation.Unary.html#772" class="Generalizable"></a><a id="3979" class="Symbol">}</a> <a id="3981" class="Symbol"></a> <a id="3983" href="Relation.Unary.html#3806" class="Function">Decidable</a> <a id="3993" href="Relation.Unary.html#3967" class="Bound">P</a> <a id="3995" class="Symbol"></a> <a id="3997" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4002" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4004" href="Relation.Unary.html#772" class="Generalizable"></a>
<a id="4006" href="Relation.Unary.html#3960" class="Function Operator"></a> <a id="4008" href="Relation.Unary.html#4008" class="Bound">P?</a> <a id="4011" href="Relation.Unary.html#3960" class="Function Operator"></a> <a id="4013" href="Relation.Unary.html#4013" class="Bound">a</a> <a id="4015" class="Symbol">=</a> <a id="4017" href="Level.html#409" class="Record">Lift</a> <a id="4022" class="Symbol">_</a> <a id="4024" class="Symbol">(</a><a id="4025" href="Relation.Nullary.Decidable.Core.html#3468" class="Function">True</a> <a id="4030" class="Symbol">(</a><a id="4031" href="Relation.Unary.html#4008" class="Bound">P?</a> <a id="4034" href="Relation.Unary.html#4013" class="Bound">a</a><a id="4035" class="Symbol">))</a>
<a id="4039" class="Comment">-- Irrelevance - any two proofs that an element satifies P are</a>
<a id="4102" class="Comment">-- indistinguishable.</a>
<a id="Irrelevant"></a><a id="4125" href="Relation.Unary.html#4125" class="Function">Irrelevant</a> <a id="4136" class="Symbol">:</a> <a id="4138" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4143" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4145" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="4147" class="Symbol"></a> <a id="4149" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4153" class="Symbol">_</a>
<a id="4155" href="Relation.Unary.html#4125" class="Function">Irrelevant</a> <a id="4166" href="Relation.Unary.html#4166" class="Bound">P</a> <a id="4168" class="Symbol">=</a> <a id="4170" class="Symbol"></a> <a id="4172" class="Symbol">{</a><a id="4173" href="Relation.Unary.html#4173" class="Bound">x</a><a id="4174" class="Symbol">}</a> <a id="4176" class="Symbol">(</a><a id="4177" href="Relation.Unary.html#4177" class="Bound">a</a> <a id="4179" class="Symbol">:</a> <a id="4181" href="Relation.Unary.html#4166" class="Bound">P</a> <a id="4183" href="Relation.Unary.html#4173" class="Bound">x</a><a id="4184" class="Symbol">)</a> <a id="4186" class="Symbol">(</a><a id="4187" href="Relation.Unary.html#4187" class="Bound">b</a> <a id="4189" class="Symbol">:</a> <a id="4191" href="Relation.Unary.html#4166" class="Bound">P</a> <a id="4193" href="Relation.Unary.html#4173" class="Bound">x</a><a id="4194" class="Symbol">)</a> <a id="4196" class="Symbol"></a> <a id="4198" href="Relation.Unary.html#4177" class="Bound">a</a> <a id="4200" href="Agda.Builtin.Equality.html#150" class="Datatype Operator"></a> <a id="4202" href="Relation.Unary.html#4187" class="Bound">b</a>
<a id="4205" class="Comment">-- Recomputability - we can rebuild a relevant proof given an</a>
<a id="4267" class="Comment">-- irrelevant one.</a>
<a id="Recomputable"></a><a id="4287" href="Relation.Unary.html#4287" class="Function">Recomputable</a> <a id="4300" class="Symbol">:</a> <a id="4302" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4307" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4309" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="4311" class="Symbol"></a> <a id="4313" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4317" class="Symbol">_</a>
<a id="4319" href="Relation.Unary.html#4287" class="Function">Recomputable</a> <a id="4332" href="Relation.Unary.html#4332" class="Bound">P</a> <a id="4334" class="Symbol">=</a> <a id="4336" class="Symbol"></a> <a id="4338" class="Symbol">{</a><a id="4339" href="Relation.Unary.html#4339" class="Bound">x</a><a id="4340" class="Symbol">}</a> <a id="4342" class="Symbol"></a> <a id="4344" class="Symbol">.(</a><a id="4346" href="Relation.Unary.html#4332" class="Bound">P</a> <a id="4348" href="Relation.Unary.html#4339" class="Bound">x</a><a id="4349" class="Symbol">)</a> <a id="4351" class="Symbol"></a> <a id="4353" href="Relation.Unary.html#4332" class="Bound">P</a> <a id="4355" href="Relation.Unary.html#4339" class="Bound">x</a>
<a id="4358" class="Comment">------------------------------------------------------------------------</a>
<a id="4431" class="Comment">-- Operations on sets</a>
<a id="4454" class="Keyword">infix</a> <a id="4460" class="Number">10</a> <a id="4463" href="Relation.Unary.html#4960" class="Function"></a> <a id="4465" href="Relation.Unary.html#5108" class="Function"></a>
<a id="4467" class="Keyword">infixr</a> <a id="4474" class="Number">9</a> <a id="4476" href="Relation.Unary.html#5366" class="Function Operator">_⊢_</a>
<a id="4480" class="Keyword">infixr</a> <a id="4487" class="Number">8</a> <a id="4489" href="Relation.Unary.html#4621" class="Function Operator">_⇒_</a>
<a id="4493" class="Keyword">infixr</a> <a id="4500" class="Number">7</a> <a id="4502" href="Relation.Unary.html#4786" class="Function Operator">_∩_</a>
<a id="4506" class="Keyword">infixr</a> <a id="4513" class="Number">6</a> <a id="4515" href="Relation.Unary.html#4700" class="Function Operator">__</a>
<a id="4519" class="Keyword">infixr</a> <a id="4526" class="Number">6</a> <a id="4528" href="Relation.Unary.html#4870" class="Function Operator">__</a>
<a id="4532" class="Keyword">infix</a> <a id="4538" class="Number">4</a> <a id="4540" href="Relation.Unary.html#5287" class="Function Operator">_≬_</a>
<a id="4545" class="Comment">-- Complement.</a>
<a id="∁"></a><a id="4561" href="Relation.Unary.html#4561" class="Function"></a> <a id="4563" class="Symbol">:</a> <a id="4565" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4570" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4572" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="4574" class="Symbol"></a> <a id="4576" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4581" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4583" href="Relation.Unary.html#772" class="Generalizable"></a>
<a id="4585" href="Relation.Unary.html#4561" class="Function"></a> <a id="4587" href="Relation.Unary.html#4587" class="Bound">P</a> <a id="4589" class="Symbol">=</a> <a id="4591" class="Symbol">λ</a> <a id="4593" href="Relation.Unary.html#4593" class="Bound">x</a> <a id="4595" class="Symbol"></a> <a id="4597" href="Relation.Unary.html#4593" class="Bound">x</a> <a id="4599" href="Relation.Unary.html#1694" class="Function Operator"></a> <a id="4601" href="Relation.Unary.html#4587" class="Bound">P</a>
<a id="4604" class="Comment">-- Implication.</a>
<a id="_⇒_"></a><a id="4621" href="Relation.Unary.html#4621" class="Function Operator">_⇒_</a> <a id="4625" class="Symbol">:</a> <a id="4627" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4632" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4634" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="4637" class="Symbol"></a> <a id="4639" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4644" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4646" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="4649" class="Symbol"></a> <a id="4651" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4656" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4658" class="Symbol">_</a>
<a id="4660" href="Relation.Unary.html#4660" class="Bound">P</a> <a id="4662" href="Relation.Unary.html#4621" class="Function Operator"></a> <a id="4664" href="Relation.Unary.html#4664" class="Bound">Q</a> <a id="4666" class="Symbol">=</a> <a id="4668" class="Symbol">λ</a> <a id="4670" href="Relation.Unary.html#4670" class="Bound">x</a> <a id="4672" class="Symbol"></a> <a id="4674" href="Relation.Unary.html#4670" class="Bound">x</a> <a id="4676" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="4678" href="Relation.Unary.html#4660" class="Bound">P</a> <a id="4680" class="Symbol"></a> <a id="4682" href="Relation.Unary.html#4670" class="Bound">x</a> <a id="4684" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="4686" href="Relation.Unary.html#4664" class="Bound">Q</a>
<a id="4689" class="Comment">-- Union.</a>
<a id="__"></a><a id="4700" href="Relation.Unary.html#4700" class="Function Operator">__</a> <a id="4704" class="Symbol">:</a> <a id="4706" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4711" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4713" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="4716" class="Symbol"></a> <a id="4718" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4723" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4725" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="4728" class="Symbol"></a> <a id="4730" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4735" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4737" class="Symbol">_</a>
<a id="4739" href="Relation.Unary.html#4739" class="Bound">P</a> <a id="4741" href="Relation.Unary.html#4700" class="Function Operator"></a> <a id="4743" href="Relation.Unary.html#4743" class="Bound">Q</a> <a id="4745" class="Symbol">=</a> <a id="4747" class="Symbol">λ</a> <a id="4749" href="Relation.Unary.html#4749" class="Bound">x</a> <a id="4751" class="Symbol"></a> <a id="4753" href="Relation.Unary.html#4749" class="Bound">x</a> <a id="4755" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="4757" href="Relation.Unary.html#4739" class="Bound">P</a> <a id="4759" href="Data.Sum.Base.html#625" class="Datatype Operator"></a> <a id="4761" href="Relation.Unary.html#4749" class="Bound">x</a> <a id="4763" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="4765" href="Relation.Unary.html#4743" class="Bound">Q</a>
<a id="4768" class="Comment">-- Intersection.</a>
<a id="_∩_"></a><a id="4786" href="Relation.Unary.html#4786" class="Function Operator">_∩_</a> <a id="4790" class="Symbol">:</a> <a id="4792" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4797" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4799" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="4802" class="Symbol"></a> <a id="4804" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4809" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4811" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="4814" class="Symbol"></a> <a id="4816" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4821" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4823" class="Symbol">_</a>
<a id="4825" href="Relation.Unary.html#4825" class="Bound">P</a> <a id="4827" href="Relation.Unary.html#4786" class="Function Operator"></a> <a id="4829" href="Relation.Unary.html#4829" class="Bound">Q</a> <a id="4831" class="Symbol">=</a> <a id="4833" class="Symbol">λ</a> <a id="4835" href="Relation.Unary.html#4835" class="Bound">x</a> <a id="4837" class="Symbol"></a> <a id="4839" href="Relation.Unary.html#4835" class="Bound">x</a> <a id="4841" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="4843" href="Relation.Unary.html#4825" class="Bound">P</a> <a id="4845" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="4847" href="Relation.Unary.html#4835" class="Bound">x</a> <a id="4849" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="4851" href="Relation.Unary.html#4829" class="Bound">Q</a>
<a id="4854" class="Comment">-- Difference.</a>
<a id="__"></a><a id="4870" href="Relation.Unary.html#4870" class="Function Operator">__</a> <a id="4874" class="Symbol">:</a> <a id="4876" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4881" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4883" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="4886" class="Symbol"></a> <a id="4888" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4893" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4895" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="4898" class="Symbol"></a> <a id="4900" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4905" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4907" class="Symbol">_</a>
<a id="4909" href="Relation.Unary.html#4909" class="Bound">P</a> <a id="4911" href="Relation.Unary.html#4870" class="Function Operator"></a> <a id="4913" href="Relation.Unary.html#4913" class="Bound">Q</a> <a id="4915" class="Symbol">=</a> <a id="4917" class="Symbol">λ</a> <a id="4919" href="Relation.Unary.html#4919" class="Bound">x</a> <a id="4921" class="Symbol"></a> <a id="4923" href="Relation.Unary.html#4919" class="Bound">x</a> <a id="4925" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="4927" href="Relation.Unary.html#4909" class="Bound">P</a> <a id="4929" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="4931" href="Relation.Unary.html#4919" class="Bound">x</a> <a id="4933" href="Relation.Unary.html#1694" class="Function Operator"></a> <a id="4935" href="Relation.Unary.html#4913" class="Bound">Q</a>
<a id="4938" class="Comment">-- Infinitary union.</a>
<a id=""></a><a id="4960" href="Relation.Unary.html#4960" class="Function"></a> <a id="4962" class="Symbol">:</a> <a id="4964" class="Symbol"></a> <a id="4966" class="Symbol">{</a><a id="4967" href="Relation.Unary.html#4967" class="Bound">i</a><a id="4968" class="Symbol">}</a> <a id="4970" class="Symbol">(</a><a id="4971" href="Relation.Unary.html#4971" class="Bound">I</a> <a id="4973" class="Symbol">:</a> <a id="4975" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4979" href="Relation.Unary.html#4967" class="Bound">i</a><a id="4980" class="Symbol">)</a> <a id="4982" class="Symbol"></a> <a id="4984" class="Symbol">(</a><a id="4985" href="Relation.Unary.html#4971" class="Bound">I</a> <a id="4987" class="Symbol"></a> <a id="4989" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="4994" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="4996" href="Relation.Unary.html#772" class="Generalizable"></a><a id="4997" class="Symbol">)</a> <a id="4999" class="Symbol"></a> <a id="5001" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5006" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="5008" class="Symbol">_</a>
<a id="5010" href="Relation.Unary.html#4960" class="Function"></a> <a id="5012" href="Relation.Unary.html#5012" class="Bound">I</a> <a id="5014" href="Relation.Unary.html#5014" class="Bound">P</a> <a id="5016" class="Symbol">=</a> <a id="5018" class="Symbol">λ</a> <a id="5020" href="Relation.Unary.html#5020" class="Bound">x</a> <a id="5022" class="Symbol"></a> <a id="5024" href="Data.Product.Base.html#1244" class="Function">Σ[</a> <a id="5027" href="Relation.Unary.html#5027" class="Bound">i</a> <a id="5029" href="Data.Product.Base.html#1244" class="Function"></a> <a id="5031" href="Relation.Unary.html#5012" class="Bound">I</a> <a id="5033" href="Data.Product.Base.html#1244" class="Function">]</a> <a id="5035" href="Relation.Unary.html#5014" class="Bound">P</a> <a id="5037" href="Relation.Unary.html#5027" class="Bound">i</a> <a id="5039" href="Relation.Unary.html#5020" class="Bound">x</a>
<a id="5042" class="Keyword">syntax</a> <a id="5049" href="Relation.Unary.html#4960" class="Function"></a> <a id="5051" class="Bound">I</a> <a id="5053" class="Symbol"></a> <a id="5056" class="Bound">i</a> <a id="5058" class="Symbol"></a> <a id="5060" class="Bound">P</a><a id="5061" class="Symbol">)</a> <a id="5063" class="Symbol">=</a> <a id="5065" class="Function">[</a> <a id="5068" class="Bound">i</a> <a id="5070" class="Function"></a> <a id="5072" class="Bound">I</a> <a id="5074" class="Function">]</a> <a id="5076" class="Bound">P</a>
<a id="5079" class="Comment">-- Infinitary intersection.</a>
<a id="⋂"></a><a id="5108" href="Relation.Unary.html#5108" class="Function"></a> <a id="5110" class="Symbol">:</a> <a id="5112" class="Symbol"></a> <a id="5114" class="Symbol">{</a><a id="5115" href="Relation.Unary.html#5115" class="Bound">i</a><a id="5116" class="Symbol">}</a> <a id="5118" class="Symbol">(</a><a id="5119" href="Relation.Unary.html#5119" class="Bound">I</a> <a id="5121" class="Symbol">:</a> <a id="5123" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5127" href="Relation.Unary.html#5115" class="Bound">i</a><a id="5128" class="Symbol">)</a> <a id="5130" class="Symbol"></a> <a id="5132" class="Symbol">(</a><a id="5133" href="Relation.Unary.html#5119" class="Bound">I</a> <a id="5135" class="Symbol"></a> <a id="5137" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5142" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="5144" href="Relation.Unary.html#772" class="Generalizable"></a><a id="5145" class="Symbol">)</a> <a id="5147" class="Symbol"></a> <a id="5149" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5154" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="5156" class="Symbol">_</a>
<a id="5158" href="Relation.Unary.html#5108" class="Function"></a> <a id="5160" href="Relation.Unary.html#5160" class="Bound">I</a> <a id="5162" href="Relation.Unary.html#5162" class="Bound">P</a> <a id="5164" class="Symbol">=</a> <a id="5166" class="Symbol">λ</a> <a id="5168" href="Relation.Unary.html#5168" class="Bound">x</a> <a id="5170" class="Symbol"></a> <a id="5172" class="Symbol">(</a><a id="5173" href="Relation.Unary.html#5173" class="Bound">i</a> <a id="5175" class="Symbol">:</a> <a id="5177" href="Relation.Unary.html#5160" class="Bound">I</a><a id="5178" class="Symbol">)</a> <a id="5180" class="Symbol"></a> <a id="5182" href="Relation.Unary.html#5162" class="Bound">P</a> <a id="5184" href="Relation.Unary.html#5173" class="Bound">i</a> <a id="5186" href="Relation.Unary.html#5168" class="Bound">x</a>
<a id="5189" class="Keyword">syntax</a> <a id="5196" href="Relation.Unary.html#5108" class="Function"></a> <a id="5198" class="Bound">I</a> <a id="5200" class="Symbol"></a> <a id="5203" class="Bound">i</a> <a id="5205" class="Symbol"></a> <a id="5207" class="Bound">P</a><a id="5208" class="Symbol">)</a> <a id="5210" class="Symbol">=</a> <a id="5212" class="Function">⋂[</a> <a id="5215" class="Bound">i</a> <a id="5217" class="Function"></a> <a id="5219" class="Bound">I</a> <a id="5221" class="Function">]</a> <a id="5223" class="Bound">P</a>
<a id="5226" class="Comment">-- Positive version of non-disjointness, dual to inclusion.</a>
<a id="_≬_"></a><a id="5287" href="Relation.Unary.html#5287" class="Function Operator">_≬_</a> <a id="5291" class="Symbol">:</a> <a id="5293" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5298" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="5300" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="5303" class="Symbol"></a> <a id="5305" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5310" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="5312" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="5315" class="Symbol"></a> <a id="5317" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="5321" class="Symbol">_</a>
<a id="5323" href="Relation.Unary.html#5323" class="Bound">P</a> <a id="5325" href="Relation.Unary.html#5287" class="Function Operator"></a> <a id="5327" href="Relation.Unary.html#5327" class="Bound">Q</a> <a id="5329" class="Symbol">=</a> <a id="5331" href="Data.Product.Base.html#852" class="Function"></a> <a id="5333" class="Symbol">λ</a> <a id="5335" href="Relation.Unary.html#5335" class="Bound">x</a> <a id="5337" class="Symbol"></a> <a id="5339" href="Relation.Unary.html#5335" class="Bound">x</a> <a id="5341" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="5343" href="Relation.Unary.html#5323" class="Bound">P</a> <a id="5345" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="5347" href="Relation.Unary.html#5335" class="Bound">x</a> <a id="5349" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="5351" href="Relation.Unary.html#5327" class="Bound">Q</a>
<a id="5354" class="Comment">-- Update.</a>
<a id="_⊢_"></a><a id="5366" href="Relation.Unary.html#5366" class="Function Operator">_⊢_</a> <a id="5370" class="Symbol">:</a> <a id="5372" class="Symbol">(</a><a id="5373" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="5375" class="Symbol"></a> <a id="5377" href="Relation.Unary.html#806" class="Generalizable">B</a><a id="5378" class="Symbol">)</a> <a id="5380" class="Symbol"></a> <a id="5382" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5387" href="Relation.Unary.html#806" class="Generalizable">B</a> <a id="5389" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="5391" class="Symbol"></a> <a id="5393" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5398" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="5400" href="Relation.Unary.html#772" class="Generalizable"></a>
<a id="5402" href="Relation.Unary.html#5402" class="Bound">f</a> <a id="5404" href="Relation.Unary.html#5366" class="Function Operator"></a> <a id="5406" href="Relation.Unary.html#5406" class="Bound">P</a> <a id="5408" class="Symbol">=</a> <a id="5410" class="Symbol">λ</a> <a id="5412" href="Relation.Unary.html#5412" class="Bound">x</a> <a id="5414" class="Symbol"></a> <a id="5416" href="Relation.Unary.html#5406" class="Bound">P</a> <a id="5418" class="Symbol">(</a><a id="5419" href="Relation.Unary.html#5402" class="Bound">f</a> <a id="5421" href="Relation.Unary.html#5412" class="Bound">x</a><a id="5422" class="Symbol">)</a>
<a id="5425" class="Comment">------------------------------------------------------------------------</a>
<a id="5498" class="Comment">-- Predicate combinators</a>
<a id="5524" class="Comment">-- These differ from the set operations above, as the carrier set of the</a>
<a id="5597" class="Comment">-- resulting predicates are not the same as the carrier set of the</a>
<a id="5664" class="Comment">-- component predicates.</a>
<a id="5690" class="Keyword">infixr</a> <a id="5698" class="Number">2</a> <a id="5700" href="Relation.Unary.html#5833" class="Function Operator">_⟨×⟩_</a>
<a id="5706" class="Keyword">infixr</a> <a id="5714" class="Number">2</a> <a id="5716" href="Relation.Unary.html#6034" class="Function Operator">_⟨⊙⟩_</a>
<a id="5722" class="Keyword">infixr</a> <a id="5730" class="Number">1</a> <a id="5732" href="Relation.Unary.html#5941" class="Function Operator">_⟨⊎⟩_</a>
<a id="5738" class="Keyword">infixr</a> <a id="5746" class="Number">0</a> <a id="5748" href="Relation.Unary.html#6133" class="Function Operator">_⟨→⟩_</a>
<a id="5754" class="Keyword">infixl</a> <a id="5762" class="Number">9</a> <a id="5764" href="Relation.Unary.html#6218" class="Function Operator">_⟨·⟩_</a>
<a id="5770" class="Keyword">infix</a> <a id="5777" class="Number">10</a> <a id="5780" href="Relation.Unary.html#6344" class="Function Operator">_~</a>
<a id="5783" class="Keyword">infixr</a> <a id="5791" class="Number">9</a> <a id="5793" href="Relation.Unary.html#6414" class="Function Operator">_⟨∘⟩_</a>
<a id="5799" class="Keyword">infixr</a> <a id="5807" class="Number">2</a> <a id="5809" href="Relation.Unary.html#6547" class="Function Operator">_//_</a> <a id="5814" href="Relation.Unary.html#6667" class="Function Operator">_\\_</a>
<a id="5820" class="Comment">-- Product.</a>
<a id="_⟨×⟩_"></a><a id="5833" href="Relation.Unary.html#5833" class="Function Operator">_⟨×⟩_</a> <a id="5839" class="Symbol">:</a> <a id="5841" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5846" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="5848" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="5851" class="Symbol"></a> <a id="5853" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5858" href="Relation.Unary.html#806" class="Generalizable">B</a> <a id="5860" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="5863" class="Symbol"></a> <a id="5865" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5870" class="Symbol">(</a><a id="5871" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="5873" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="5875" href="Relation.Unary.html#806" class="Generalizable">B</a><a id="5876" class="Symbol">)</a> <a id="5878" class="Symbol">_</a>
<a id="5880" class="Symbol">(</a><a id="5881" href="Relation.Unary.html#5881" class="Bound">P</a> <a id="5883" href="Relation.Unary.html#5833" class="Function Operator">⟨×⟩</a> <a id="5887" href="Relation.Unary.html#5887" class="Bound">Q</a><a id="5888" class="Symbol">)</a> <a id="5890" class="Symbol">(</a><a id="5891" href="Relation.Unary.html#5891" class="Bound">x</a> <a id="5893" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5895" href="Relation.Unary.html#5895" class="Bound">y</a><a id="5896" class="Symbol">)</a> <a id="5898" class="Symbol">=</a> <a id="5900" href="Relation.Unary.html#5891" class="Bound">x</a> <a id="5902" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="5904" href="Relation.Unary.html#5881" class="Bound">P</a> <a id="5906" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="5908" href="Relation.Unary.html#5895" class="Bound">y</a> <a id="5910" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="5912" href="Relation.Unary.html#5887" class="Bound">Q</a>
<a id="5915" class="Comment">-- Sum over one element.</a>
<a id="_⟨⊎⟩_"></a><a id="5941" href="Relation.Unary.html#5941" class="Function Operator">_⟨⊎⟩_</a> <a id="5947" class="Symbol">:</a> <a id="5949" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5954" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="5956" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="5958" class="Symbol"></a> <a id="5960" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5965" href="Relation.Unary.html#806" class="Generalizable">B</a> <a id="5967" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="5969" class="Symbol"></a> <a id="5971" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="5976" class="Symbol">(</a><a id="5977" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="5979" href="Data.Sum.Base.html#625" class="Datatype Operator"></a> <a id="5981" href="Relation.Unary.html#806" class="Generalizable">B</a><a id="5982" class="Symbol">)</a> <a id="5984" class="Symbol">_</a>
<a id="5986" href="Relation.Unary.html#5986" class="Bound">P</a> <a id="5988" href="Relation.Unary.html#5941" class="Function Operator">⟨⊎⟩</a> <a id="5992" href="Relation.Unary.html#5992" class="Bound">Q</a> <a id="5994" class="Symbol">=</a> <a id="5996" href="Data.Sum.Base.html#811" class="Function Operator">[</a> <a id="5998" href="Relation.Unary.html#5986" class="Bound">P</a> <a id="6000" href="Data.Sum.Base.html#811" class="Function Operator">,</a> <a id="6002" href="Relation.Unary.html#5992" class="Bound">Q</a> <a id="6004" href="Data.Sum.Base.html#811" class="Function Operator">]</a>
<a id="6007" class="Comment">-- Sum over two elements.</a>
<a id="_⟨⊙⟩_"></a><a id="6034" href="Relation.Unary.html#6034" class="Function Operator">_⟨⊙⟩_</a> <a id="6040" class="Symbol">:</a> <a id="6042" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6047" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6049" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="6052" class="Symbol"></a> <a id="6054" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6059" href="Relation.Unary.html#806" class="Generalizable">B</a> <a id="6061" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="6064" class="Symbol"></a> <a id="6066" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6071" class="Symbol">(</a><a id="6072" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6074" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6076" href="Relation.Unary.html#806" class="Generalizable">B</a><a id="6077" class="Symbol">)</a> <a id="6079" class="Symbol">_</a>
<a id="6081" class="Symbol">(</a><a id="6082" href="Relation.Unary.html#6082" class="Bound">P</a> <a id="6084" href="Relation.Unary.html#6034" class="Function Operator">⟨⊙⟩</a> <a id="6088" href="Relation.Unary.html#6088" class="Bound">Q</a><a id="6089" class="Symbol">)</a> <a id="6091" class="Symbol">(</a><a id="6092" href="Relation.Unary.html#6092" class="Bound">x</a> <a id="6094" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6096" href="Relation.Unary.html#6096" class="Bound">y</a><a id="6097" class="Symbol">)</a> <a id="6099" class="Symbol">=</a> <a id="6101" href="Relation.Unary.html#6092" class="Bound">x</a> <a id="6103" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="6105" href="Relation.Unary.html#6082" class="Bound">P</a> <a id="6107" href="Data.Sum.Base.html#625" class="Datatype Operator"></a> <a id="6109" href="Relation.Unary.html#6096" class="Bound">y</a> <a id="6111" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="6113" href="Relation.Unary.html#6088" class="Bound">Q</a>
<a id="6116" class="Comment">-- Implication.</a>
<a id="_⟨→⟩_"></a><a id="6133" href="Relation.Unary.html#6133" class="Function Operator">_⟨→⟩_</a> <a id="6139" class="Symbol">:</a> <a id="6141" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6146" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6148" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="6151" class="Symbol"></a> <a id="6153" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6158" href="Relation.Unary.html#806" class="Generalizable">B</a> <a id="6160" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="6163" class="Symbol"></a> <a id="6165" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6170" class="Symbol">(</a><a id="6171" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6173" class="Symbol"></a> <a id="6175" href="Relation.Unary.html#806" class="Generalizable">B</a><a id="6176" class="Symbol">)</a> <a id="6178" class="Symbol">_</a>
<a id="6180" class="Symbol">(</a><a id="6181" href="Relation.Unary.html#6181" class="Bound">P</a> <a id="6183" href="Relation.Unary.html#6133" class="Function Operator">⟨→⟩</a> <a id="6187" href="Relation.Unary.html#6187" class="Bound">Q</a><a id="6188" class="Symbol">)</a> <a id="6190" href="Relation.Unary.html#6190" class="Bound">f</a> <a id="6192" class="Symbol">=</a> <a id="6194" href="Relation.Unary.html#6181" class="Bound">P</a> <a id="6196" href="Relation.Unary.html#1882" class="Function Operator"></a> <a id="6198" href="Relation.Unary.html#6187" class="Bound">Q</a> <a id="6200" href="Function.Base.html#1115" class="Function Operator"></a> <a id="6202" href="Relation.Unary.html#6190" class="Bound">f</a>
<a id="6205" class="Comment">-- Product.</a>
<a id="_⟨·⟩_"></a><a id="6218" href="Relation.Unary.html#6218" class="Function Operator">_⟨·⟩_</a> <a id="6224" class="Symbol">:</a> <a id="6226" class="Symbol">(</a><a id="6227" href="Relation.Unary.html#6227" class="Bound">P</a> <a id="6229" class="Symbol">:</a> <a id="6231" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6236" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6238" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a><a id="6240" class="Symbol">)</a> <a id="6242" class="Symbol">(</a><a id="6243" href="Relation.Unary.html#6243" class="Bound">Q</a> <a id="6245" class="Symbol">:</a> <a id="6247" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6252" href="Relation.Unary.html#806" class="Generalizable">B</a> <a id="6254" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a><a id="6256" class="Symbol">)</a> <a id="6258" class="Symbol"></a>
<a id="6268" class="Symbol">(</a><a id="6269" href="Relation.Unary.html#6227" class="Bound">P</a> <a id="6271" href="Relation.Unary.html#5833" class="Function Operator">⟨×⟩</a> <a id="6275" class="Symbol">(</a><a id="6276" href="Relation.Unary.html#6227" class="Bound">P</a> <a id="6278" href="Relation.Unary.html#6133" class="Function Operator">⟨→⟩</a> <a id="6282" href="Relation.Unary.html#6243" class="Bound">Q</a><a id="6283" class="Symbol">))</a> <a id="6286" href="Relation.Unary.html#1882" class="Function Operator"></a> <a id="6288" href="Relation.Unary.html#6243" class="Bound">Q</a> <a id="6290" href="Function.Base.html#1115" class="Function Operator"></a> <a id="6292" href="Data.Product.Base.html#3109" class="Function">uncurry</a> <a id="6300" href="Function.Base.html#2127" class="Function Operator">_|&gt;_</a>
<a id="6305" class="Symbol">(</a><a id="6306" href="Relation.Unary.html#6306" class="Bound">P</a> <a id="6308" href="Relation.Unary.html#6218" class="Function Operator">⟨·⟩</a> <a id="6312" href="Relation.Unary.html#6312" class="Bound">Q</a><a id="6313" class="Symbol">)</a> <a id="6315" class="Symbol">(</a><a id="6316" href="Relation.Unary.html#6316" class="Bound">p</a> <a id="6318" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6320" href="Relation.Unary.html#6320" class="Bound">f</a><a id="6321" class="Symbol">)</a> <a id="6323" class="Symbol">=</a> <a id="6325" href="Relation.Unary.html#6320" class="Bound">f</a> <a id="6327" href="Relation.Unary.html#6316" class="Bound">p</a>
<a id="6330" class="Comment">-- Converse.</a>
<a id="_~"></a><a id="6344" href="Relation.Unary.html#6344" class="Function Operator">_~</a> <a id="6347" class="Symbol">:</a> <a id="6349" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6354" class="Symbol">(</a><a id="6355" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6357" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6359" href="Relation.Unary.html#806" class="Generalizable">B</a><a id="6360" class="Symbol">)</a> <a id="6362" href="Relation.Unary.html#772" class="Generalizable"></a> <a id="6364" class="Symbol"></a> <a id="6366" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6371" class="Symbol">(</a><a id="6372" href="Relation.Unary.html#806" class="Generalizable">B</a> <a id="6374" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6376" href="Relation.Unary.html#792" class="Generalizable">A</a><a id="6377" class="Symbol">)</a> <a id="6379" href="Relation.Unary.html#772" class="Generalizable"></a>
<a id="6381" href="Relation.Unary.html#6381" class="Bound">P</a> <a id="6383" href="Relation.Unary.html#6344" class="Function Operator">~</a> <a id="6385" class="Symbol">=</a> <a id="6387" href="Relation.Unary.html#6381" class="Bound">P</a> <a id="6389" href="Function.Base.html#1115" class="Function Operator"></a> <a id="6391" href="Data.Product.Base.html#5054" class="Function">swap</a>
<a id="6397" class="Comment">-- Composition.</a>
<a id="_⟨∘⟩_"></a><a id="6414" href="Relation.Unary.html#6414" class="Function Operator">_⟨∘⟩_</a> <a id="6420" class="Symbol">:</a> <a id="6422" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6427" class="Symbol">(</a><a id="6428" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6430" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6432" href="Relation.Unary.html#806" class="Generalizable">B</a><a id="6433" class="Symbol">)</a> <a id="6435" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="6438" class="Symbol"></a> <a id="6440" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6445" class="Symbol">(</a><a id="6446" href="Relation.Unary.html#806" class="Generalizable">B</a> <a id="6448" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6450" href="Relation.Unary.html#820" class="Generalizable">C</a><a id="6451" class="Symbol">)</a> <a id="6453" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="6456" class="Symbol"></a> <a id="6458" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6463" class="Symbol">(</a><a id="6464" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6466" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6468" href="Relation.Unary.html#820" class="Generalizable">C</a><a id="6469" class="Symbol">)</a> <a id="6471" class="Symbol">_</a>
<a id="6473" class="Symbol">(</a><a id="6474" href="Relation.Unary.html#6474" class="Bound">P</a> <a id="6476" href="Relation.Unary.html#6414" class="Function Operator">⟨∘⟩</a> <a id="6480" href="Relation.Unary.html#6480" class="Bound">Q</a><a id="6481" class="Symbol">)</a> <a id="6483" class="Symbol">(</a><a id="6484" href="Relation.Unary.html#6484" class="Bound">x</a> <a id="6486" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6488" href="Relation.Unary.html#6488" class="Bound">z</a><a id="6489" class="Symbol">)</a> <a id="6491" class="Symbol">=</a> <a id="6493" href="Data.Product.Base.html#852" class="Function"></a> <a id="6495" class="Symbol">λ</a> <a id="6497" href="Relation.Unary.html#6497" class="Bound">y</a> <a id="6499" class="Symbol"></a> <a id="6501" class="Symbol">(</a><a id="6502" href="Relation.Unary.html#6484" class="Bound">x</a> <a id="6504" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6506" href="Relation.Unary.html#6497" class="Bound">y</a><a id="6507" class="Symbol">)</a> <a id="6509" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="6511" href="Relation.Unary.html#6474" class="Bound">P</a> <a id="6513" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6515" class="Symbol">(</a><a id="6516" href="Relation.Unary.html#6497" class="Bound">y</a> <a id="6518" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6520" href="Relation.Unary.html#6488" class="Bound">z</a><a id="6521" class="Symbol">)</a> <a id="6523" href="Relation.Unary.html#1654" class="Function Operator"></a> <a id="6525" href="Relation.Unary.html#6480" class="Bound">Q</a>
<a id="6528" class="Comment">-- Post-division.</a>
<a id="_//_"></a><a id="6547" href="Relation.Unary.html#6547" class="Function Operator">_//_</a> <a id="6552" class="Symbol">:</a> <a id="6554" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6559" class="Symbol">(</a><a id="6560" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6562" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6564" href="Relation.Unary.html#820" class="Generalizable">C</a><a id="6565" class="Symbol">)</a> <a id="6567" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="6570" class="Symbol"></a> <a id="6572" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6577" class="Symbol">(</a><a id="6578" href="Relation.Unary.html#806" class="Generalizable">B</a> <a id="6580" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6582" href="Relation.Unary.html#820" class="Generalizable">C</a><a id="6583" class="Symbol">)</a> <a id="6585" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="6588" class="Symbol"></a> <a id="6590" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6595" class="Symbol">(</a><a id="6596" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6598" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6600" href="Relation.Unary.html#806" class="Generalizable">B</a><a id="6601" class="Symbol">)</a> <a id="6603" class="Symbol">_</a>
<a id="6605" class="Symbol">(</a><a id="6606" href="Relation.Unary.html#6606" class="Bound">P</a> <a id="6608" href="Relation.Unary.html#6547" class="Function Operator">//</a> <a id="6611" href="Relation.Unary.html#6611" class="Bound">Q</a><a id="6612" class="Symbol">)</a> <a id="6614" class="Symbol">(</a><a id="6615" href="Relation.Unary.html#6615" class="Bound">x</a> <a id="6617" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6619" href="Relation.Unary.html#6619" class="Bound">y</a><a id="6620" class="Symbol">)</a> <a id="6622" class="Symbol">=</a> <a id="6624" href="Relation.Unary.html#6611" class="Bound">Q</a> <a id="6626" href="Function.Base.html#1115" class="Function Operator"></a> <a id="6628" class="Symbol">(</a><a id="6629" href="Relation.Unary.html#6619" class="Bound">y</a> <a id="6631" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,_</a><a id="6633" class="Symbol">)</a> <a id="6635" href="Relation.Unary.html#1882" class="Function Operator"></a> <a id="6637" href="Relation.Unary.html#6606" class="Bound">P</a> <a id="6639" href="Function.Base.html#1115" class="Function Operator"></a> <a id="6641" class="Symbol">(</a><a id="6642" href="Relation.Unary.html#6615" class="Bound">x</a> <a id="6644" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,_</a><a id="6646" class="Symbol">)</a>
<a id="6649" class="Comment">-- Pre-division.</a>
<a id="_\\_"></a><a id="6667" href="Relation.Unary.html#6667" class="Function Operator">_\\_</a> <a id="6672" class="Symbol">:</a> <a id="6674" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6679" class="Symbol">(</a><a id="6680" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6682" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6684" href="Relation.Unary.html#820" class="Generalizable">C</a><a id="6685" class="Symbol">)</a> <a id="6687" href="Relation.Unary.html#774" class="Generalizable">ℓ₁</a> <a id="6690" class="Symbol"></a> <a id="6692" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6697" class="Symbol">(</a><a id="6698" href="Relation.Unary.html#792" class="Generalizable">A</a> <a id="6700" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6702" href="Relation.Unary.html#806" class="Generalizable">B</a><a id="6703" class="Symbol">)</a> <a id="6705" href="Relation.Unary.html#777" class="Generalizable">ℓ₂</a> <a id="6708" class="Symbol"></a> <a id="6710" href="Relation.Unary.html#1232" class="Function">Pred</a> <a id="6715" class="Symbol">(</a><a id="6716" href="Relation.Unary.html#806" class="Generalizable">B</a> <a id="6718" href="Data.Product.Base.html#1618" class="Function Operator">×</a> <a id="6720" href="Relation.Unary.html#820" class="Generalizable">C</a><a id="6721" class="Symbol">)</a> <a id="6723" class="Symbol">_</a>
<a id="6725" href="Relation.Unary.html#6725" class="Bound">P</a> <a id="6727" href="Relation.Unary.html#6667" class="Function Operator">\\</a> <a id="6730" href="Relation.Unary.html#6730" class="Bound">Q</a> <a id="6732" class="Symbol">=</a> <a id="6734" class="Symbol">(</a><a id="6735" href="Relation.Unary.html#6725" class="Bound">P</a> <a id="6737" href="Relation.Unary.html#6344" class="Function Operator">~</a> <a id="6739" href="Relation.Unary.html#6547" class="Function Operator">//</a> <a id="6742" href="Relation.Unary.html#6730" class="Bound">Q</a> <a id="6744" href="Relation.Unary.html#6344" class="Function Operator">~</a><a id="6745" class="Symbol">)</a> <a id="6747" href="Relation.Unary.html#6344" class="Function Operator">~</a>
</pre></body></html>