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

48 lines
No EOL
13 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.Indexed.Heterogeneous.Structures</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">-- Indexed binary relations</a>
<a id="134" class="Comment">------------------------------------------------------------------------</a>
<a id="208" class="Comment">-- The contents of this module should be accessed via</a>
<a id="262" class="Comment">-- `Relation.Binary.Indexed.Heterogeneous`.</a>
<a id="307" class="Symbol">{-#</a> <a id="311" class="Keyword">OPTIONS</a> <a id="319" class="Pragma">--cubical-compatible</a> <a id="340" class="Pragma">--safe</a> <a id="347" class="Symbol">#-}</a>
<a id="352" class="Keyword">open</a> <a id="357" class="Keyword">import</a> <a id="364" href="Relation.Binary.Indexed.Heterogeneous.Core.html" class="Module">Relation.Binary.Indexed.Heterogeneous.Core</a>
<a id="408" class="Keyword">module</a> <a id="415" href="Relation.Binary.Indexed.Heterogeneous.Structures.html" class="Module">Relation.Binary.Indexed.Heterogeneous.Structures</a>
<a id="466" class="Symbol">{</a><a id="467" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#467" class="Bound">i</a> <a id="469" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#469" class="Bound">a</a> <a id="471" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#471" class="Bound"></a><a id="472" class="Symbol">}</a> <a id="474" class="Symbol">{</a><a id="475" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#475" class="Bound">I</a> <a id="477" class="Symbol">:</a> <a id="479" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="483" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#467" class="Bound">i</a><a id="484" class="Symbol">}</a> <a id="486" class="Symbol">(</a><a id="487" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="489" class="Symbol">:</a> <a id="491" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#475" class="Bound">I</a> <a id="493" class="Symbol"></a> <a id="495" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="499" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#469" class="Bound">a</a><a id="500" class="Symbol">)</a> <a id="502" class="Symbol">(</a><a id="503" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#503" class="Bound Operator">_≈_</a> <a id="507" class="Symbol">:</a> <a id="509" href="Relation.Binary.Indexed.Heterogeneous.Core.html#865" class="Function">IRel</a> <a id="514" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="516" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#471" class="Bound"></a><a id="517" class="Symbol">)</a>
<a id="521" class="Keyword">where</a>
<a id="528" class="Keyword">open</a> <a id="533" class="Keyword">import</a> <a id="540" href="Function.Base.html" class="Module">Function.Base</a>
<a id="554" class="Keyword">open</a> <a id="559" class="Keyword">import</a> <a id="566" href="Level.html" class="Module">Level</a> <a id="572" class="Keyword">using</a> <a id="578" class="Symbol">(</a><a id="579" href="Agda.Primitive.html#931" class="Primitive">suc</a><a id="582" class="Symbol">;</a> <a id="584" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a><a id="587" class="Symbol">)</a>
<a id="589" class="Keyword">open</a> <a id="594" class="Keyword">import</a> <a id="601" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a> <a id="622" class="Keyword">using</a> <a id="628" class="Symbol">(</a><a id="629" href="Relation.Binary.Core.html#1268" class="Function Operator">_⇒_</a><a id="632" class="Symbol">)</a>
<a id="634" class="Keyword">open</a> <a id="639" class="Keyword">import</a> <a id="646" href="Relation.Binary.PropositionalEquality.Core.html" class="Module">Relation.Binary.PropositionalEquality.Core</a> <a id="689" class="Symbol">as</a> <a id="692" class="Module">P</a> <a id="694" class="Keyword">using</a> <a id="700" class="Symbol">(</a><a id="701" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a><a id="704" class="Symbol">)</a>
<a id="706" class="Keyword">open</a> <a id="711" class="Keyword">import</a> <a id="718" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html" class="Module">Relation.Binary.Indexed.Heterogeneous.Definitions</a>
<a id="769" class="Comment">------------------------------------------------------------------------</a>
<a id="842" class="Comment">-- Equivalences</a>
<a id="859" class="Keyword">record</a> <a id="IsIndexedEquivalence"></a><a id="866" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#866" class="Record">IsIndexedEquivalence</a> <a id="887" class="Symbol">:</a> <a id="889" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="893" class="Symbol">(</a><a id="894" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#467" class="Bound">i</a> <a id="896" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="898" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#469" class="Bound">a</a> <a id="900" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="902" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#471" class="Bound"></a><a id="903" class="Symbol">)</a> <a id="905" class="Keyword">where</a>
<a id="913" class="Keyword">field</a>
<a id="IsIndexedEquivalence.refl"></a><a id="923" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#923" class="Field">refl</a> <a id="929" class="Symbol">:</a> <a id="931" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#793" class="Function">Reflexive</a> <a id="942" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="944" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#503" class="Bound Operator">_≈_</a>
<a id="IsIndexedEquivalence.sym"></a><a id="952" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#952" class="Field">sym</a> <a id="958" class="Symbol">:</a> <a id="960" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#889" class="Function">Symmetric</a> <a id="971" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="973" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#503" class="Bound Operator">_≈_</a>
<a id="IsIndexedEquivalence.trans"></a><a id="981" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#981" class="Field">trans</a> <a id="987" class="Symbol">:</a> <a id="989" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#989" class="Function">Transitive</a> <a id="1000" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="1002" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#503" class="Bound Operator">_≈_</a>
<a id="IsIndexedEquivalence.reflexive"></a><a id="1009" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1009" class="Function">reflexive</a> <a id="1019" class="Symbol">:</a> <a id="1021" class="Symbol"></a> <a id="1023" class="Symbol">{</a><a id="1024" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1024" class="Bound">i</a><a id="1025" class="Symbol">}</a> <a id="1027" class="Symbol"></a> <a id="1029" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a> <a id="1033" href="Function.Base.html#4322" class="Function Operator"></a> <a id="1035" href="Relation.Binary.Core.html#1268" class="Function Operator">_⇒_</a> <a id="1039" href="Function.Base.html#4322" class="Function Operator"></a> <a id="1041" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#503" class="Bound Operator">_≈_</a> <a id="1045" class="Symbol">{</a><a id="1046" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1024" class="Bound">i</a><a id="1047" class="Symbol">}</a>
<a id="1051" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1009" class="Function">reflexive</a> <a id="1061" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">P.refl</a> <a id="1068" class="Symbol">=</a> <a id="1070" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#923" class="Field">refl</a>
<a id="1077" class="Keyword">record</a> <a id="IsIndexedPreorder"></a><a id="1084" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1084" class="Record">IsIndexedPreorder</a> <a id="1102" class="Symbol">{</a><a id="1103" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1103" class="Bound">ℓ₂</a><a id="1105" class="Symbol">}</a> <a id="1107" class="Symbol">(</a><a id="1108" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1108" class="Bound Operator">_≲_</a> <a id="1112" class="Symbol">:</a> <a id="1114" href="Relation.Binary.Indexed.Heterogeneous.Core.html#865" class="Function">IRel</a> <a id="1119" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="1121" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1103" class="Bound">ℓ₂</a><a id="1123" class="Symbol">)</a> <a id="1125" class="Symbol">:</a> <a id="1127" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1131" class="Symbol">(</a><a id="1132" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#467" class="Bound">i</a> <a id="1134" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1136" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#469" class="Bound">a</a> <a id="1138" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1140" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#471" class="Bound"></a> <a id="1142" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1144" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1103" class="Bound">ℓ₂</a><a id="1146" class="Symbol">)</a> <a id="1148" class="Keyword">where</a>
<a id="1156" class="Keyword">field</a>
<a id="IsIndexedPreorder.isEquivalence"></a><a id="1166" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1166" class="Field">isEquivalence</a> <a id="1180" class="Symbol">:</a> <a id="1182" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#866" class="Record">IsIndexedEquivalence</a>
<a id="IsIndexedPreorder.reflexive"></a><a id="1207" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1207" class="Field">reflexive</a> <a id="1221" class="Symbol">:</a> <a id="1223" class="Symbol"></a> <a id="1225" class="Symbol">{</a><a id="1226" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1226" class="Bound">i</a> <a id="1228" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1228" class="Bound">j</a><a id="1229" class="Symbol">}</a> <a id="1231" class="Symbol"></a> <a id="1233" class="Symbol">(</a><a id="1234" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#503" class="Bound Operator">_≈_</a> <a id="1238" class="Symbol">{</a><a id="1239" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1226" class="Bound">i</a><a id="1240" class="Symbol">}</a> <a id="1242" class="Symbol">{</a><a id="1243" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1228" class="Bound">j</a><a id="1244" class="Symbol">})</a> <a id="1247" href="Function.Base.html#4322" class="Function Operator"></a> <a id="1249" href="Relation.Binary.Core.html#1268" class="Function Operator">_⇒_</a> <a id="1253" href="Function.Base.html#4322" class="Function Operator"></a> <a id="1255" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1108" class="Bound Operator">_≲_</a>
<a id="IsIndexedPreorder.trans"></a><a id="1263" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1263" class="Field">trans</a> <a id="1277" class="Symbol">:</a> <a id="1279" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#989" class="Function">Transitive</a> <a id="1290" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="1292" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1108" class="Bound Operator">_≲_</a>
<a id="1299" class="Keyword">module</a> <a id="IsIndexedPreorder.Eq"></a><a id="1306" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1306" class="Module">Eq</a> <a id="1309" class="Symbol">=</a> <a id="1311" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#866" class="Module">IsIndexedEquivalence</a> <a id="1332" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1166" class="Field">isEquivalence</a>
<a id="IsIndexedPreorder.refl"></a><a id="1349" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1349" class="Function">refl</a> <a id="1354" class="Symbol">:</a> <a id="1356" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#793" class="Function">Reflexive</a> <a id="1366" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="1368" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1108" class="Bound Operator">_≲_</a>
<a id="1374" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1349" class="Function">refl</a> <a id="1379" class="Symbol">=</a> <a id="1381" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1207" class="Field">reflexive</a> <a id="1391" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#923" class="Function">Eq.refl</a>
</pre></body></html>