mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
128 lines
34 KiB
HTML
128 lines
34 KiB
HTML
|
<!DOCTYPE HTML>
|
||
|
<html><head><meta charset="utf-8"><title>Relation.Binary.Properties.Poset</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">-- Properties satisfied by posets</a>
|
||
|
<a id="140" class="Comment">------------------------------------------------------------------------</a>
|
||
|
|
||
|
<a id="214" class="Symbol">{-#</a> <a id="218" class="Keyword">OPTIONS</a> <a id="226" class="Pragma">--cubical-compatible</a> <a id="247" class="Pragma">--safe</a> <a id="254" class="Symbol">#-}</a>
|
||
|
|
||
|
<a id="259" class="Keyword">open</a> <a id="264" class="Keyword">import</a> <a id="271" href="Data.Product.Base.html" class="Module">Data.Product.Base</a> <a id="289" class="Keyword">using</a> <a id="295" class="Symbol">(</a><a id="296" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="299" class="Symbol">)</a>
|
||
|
<a id="301" class="Keyword">open</a> <a id="306" class="Keyword">import</a> <a id="313" href="Function.Base.html" class="Module">Function.Base</a> <a id="327" class="Keyword">using</a> <a id="333" class="Symbol">(</a><a id="334" href="Function.Base.html#1638" class="Function">flip</a><a id="338" class="Symbol">;</a> <a id="340" href="Function.Base.html#1115" class="Function Operator">_∘_</a><a id="343" class="Symbol">)</a>
|
||
|
<a id="345" class="Keyword">open</a> <a id="350" class="Keyword">import</a> <a id="357" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a> <a id="378" class="Keyword">using</a> <a id="384" class="Symbol">(</a><a id="385" href="Relation.Binary.Core.html#896" class="Function">Rel</a><a id="388" class="Symbol">;</a> <a id="390" href="Relation.Binary.Core.html#1577" class="Function Operator">_Preserves_⟶_</a><a id="403" class="Symbol">)</a>
|
||
|
<a id="405" class="Keyword">open</a> <a id="410" class="Keyword">import</a> <a id="417" href="Relation.Binary.Bundles.html" class="Module">Relation.Binary.Bundles</a> <a id="441" class="Keyword">using</a> <a id="447" class="Symbol">(</a><a id="448" href="Relation.Binary.Bundles.html#3530" class="Record">Poset</a><a id="453" class="Symbol">;</a> <a id="455" href="Relation.Binary.Bundles.html#4839" class="Record">StrictPartialOrder</a><a id="473" class="Symbol">)</a>
|
||
|
<a id="475" class="Keyword">open</a> <a id="480" class="Keyword">import</a> <a id="487" href="Relation.Binary.Structures.html" class="Module">Relation.Binary.Structures</a>
|
||
|
<a id="516" class="Keyword">using</a> <a id="522" class="Symbol">(</a><a id="523" href="Relation.Binary.Structures.html#3522" class="Record">IsPartialOrder</a><a id="537" class="Symbol">;</a> <a id="539" href="Relation.Binary.Structures.html#4298" class="Record">IsStrictPartialOrder</a><a id="559" class="Symbol">;</a> <a id="561" href="Relation.Binary.Structures.html#3809" class="Record">IsDecPartialOrder</a><a id="578" class="Symbol">)</a>
|
||
|
<a id="580" class="Keyword">open</a> <a id="585" class="Keyword">import</a> <a id="592" href="Relation.Binary.Definitions.html" class="Module">Relation.Binary.Definitions</a>
|
||
|
<a id="622" class="Keyword">using</a> <a id="628" class="Symbol">(</a><a id="629" href="Relation.Binary.Definitions.html#5500" class="Function Operator">_Respectsˡ_</a><a id="640" class="Symbol">;</a> <a id="642" href="Relation.Binary.Definitions.html#5335" class="Function Operator">_Respectsʳ_</a><a id="653" class="Symbol">;</a> <a id="655" href="Relation.Binary.Definitions.html#6161" class="Function">Decidable</a><a id="664" class="Symbol">)</a>
|
||
|
<a id="666" class="Keyword">import</a> <a id="673" href="Relation.Binary.Consequences.html" class="Module">Relation.Binary.Consequences</a> <a id="702" class="Symbol">as</a> <a id="705" class="Module">Consequences</a>
|
||
|
<a id="718" class="Keyword">open</a> <a id="723" class="Keyword">import</a> <a id="730" href="Relation.Nullary.html" class="Module">Relation.Nullary</a> <a id="747" class="Keyword">using</a> <a id="753" class="Symbol">(</a><a id="754" href="Relation.Nullary.Negation.Core.html#698" class="Function Operator">¬_</a><a id="756" class="Symbol">;</a> <a id="758" href="Relation.Nullary.Decidable.Core.html#1618" class="InductiveConstructor">yes</a><a id="761" class="Symbol">;</a> <a id="763" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a><a id="765" class="Symbol">)</a>
|
||
|
<a id="767" class="Keyword">open</a> <a id="772" class="Keyword">import</a> <a id="779" href="Relation.Nullary.Negation.html" class="Module">Relation.Nullary.Negation</a> <a id="805" class="Keyword">using</a> <a id="811" class="Symbol">(</a><a id="812" href="Relation.Nullary.Negation.Core.html#1226" class="Function">contradiction</a><a id="825" class="Symbol">)</a>
|
||
|
|
||
|
<a id="828" class="Keyword">module</a> <a id="835" href="Relation.Binary.Properties.Poset.html" class="Module">Relation.Binary.Properties.Poset</a>
|
||
|
<a id="871" class="Symbol">{</a><a id="872" href="Relation.Binary.Properties.Poset.html#872" class="Bound">p₁</a> <a id="875" href="Relation.Binary.Properties.Poset.html#875" class="Bound">p₂</a> <a id="878" href="Relation.Binary.Properties.Poset.html#878" class="Bound">p₃</a><a id="880" class="Symbol">}</a> <a id="882" class="Symbol">(</a><a id="883" href="Relation.Binary.Properties.Poset.html#883" class="Bound">P</a> <a id="885" class="Symbol">:</a> <a id="887" href="Relation.Binary.Bundles.html#3530" class="Record">Poset</a> <a id="893" href="Relation.Binary.Properties.Poset.html#872" class="Bound">p₁</a> <a id="896" href="Relation.Binary.Properties.Poset.html#875" class="Bound">p₂</a> <a id="899" href="Relation.Binary.Properties.Poset.html#878" class="Bound">p₃</a><a id="901" class="Symbol">)</a> <a id="903" class="Keyword">where</a>
|
||
|
|
||
|
<a id="910" class="Keyword">open</a> <a id="915" href="Relation.Binary.Bundles.html#3530" class="Module">Poset</a> <a id="921" href="Relation.Binary.Properties.Poset.html#883" class="Bound">P</a> <a id="923" class="Keyword">renaming</a> <a id="932" class="Symbol">(</a><a id="933" href="Relation.Binary.Bundles.html#3606" class="Field">Carrier</a> <a id="941" class="Symbol">to</a> <a id="944" class="Field">A</a><a id="945" class="Symbol">)</a>
|
||
|
|
||
|
<a id="948" class="Keyword">import</a> <a id="955" href="Relation.Binary.Construct.NonStrictToStrict.html" class="Module">Relation.Binary.Construct.NonStrictToStrict</a> <a id="999" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a> <a id="1003" href="Relation.Binary.Bundles.html#3669" class="Field Operator">_≤_</a> as <a id="ToStrict"></a><a id="1010" href="Relation.Binary.Properties.Poset.html#1010" class="Module">ToStrict</a>
|
||
|
<a id="1019" class="Keyword">import</a> <a id="1026" href="Relation.Binary.Properties.Preorder.html" class="Module">Relation.Binary.Properties.Preorder</a> <a id="1062" href="Relation.Binary.Bundles.html#3825" class="Function">preorder</a> as <a id="PreorderProperties"></a><a id="1074" href="Relation.Binary.Properties.Poset.html#1074" class="Module">PreorderProperties</a>
|
||
|
<a id="1093" class="Keyword">open</a> <a id="1098" href="Relation.Binary.Bundles.html#2436" class="Module">Eq</a> <a id="1101" class="Keyword">using</a> <a id="1107" class="Symbol">(</a><a id="1108" href="Relation.Binary.Bundles.html#1031" class="Function Operator">_≉_</a><a id="1111" class="Symbol">)</a>
|
||
|
|
||
|
<a id="1114" class="Comment">------------------------------------------------------------------------</a>
|
||
|
<a id="1187" class="Comment">-- The _≥_ relation is also a poset.</a>
|
||
|
|
||
|
<a id="1225" class="Keyword">open</a> <a id="1230" href="Relation.Binary.Properties.Poset.html#1074" class="Module">PreorderProperties</a> <a id="1249" class="Keyword">public</a>
|
||
|
<a id="1258" class="Keyword">using</a> <a id="1264" class="Symbol">()</a> <a id="1267" class="Keyword">renaming</a>
|
||
|
<a id="1278" class="Symbol">(</a> <a id="1280" href="Relation.Binary.Properties.Preorder.html#766" class="Function">converse-isPreorder</a> <a id="1300" class="Symbol">to</a> <a id="1303" class="Function">≥-isPreorder</a>
|
||
|
<a id="1318" class="Symbol">;</a> <a id="1320" href="Relation.Binary.Properties.Preorder.html#861" class="Function">converse-preorder</a> <a id="1340" class="Symbol">to</a> <a id="1343" class="Function">≥-preorder</a>
|
||
|
<a id="1356" class="Symbol">)</a>
|
||
|
|
||
|
<a id="≥-isPartialOrder"></a><a id="1359" href="Relation.Binary.Properties.Poset.html#1359" class="Function">≥-isPartialOrder</a> <a id="1376" class="Symbol">:</a> <a id="1378" href="Relation.Binary.Structures.html#3522" class="Record">IsPartialOrder</a> <a id="1393" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a> <a id="1397" href="Relation.Binary.Bundles.html#4023" class="Function Operator">_≥_</a>
|
||
|
<a id="1401" href="Relation.Binary.Properties.Poset.html#1359" class="Function">≥-isPartialOrder</a> <a id="1418" class="Symbol">=</a> <a id="1420" class="Keyword">record</a>
|
||
|
<a id="1429" class="Symbol">{</a> <a id="1431" href="Relation.Binary.Structures.html#3591" class="Field">isPreorder</a> <a id="1444" class="Symbol">=</a> <a id="1446" href="Relation.Binary.Properties.Poset.html#1303" class="Function">≥-isPreorder</a>
|
||
|
<a id="1461" class="Symbol">;</a> <a id="1463" href="Relation.Binary.Structures.html#3623" class="Field">antisym</a> <a id="1476" class="Symbol">=</a> <a id="1478" href="Function.Base.html#1638" class="Function">flip</a> <a id="1483" href="Relation.Binary.Structures.html#3623" class="Function">antisym</a>
|
||
|
<a id="1493" class="Symbol">}</a>
|
||
|
|
||
|
<a id="≥-poset"></a><a id="1496" href="Relation.Binary.Properties.Poset.html#1496" class="Function">≥-poset</a> <a id="1504" class="Symbol">:</a> <a id="1506" href="Relation.Binary.Bundles.html#3530" class="Record">Poset</a> <a id="1512" href="Relation.Binary.Properties.Poset.html#872" class="Bound">p₁</a> <a id="1515" href="Relation.Binary.Properties.Poset.html#875" class="Bound">p₂</a> <a id="1518" href="Relation.Binary.Properties.Poset.html#878" class="Bound">p₃</a>
|
||
|
<a id="1521" href="Relation.Binary.Properties.Poset.html#1496" class="Function">≥-poset</a> <a id="1529" class="Symbol">=</a> <a id="1531" class="Keyword">record</a>
|
||
|
<a id="1540" class="Symbol">{</a> <a id="1542" href="Relation.Binary.Bundles.html#3705" class="Field">isPartialOrder</a> <a id="1557" class="Symbol">=</a> <a id="1559" href="Relation.Binary.Properties.Poset.html#1359" class="Function">≥-isPartialOrder</a>
|
||
|
<a id="1578" class="Symbol">}</a>
|
||
|
|
||
|
<a id="1581" class="Keyword">open</a> <a id="1586" href="Relation.Binary.Bundles.html#3530" class="Module">Poset</a> <a id="1592" href="Relation.Binary.Properties.Poset.html#1496" class="Function">≥-poset</a> <a id="1600" class="Keyword">public</a>
|
||
|
<a id="1609" class="Keyword">using</a> <a id="1615" class="Symbol">()</a> <a id="1618" class="Keyword">renaming</a>
|
||
|
<a id="1629" class="Symbol">(</a> <a id="1631" href="Relation.Binary.Structures.html#2466" class="Function">refl</a> <a id="1641" class="Symbol">to</a> <a id="1644" class="Function">≥-refl</a>
|
||
|
<a id="1653" class="Symbol">;</a> <a id="1655" href="Relation.Binary.Structures.html#2359" class="Function">reflexive</a> <a id="1665" class="Symbol">to</a> <a id="1668" class="Function">≥-reflexive</a>
|
||
|
<a id="1682" class="Symbol">;</a> <a id="1684" href="Relation.Binary.Structures.html#2389" class="Function">trans</a> <a id="1694" class="Symbol">to</a> <a id="1697" class="Function">≥-trans</a>
|
||
|
<a id="1707" class="Symbol">;</a> <a id="1709" href="Relation.Binary.Structures.html#3623" class="Function">antisym</a> <a id="1719" class="Symbol">to</a> <a id="1722" class="Function">≥-antisym</a>
|
||
|
<a id="1734" class="Symbol">)</a>
|
||
|
|
||
|
<a id="1737" class="Comment">------------------------------------------------------------------------</a>
|
||
|
<a id="1810" class="Comment">-- Negated order</a>
|
||
|
|
||
|
<a id="≰-respˡ-≈"></a><a id="1828" href="Relation.Binary.Properties.Poset.html#1828" class="Function">≰-respˡ-≈</a> <a id="1838" class="Symbol">:</a> <a id="1840" href="Relation.Binary.Bundles.html#4011" class="Function Operator">_≰_</a> <a id="1844" href="Relation.Binary.Definitions.html#5500" class="Function Operator">Respectsˡ</a> <a id="1854" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a>
|
||
|
<a id="1858" href="Relation.Binary.Properties.Poset.html#1828" class="Function">≰-respˡ-≈</a> <a id="1868" href="Relation.Binary.Properties.Poset.html#1868" class="Bound">x≈y</a> <a id="1872" class="Symbol">=</a> <a id="1874" href="Function.Base.html#1115" class="Function Operator">_∘</a> <a id="1877" href="Relation.Binary.Bundles.html#4058" class="Function">≤-respˡ-≈</a> <a id="1887" class="Symbol">(</a><a id="1888" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="1895" href="Relation.Binary.Properties.Poset.html#1868" class="Bound">x≈y</a><a id="1898" class="Symbol">)</a>
|
||
|
|
||
|
<a id="≰-respʳ-≈"></a><a id="1901" href="Relation.Binary.Properties.Poset.html#1901" class="Function">≰-respʳ-≈</a> <a id="1911" class="Symbol">:</a> <a id="1913" href="Relation.Binary.Bundles.html#4011" class="Function Operator">_≰_</a> <a id="1917" href="Relation.Binary.Definitions.html#5335" class="Function Operator">Respectsʳ</a> <a id="1927" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a>
|
||
|
<a id="1931" href="Relation.Binary.Properties.Poset.html#1901" class="Function">≰-respʳ-≈</a> <a id="1941" href="Relation.Binary.Properties.Poset.html#1941" class="Bound">x≈y</a> <a id="1945" class="Symbol">=</a> <a id="1947" href="Function.Base.html#1115" class="Function Operator">_∘</a> <a id="1950" href="Relation.Binary.Bundles.html#4087" class="Function">≤-respʳ-≈</a> <a id="1960" class="Symbol">(</a><a id="1961" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="1968" href="Relation.Binary.Properties.Poset.html#1941" class="Bound">x≈y</a><a id="1971" class="Symbol">)</a>
|
||
|
|
||
|
<a id="1974" class="Comment">------------------------------------------------------------------------</a>
|
||
|
<a id="2047" class="Comment">-- Partial orders can be turned into strict partial orders</a>
|
||
|
|
||
|
<a id="2107" class="Keyword">infix</a> <a id="2113" class="Number">4</a> <a id="2115" href="Relation.Binary.Properties.Poset.html#2120" class="Function Operator">_<_</a>
|
||
|
|
||
|
<a id="_<_"></a><a id="2120" href="Relation.Binary.Properties.Poset.html#2120" class="Function Operator">_<_</a> <a id="2124" class="Symbol">:</a> <a id="2126" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2130" href="Relation.Binary.Properties.Poset.html#944" class="Field">A</a> <a id="2132" class="Symbol">_</a>
|
||
|
<a id="2134" href="Relation.Binary.Properties.Poset.html#2120" class="Function Operator">_<_</a> <a id="2138" class="Symbol">=</a> <a id="2140" href="Relation.Binary.Construct.NonStrictToStrict.html#1319" class="Function Operator">ToStrict._<_</a>
|
||
|
|
||
|
<a id="<-isStrictPartialOrder"></a><a id="2154" href="Relation.Binary.Properties.Poset.html#2154" class="Function"><-isStrictPartialOrder</a> <a id="2177" class="Symbol">:</a> <a id="2179" href="Relation.Binary.Structures.html#4298" class="Record">IsStrictPartialOrder</a> <a id="2200" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a> <a id="2204" href="Relation.Binary.Properties.Poset.html#2120" class="Function Operator">_<_</a>
|
||
|
<a id="2208" href="Relation.Binary.Properties.Poset.html#2154" class="Function"><-isStrictPartialOrder</a> <a id="2231" class="Symbol">=</a> <a id="2233" href="Relation.Binary.Construct.NonStrictToStrict.html#4367" class="Function">ToStrict.<-isStrictPartialOrder</a> <a id="2265" href="Relation.Binary.Bundles.html#3705" class="Field">isPartialOrder</a>
|
||
|
|
||
|
<a id="<-strictPartialOrder"></a><a id="2281" href="Relation.Binary.Properties.Poset.html#2281" class="Function"><-strictPartialOrder</a> <a id="2302" class="Symbol">:</a> <a id="2304" href="Relation.Binary.Bundles.html#4839" class="Record">StrictPartialOrder</a> <a id="2323" class="Symbol">_</a> <a id="2325" class="Symbol">_</a> <a id="2327" class="Symbol">_</a>
|
||
|
<a id="2329" href="Relation.Binary.Properties.Poset.html#2281" class="Function"><-strictPartialOrder</a> <a id="2350" class="Symbol">=</a> <a id="2352" class="Keyword">record</a>
|
||
|
<a id="2361" class="Symbol">{</a> <a id="2363" href="Relation.Binary.Bundles.html#5045" class="Field">isStrictPartialOrder</a> <a id="2384" class="Symbol">=</a> <a id="2386" href="Relation.Binary.Properties.Poset.html#2154" class="Function"><-isStrictPartialOrder</a>
|
||
|
<a id="2411" class="Symbol">}</a>
|
||
|
|
||
|
<a id="2414" class="Keyword">open</a> <a id="2419" href="Relation.Binary.Bundles.html#4839" class="Module">StrictPartialOrder</a> <a id="2438" href="Relation.Binary.Properties.Poset.html#2281" class="Function"><-strictPartialOrder</a> <a id="2459" class="Keyword">public</a>
|
||
|
<a id="2468" class="Keyword">using</a> <a id="2474" class="Symbol">(</a><a id="2475" href="Relation.Binary.Bundles.html#5335" class="Function Operator">_≮_</a><a id="2478" class="Symbol">;</a> <a id="2480" href="Relation.Binary.Structures.html#4482" class="Function"><-resp-≈</a><a id="2488" class="Symbol">;</a> <a id="2490" href="Relation.Binary.Structures.html#4652" class="Function"><-respʳ-≈</a><a id="2499" class="Symbol">;</a> <a id="2501" href="Relation.Binary.Structures.html#4714" class="Function"><-respˡ-≈</a><a id="2510" class="Symbol">)</a>
|
||
|
<a id="2514" class="Keyword">renaming</a>
|
||
|
<a id="2525" class="Symbol">(</a> <a id="2527" href="Relation.Binary.Structures.html#4407" class="Function">irrefl</a> <a id="2534" class="Symbol">to</a> <a id="2537" class="Function"><-irrefl</a>
|
||
|
<a id="2548" class="Symbol">;</a> <a id="2550" href="Relation.Binary.Structures.html#4562" class="Function">asym</a> <a id="2557" class="Symbol">to</a> <a id="2560" class="Function"><-asym</a>
|
||
|
<a id="2569" class="Symbol">;</a> <a id="2571" href="Relation.Binary.Structures.html#4447" class="Function">trans</a> <a id="2578" class="Symbol">to</a> <a id="2581" class="Function"><-trans</a>
|
||
|
<a id="2591" class="Symbol">)</a>
|
||
|
|
||
|
<a id="<⇒≉"></a><a id="2594" href="Relation.Binary.Properties.Poset.html#2594" class="Function"><⇒≉</a> <a id="2598" class="Symbol">:</a> <a id="2600" class="Symbol">∀</a> <a id="2602" class="Symbol">{</a><a id="2603" href="Relation.Binary.Properties.Poset.html#2603" class="Bound">x</a> <a id="2605" href="Relation.Binary.Properties.Poset.html#2605" class="Bound">y</a><a id="2606" class="Symbol">}</a> <a id="2608" class="Symbol">→</a> <a id="2610" href="Relation.Binary.Properties.Poset.html#2603" class="Bound">x</a> <a id="2612" href="Relation.Binary.Properties.Poset.html#2120" class="Function Operator"><</a> <a id="2614" href="Relation.Binary.Properties.Poset.html#2605" class="Bound">y</a> <a id="2616" class="Symbol">→</a> <a id="2618" href="Relation.Binary.Properties.Poset.html#2603" class="Bound">x</a> <a id="2620" href="Relation.Binary.Bundles.html#1031" class="Function Operator">≉</a> <a id="2622" href="Relation.Binary.Properties.Poset.html#2605" class="Bound">y</a>
|
||
|
<a id="2624" href="Relation.Binary.Properties.Poset.html#2594" class="Function"><⇒≉</a> <a id="2628" class="Symbol">=</a> <a id="2630" href="Relation.Binary.Construct.NonStrictToStrict.html#1493" class="Function">ToStrict.<⇒≉</a>
|
||
|
|
||
|
<a id="≤∧≉⇒<"></a><a id="2644" href="Relation.Binary.Properties.Poset.html#2644" class="Function">≤∧≉⇒<</a> <a id="2650" class="Symbol">:</a> <a id="2652" class="Symbol">∀</a> <a id="2654" class="Symbol">{</a><a id="2655" href="Relation.Binary.Properties.Poset.html#2655" class="Bound">x</a> <a id="2657" href="Relation.Binary.Properties.Poset.html#2657" class="Bound">y</a><a id="2658" class="Symbol">}</a> <a id="2660" class="Symbol">→</a> <a id="2662" href="Relation.Binary.Properties.Poset.html#2655" class="Bound">x</a> <a id="2664" href="Relation.Binary.Bundles.html#3669" class="Field Operator">≤</a> <a id="2666" href="Relation.Binary.Properties.Poset.html#2657" class="Bound">y</a> <a id="2668" class="Symbol">→</a> <a id="2670" href="Relation.Binary.Properties.Poset.html#2655" class="Bound">x</a> <a id="2672" href="Relation.Binary.Bundles.html#1031" class="Function Operator">≉</a> <a id="2674" href="Relation.Binary.Properties.Poset.html#2657" class="Bound">y</a> <a id="2676" class="Symbol">→</a> <a id="2678" href="Relation.Binary.Properties.Poset.html#2655" class="Bound">x</a> <a id="2680" href="Relation.Binary.Properties.Poset.html#2120" class="Function Operator"><</a> <a id="2682" href="Relation.Binary.Properties.Poset.html#2657" class="Bound">y</a>
|
||
|
<a id="2684" href="Relation.Binary.Properties.Poset.html#2644" class="Function">≤∧≉⇒<</a> <a id="2690" class="Symbol">=</a> <a id="2692" href="Relation.Binary.Construct.NonStrictToStrict.html#1536" class="Function">ToStrict.≤∧≉⇒<</a>
|
||
|
|
||
|
<a id="<⇒≱"></a><a id="2708" href="Relation.Binary.Properties.Poset.html#2708" class="Function"><⇒≱</a> <a id="2712" class="Symbol">:</a> <a id="2714" class="Symbol">∀</a> <a id="2716" class="Symbol">{</a><a id="2717" href="Relation.Binary.Properties.Poset.html#2717" class="Bound">x</a> <a id="2719" href="Relation.Binary.Properties.Poset.html#2719" class="Bound">y</a><a id="2720" class="Symbol">}</a> <a id="2722" class="Symbol">→</a> <a id="2724" href="Relation.Binary.Properties.Poset.html#2717" class="Bound">x</a> <a id="2726" href="Relation.Binary.Properties.Poset.html#2120" class="Function Operator"><</a> <a id="2728" href="Relation.Binary.Properties.Poset.html#2719" class="Bound">y</a> <a id="2730" class="Symbol">→</a> <a id="2732" href="Relation.Binary.Properties.Poset.html#2719" class="Bound">y</a> <a id="2734" href="Relation.Binary.Bundles.html#4011" class="Function Operator">≰</a> <a id="2736" href="Relation.Binary.Properties.Poset.html#2717" class="Bound">x</a>
|
||
|
<a id="2738" href="Relation.Binary.Properties.Poset.html#2708" class="Function"><⇒≱</a> <a id="2742" class="Symbol">=</a> <a id="2744" href="Relation.Binary.Construct.NonStrictToStrict.html#1589" class="Function">ToStrict.<⇒≱</a> <a id="2757" href="Relation.Binary.Structures.html#3623" class="Function">antisym</a>
|
||
|
|
||
|
<a id="≤⇒≯"></a><a id="2766" href="Relation.Binary.Properties.Poset.html#2766" class="Function">≤⇒≯</a> <a id="2770" class="Symbol">:</a> <a id="2772" class="Symbol">∀</a> <a id="2774" class="Symbol">{</a><a id="2775" href="Relation.Binary.Properties.Poset.html#2775" class="Bound">x</a> <a id="2777" href="Relation.Binary.Properties.Poset.html#2777" class="Bound">y</a><a id="2778" class="Symbol">}</a> <a id="2780" class="Symbol">→</a> <a id="2782" href="Relation.Binary.Properties.Poset.html#2775" class="Bound">x</a> <a id="2784" href="Relation.Binary.Bundles.html#3669" class="Field Operator">≤</a> <a id="2786" href="Relation.Binary.Properties.Poset.html#2777" class="Bound">y</a> <a id="2788" class="Symbol">→</a> <a id="2790" href="Relation.Binary.Properties.Poset.html#2777" class="Bound">y</a> <a id="2792" href="Relation.Binary.Bundles.html#5335" class="Function Operator">≮</a> <a id="2794" href="Relation.Binary.Properties.Poset.html#2775" class="Bound">x</a>
|
||
|
<a id="2796" href="Relation.Binary.Properties.Poset.html#2766" class="Function">≤⇒≯</a> <a id="2800" class="Symbol">=</a> <a id="2802" href="Relation.Binary.Construct.NonStrictToStrict.html#1700" class="Function">ToStrict.≤⇒≯</a> <a id="2815" href="Relation.Binary.Structures.html#3623" class="Function">antisym</a>
|
||
|
|
||
|
<a id="2824" class="Comment">------------------------------------------------------------------------</a>
|
||
|
<a id="2897" class="Comment">-- If ≤ is decidable then so is ≈</a>
|
||
|
|
||
|
<a id="≤-dec⇒≈-dec"></a><a id="2932" href="Relation.Binary.Properties.Poset.html#2932" class="Function">≤-dec⇒≈-dec</a> <a id="2944" class="Symbol">:</a> <a id="2946" href="Relation.Binary.Definitions.html#6161" class="Function">Decidable</a> <a id="2956" href="Relation.Binary.Bundles.html#3669" class="Field Operator">_≤_</a> <a id="2960" class="Symbol">→</a> <a id="2962" href="Relation.Binary.Definitions.html#6161" class="Function">Decidable</a> <a id="2972" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a>
|
||
|
<a id="2976" href="Relation.Binary.Properties.Poset.html#2932" class="Function">≤-dec⇒≈-dec</a> <a id="2988" href="Relation.Binary.Properties.Poset.html#2988" class="Bound Operator">_≤?_</a> <a id="2993" href="Relation.Binary.Properties.Poset.html#2993" class="Bound">x</a> <a id="2995" href="Relation.Binary.Properties.Poset.html#2995" class="Bound">y</a> <a id="2997" class="Keyword">with</a> <a id="3002" href="Relation.Binary.Properties.Poset.html#2993" class="Bound">x</a> <a id="3004" href="Relation.Binary.Properties.Poset.html#2988" class="Bound Operator">≤?</a> <a id="3007" href="Relation.Binary.Properties.Poset.html#2995" class="Bound">y</a> <a id="3009" class="Symbol">|</a> <a id="3011" href="Relation.Binary.Properties.Poset.html#2995" class="Bound">y</a> <a id="3013" href="Relation.Binary.Properties.Poset.html#2988" class="Bound Operator">≤?</a> <a id="3016" href="Relation.Binary.Properties.Poset.html#2993" class="Bound">x</a>
|
||
|
<a id="3018" class="Symbol">...</a> <a id="3022" class="Symbol">|</a> <a id="3024" href="Relation.Nullary.Decidable.Core.html#1618" class="InductiveConstructor">yes</a> <a id="3028" href="Relation.Binary.Properties.Poset.html#3028" class="Bound">x≤y</a> <a id="3032" class="Symbol">|</a> <a id="3034" href="Relation.Nullary.Decidable.Core.html#1618" class="InductiveConstructor">yes</a> <a id="3038" href="Relation.Binary.Properties.Poset.html#3038" class="Bound">y≤x</a> <a id="3042" class="Symbol">=</a> <a id="3044" href="Relation.Nullary.Decidable.Core.html#1618" class="InductiveConstructor">yes</a> <a id="3048" class="Symbol">(</a><a id="3049" href="Relation.Binary.Structures.html#3623" class="Function">antisym</a> <a id="3057" href="Relation.Binary.Properties.Poset.html#3028" class="Bound">x≤y</a> <a id="3061" href="Relation.Binary.Properties.Poset.html#3038" class="Bound">y≤x</a><a id="3064" class="Symbol">)</a>
|
||
|
<a id="3066" class="Symbol">...</a> <a id="3070" class="Symbol">|</a> <a id="3072" href="Relation.Nullary.Decidable.Core.html#1618" class="InductiveConstructor">yes</a> <a id="3076" href="Relation.Binary.Properties.Poset.html#3076" class="Bound">x≤y</a> <a id="3080" class="Symbol">|</a> <a id="3082" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a> <a id="3086" href="Relation.Binary.Properties.Poset.html#3086" class="Bound">y≰x</a> <a id="3090" class="Symbol">=</a> <a id="3092" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a> <a id="3095" class="Symbol">λ</a> <a id="3097" href="Relation.Binary.Properties.Poset.html#3097" class="Bound">x≈y</a> <a id="3101" class="Symbol">→</a> <a id="3103" href="Relation.Nullary.Negation.Core.html#1226" class="Function">contradiction</a> <a id="3117" class="Symbol">(</a><a id="3118" href="Relation.Binary.Structures.html#2359" class="Function">reflexive</a> <a id="3128" class="Symbol">(</a><a id="3129" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="3136" href="Relation.Binary.Properties.Poset.html#3097" class="Bound">x≈y</a><a id="3139" class="Symbol">))</a> <a id="3142" href="Relation.Binary.Properties.Poset.html#3086" class="Bound">y≰x</a>
|
||
|
<a id="3146" class="Symbol">...</a> <a id="3150" class="Symbol">|</a> <a id="3152" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a> <a id="3156" href="Relation.Binary.Properties.Poset.html#3156" class="Bound">x≰y</a> <a id="3160" class="Symbol">|</a> <a id="3162" class="Symbol">_</a> <a id="3170" class="Symbol">=</a> <a id="3172" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a> <a id="3175" class="Symbol">λ</a> <a id="3177" href="Relation.Binary.Properties.Poset.html#3177" class="Bound">x≈y</a> <a id="3181" class="Symbol">→</a> <a id="3183" href="Relation.Nullary.Negation.Core.html#1226" class="Function">contradiction</a> <a id="3197" class="Symbol">(</a><a id="3198" href="Relation.Binary.Structures.html#2359" class="Function">reflexive</a> <a id="3208" href="Relation.Binary.Properties.Poset.html#3177" class="Bound">x≈y</a><a id="3211" class="Symbol">)</a> <a id="3213" href="Relation.Binary.Properties.Poset.html#3156" class="Bound">x≰y</a>
|
||
|
|
||
|
<a id="≤-dec⇒isDecPartialOrder"></a><a id="3218" href="Relation.Binary.Properties.Poset.html#3218" class="Function">≤-dec⇒isDecPartialOrder</a> <a id="3242" class="Symbol">:</a> <a id="3244" href="Relation.Binary.Definitions.html#6161" class="Function">Decidable</a> <a id="3254" href="Relation.Binary.Bundles.html#3669" class="Field Operator">_≤_</a> <a id="3258" class="Symbol">→</a> <a id="3260" href="Relation.Binary.Structures.html#3809" class="Record">IsDecPartialOrder</a> <a id="3278" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a> <a id="3282" href="Relation.Binary.Bundles.html#3669" class="Field Operator">_≤_</a>
|
||
|
<a id="3286" href="Relation.Binary.Properties.Poset.html#3218" class="Function">≤-dec⇒isDecPartialOrder</a> <a id="3310" href="Relation.Binary.Properties.Poset.html#3310" class="Bound Operator">_≤?_</a> <a id="3315" class="Symbol">=</a> <a id="3317" class="Keyword">record</a>
|
||
|
<a id="3326" class="Symbol">{</a> <a id="3328" href="Relation.Binary.Structures.html#3900" class="Field">isPartialOrder</a> <a id="3343" class="Symbol">=</a> <a id="3345" href="Relation.Binary.Bundles.html#3705" class="Field">isPartialOrder</a>
|
||
|
<a id="3362" class="Symbol">;</a> <a id="3364" href="Relation.Binary.Structures.html#3940" class="Field Operator">_≟_</a> <a id="3379" class="Symbol">=</a> <a id="3381" href="Relation.Binary.Properties.Poset.html#2932" class="Function">≤-dec⇒≈-dec</a> <a id="3393" href="Relation.Binary.Properties.Poset.html#3310" class="Bound Operator">_≤?_</a>
|
||
|
<a id="3400" class="Symbol">;</a> <a id="3402" href="Relation.Binary.Structures.html#3975" class="Field Operator">_≤?_</a> <a id="3417" class="Symbol">=</a> <a id="3419" href="Relation.Binary.Properties.Poset.html#3310" class="Bound Operator">_≤?_</a>
|
||
|
<a id="3426" class="Symbol">}</a>
|
||
|
|
||
|
<a id="3429" class="Comment">------------------------------------------------------------------------</a>
|
||
|
<a id="3502" class="Comment">-- Other properties</a>
|
||
|
|
||
|
<a id="mono⇒cong"></a><a id="3523" href="Relation.Binary.Properties.Poset.html#3523" class="Function">mono⇒cong</a> <a id="3533" class="Symbol">:</a> <a id="3535" class="Symbol">∀</a> <a id="3537" class="Symbol">{</a><a id="3538" href="Relation.Binary.Properties.Poset.html#3538" class="Bound">f</a><a id="3539" class="Symbol">}</a> <a id="3541" class="Symbol">→</a> <a id="3543" href="Relation.Binary.Properties.Poset.html#3538" class="Bound">f</a> <a id="3545" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="3555" href="Relation.Binary.Bundles.html#3669" class="Field Operator">_≤_</a> <a id="3559" href="Relation.Binary.Core.html#1577" class="Function Operator">⟶</a> <a id="3561" href="Relation.Binary.Bundles.html#3669" class="Field Operator">_≤_</a> <a id="3565" class="Symbol">→</a> <a id="3567" href="Relation.Binary.Properties.Poset.html#3538" class="Bound">f</a> <a id="3569" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="3579" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a> <a id="3583" href="Relation.Binary.Core.html#1577" class="Function Operator">⟶</a> <a id="3585" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a>
|
||
|
<a id="3589" href="Relation.Binary.Properties.Poset.html#3523" class="Function">mono⇒cong</a> <a id="3599" class="Symbol">=</a> <a id="3601" href="Relation.Binary.Consequences.html#3042" class="Function">Consequences.mono⇒cong</a> <a id="3624" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a> <a id="3628" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a> <a id="3632" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="3639" href="Relation.Binary.Structures.html#2359" class="Function">reflexive</a> <a id="3649" href="Relation.Binary.Structures.html#3623" class="Function">antisym</a>
|
||
|
|
||
|
<a id="antimono⇒cong"></a><a id="3658" href="Relation.Binary.Properties.Poset.html#3658" class="Function">antimono⇒cong</a> <a id="3672" class="Symbol">:</a> <a id="3674" class="Symbol">∀</a> <a id="3676" class="Symbol">{</a><a id="3677" href="Relation.Binary.Properties.Poset.html#3677" class="Bound">f</a><a id="3678" class="Symbol">}</a> <a id="3680" class="Symbol">→</a> <a id="3682" href="Relation.Binary.Properties.Poset.html#3677" class="Bound">f</a> <a id="3684" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="3694" href="Relation.Binary.Bundles.html#3669" class="Field Operator">_≤_</a> <a id="3698" href="Relation.Binary.Core.html#1577" class="Function Operator">⟶</a> <a id="3700" href="Relation.Binary.Bundles.html#4023" class="Function Operator">_≥_</a> <a id="3704" class="Symbol">→</a> <a id="3706" href="Relation.Binary.Properties.Poset.html#3677" class="Bound">f</a> <a id="3708" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="3718" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a> <a id="3722" href="Relation.Binary.Core.html#1577" class="Function Operator">⟶</a> <a id="3724" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a>
|
||
|
<a id="3728" href="Relation.Binary.Properties.Poset.html#3658" class="Function">antimono⇒cong</a> <a id="3742" class="Symbol">=</a> <a id="3744" href="Relation.Binary.Consequences.html#3281" class="Function">Consequences.antimono⇒cong</a> <a id="3771" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a> <a id="3775" href="Relation.Binary.Bundles.html#3633" class="Field Operator">_≈_</a> <a id="3779" href="Relation.Binary.Structures.html#1200" class="Function">Eq.sym</a> <a id="3786" href="Relation.Binary.Structures.html#2359" class="Function">reflexive</a> <a id="3796" href="Relation.Binary.Structures.html#3623" class="Function">antisym</a>
|
||
|
</pre></body></html>
|