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

51 lines
No EOL
9.5 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.Binary.Structures.Biased</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">-- Ways to give instances of certain structures where some fields can</a>
<a id="176" class="Comment">-- be given in terms of others</a>
<a id="207" class="Comment">------------------------------------------------------------------------</a>
<a id="281" class="Comment">-- The contents of this module should be accessed via `Relation.Binary`.</a>
<a id="355" class="Symbol">{-#</a> <a id="359" class="Keyword">OPTIONS</a> <a id="367" class="Pragma">--cubical-compatible</a> <a id="388" class="Pragma">--safe</a> <a id="395" class="Symbol">#-}</a>
<a id="400" class="Keyword">open</a> <a id="405" class="Keyword">import</a> <a id="412" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a>
<a id="434" class="Keyword">module</a> <a id="441" href="Relation.Binary.Structures.Biased.html" class="Module">Relation.Binary.Structures.Biased</a>
<a id="477" class="Symbol">{</a><a id="478" href="Relation.Binary.Structures.Biased.html#478" class="Bound">a</a> <a id="480" href="Relation.Binary.Structures.Biased.html#480" class="Bound"></a><a id="481" class="Symbol">}</a> <a id="483" class="Symbol">{</a><a id="484" href="Relation.Binary.Structures.Biased.html#484" class="Bound">A</a> <a id="486" class="Symbol">:</a> <a id="488" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="492" href="Relation.Binary.Structures.Biased.html#478" class="Bound">a</a><a id="493" class="Symbol">}</a> <a id="495" class="Comment">-- The underlying set</a>
<a id="519" class="Symbol">(</a><a id="520" href="Relation.Binary.Structures.Biased.html#520" class="Bound Operator">_≈_</a> <a id="524" class="Symbol">:</a> <a id="526" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="530" href="Relation.Binary.Structures.Biased.html#484" class="Bound">A</a> <a id="532" href="Relation.Binary.Structures.Biased.html#480" class="Bound"></a><a id="533" class="Symbol">)</a> <a id="537" class="Comment">-- The underlying equality relation</a>
<a id="575" class="Keyword">where</a>
<a id="582" class="Keyword">open</a> <a id="587" class="Keyword">import</a> <a id="594" href="Level.html" class="Module">Level</a> <a id="600" class="Keyword">using</a> <a id="606" class="Symbol">(</a><a id="607" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="612" class="Symbol">;</a> <a id="614" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a><a id="617" class="Symbol">)</a>
<a id="619" class="Keyword">open</a> <a id="624" class="Keyword">import</a> <a id="631" href="Relation.Binary.Consequences.html" class="Module">Relation.Binary.Consequences</a>
<a id="660" class="Keyword">open</a> <a id="665" class="Keyword">import</a> <a id="672" href="Relation.Binary.Definitions.html" class="Module">Relation.Binary.Definitions</a>
<a id="700" class="Keyword">open</a> <a id="705" class="Keyword">import</a> <a id="712" href="Relation.Binary.Structures.html" class="Module">Relation.Binary.Structures</a> <a id="739" href="Relation.Binary.Structures.Biased.html#520" class="Bound Operator">_≈_</a>
<a id="744" class="Keyword">private</a>
<a id="754" class="Keyword">variable</a>
<a id="767" href="Relation.Binary.Structures.Biased.html#767" class="Generalizable">ℓ₂</a> <a id="770" class="Symbol">:</a> <a id="772" href="Agda.Primitive.html#742" class="Postulate">Level</a>
<a id="779" class="Comment">-- To construct a StrictTotalOrder you only need to prove transitivity and</a>
<a id="854" class="Comment">-- trichotomy as the current implementation of `Trichotomous` subsumes</a>
<a id="925" class="Comment">-- irreflexivity and asymmetry.</a>
<a id="957" class="Keyword">record</a> <a id="IsStrictTotalOrderᶜ"></a><a id="964" href="Relation.Binary.Structures.Biased.html#964" class="Record">IsStrictTotalOrderᶜ</a> <a id="984" class="Symbol">(</a><a id="985" href="Relation.Binary.Structures.Biased.html#985" class="Bound Operator">_&lt;_</a> <a id="989" class="Symbol">:</a> <a id="991" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="995" href="Relation.Binary.Structures.Biased.html#484" class="Bound">A</a> <a id="997" href="Relation.Binary.Structures.Biased.html#767" class="Generalizable">ℓ₂</a><a id="999" class="Symbol">)</a> <a id="1001" class="Symbol">:</a> <a id="1003" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1007" class="Symbol">(</a><a id="1008" href="Relation.Binary.Structures.Biased.html#478" class="Bound">a</a> <a id="1010" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1012" href="Relation.Binary.Structures.Biased.html#480" class="Bound"></a> <a id="1014" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1016" href="Relation.Binary.Structures.Biased.html#997" class="Bound">ℓ₂</a><a id="1018" class="Symbol">)</a> <a id="1020" class="Keyword">where</a>
<a id="1028" class="Keyword">field</a>
<a id="IsStrictTotalOrderᶜ.isEquivalence"></a><a id="1038" href="Relation.Binary.Structures.Biased.html#1038" class="Field">isEquivalence</a> <a id="1052" class="Symbol">:</a> <a id="1054" href="Relation.Binary.Structures.html#1550" class="Record">IsEquivalence</a>
<a id="IsStrictTotalOrderᶜ.trans"></a><a id="1072" href="Relation.Binary.Structures.Biased.html#1072" class="Field">trans</a> <a id="1086" class="Symbol">:</a> <a id="1088" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a> <a id="1099" href="Relation.Binary.Structures.Biased.html#985" class="Bound Operator">_&lt;_</a>
<a id="IsStrictTotalOrderᶜ.compare"></a><a id="1107" href="Relation.Binary.Structures.Biased.html#1107" class="Field">compare</a> <a id="1121" class="Symbol">:</a> <a id="1123" href="Relation.Binary.Definitions.html#3281" class="Function">Trichotomous</a> <a id="1136" href="Relation.Binary.Structures.Biased.html#520" class="Bound Operator">_≈_</a> <a id="1140" href="Relation.Binary.Structures.Biased.html#985" class="Bound Operator">_&lt;_</a>
<a id="IsStrictTotalOrderᶜ.isStrictTotalOrderᶜ"></a><a id="1147" href="Relation.Binary.Structures.Biased.html#1147" class="Function">isStrictTotalOrderᶜ</a> <a id="1167" class="Symbol">:</a> <a id="1169" href="Relation.Binary.Structures.html#6732" class="Record">IsStrictTotalOrder</a> <a id="1188" href="Relation.Binary.Structures.Biased.html#985" class="Bound Operator">_&lt;_</a>
<a id="1194" href="Relation.Binary.Structures.Biased.html#1147" class="Function">isStrictTotalOrderᶜ</a> <a id="1214" class="Symbol">=</a> <a id="1216" class="Keyword">record</a>
<a id="1227" class="Symbol">{</a> <a id="1229" href="Relation.Binary.Structures.html#6805" class="Field">isStrictPartialOrder</a> <a id="1250" class="Symbol">=</a> <a id="1252" class="Keyword">record</a>
<a id="1265" class="Symbol">{</a> <a id="1267" href="Relation.Binary.Structures.html#4373" class="Field">isEquivalence</a> <a id="1281" class="Symbol">=</a> <a id="1283" href="Relation.Binary.Structures.Biased.html#1038" class="Field">isEquivalence</a>
<a id="1303" class="Symbol">;</a> <a id="1305" href="Relation.Binary.Structures.html#4407" class="Field">irrefl</a> <a id="1312" class="Symbol">=</a> <a id="1314" href="Relation.Binary.Consequences.html#4890" class="Function">tri⇒irr</a> <a id="1322" href="Relation.Binary.Structures.Biased.html#1107" class="Field">compare</a>
<a id="1336" class="Symbol">;</a> <a id="1338" href="Relation.Binary.Structures.html#4447" class="Field">trans</a> <a id="1344" class="Symbol">=</a> <a id="1346" href="Relation.Binary.Structures.Biased.html#1072" class="Field">trans</a>
<a id="1358" class="Symbol">;</a> <a id="1360" href="Relation.Binary.Structures.html#4482" class="Field">&lt;-resp-≈</a> <a id="1369" class="Symbol">=</a> <a id="1371" href="Relation.Binary.Consequences.html#6210" class="Function">trans∧tri⇒resp</a> <a id="1386" href="Relation.Binary.Structures.html#1622" class="Function">Eq.sym</a> <a id="1393" href="Relation.Binary.Structures.html#1648" class="Function">Eq.trans</a> <a id="1402" href="Relation.Binary.Structures.Biased.html#1072" class="Field">trans</a> <a id="1408" href="Relation.Binary.Structures.Biased.html#1107" class="Field">compare</a>
<a id="1422" class="Symbol">}</a>
<a id="1428" class="Symbol">;</a> <a id="1430" href="Relation.Binary.Structures.html#6857" class="Field">compare</a> <a id="1438" class="Symbol">=</a> <a id="1440" href="Relation.Binary.Structures.Biased.html#1107" class="Field">compare</a>
<a id="1452" class="Symbol">}</a> <a id="1454" class="Keyword">where</a> <a id="1460" class="Keyword">module</a> <a id="1467" href="Relation.Binary.Structures.Biased.html#1467" class="Module">Eq</a> <a id="1470" class="Symbol">=</a> <a id="1472" href="Relation.Binary.Structures.html#1550" class="Module">IsEquivalence</a> <a id="1486" href="Relation.Binary.Structures.Biased.html#1038" class="Field">isEquivalence</a>
<a id="1501" class="Keyword">open</a> <a id="1506" href="Relation.Binary.Structures.Biased.html#964" class="Module">IsStrictTotalOrderᶜ</a> <a id="1526" class="Keyword">public</a>
<a id="1535" class="Keyword">using</a> <a id="1541" class="Symbol">(</a><a id="1542" href="Relation.Binary.Structures.Biased.html#1147" class="Function">isStrictTotalOrderᶜ</a><a id="1561" class="Symbol">)</a>
</pre></body></html>