bsc-leon-vatthauer/public/Relation.Binary.Indexed.Heterogeneous.Structures.html

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#320" 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#320" 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#774" class="Primitive">suc</a><a id="582" class="Symbol">;</a> <a id="584" href="Agda.Primitive.html#804" 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.html" class="Module">Relation.Binary</a> <a id="617" class="Keyword">using</a> <a id="623" class="Symbol">(</a><a id="624" href="Relation.Binary.Core.html#1263" class="Function Operator">_⇒_</a><a id="627" class="Symbol">)</a>
<a id="629" class="Keyword">open</a> <a id="634" class="Keyword">import</a> <a id="641" href="Relation.Binary.PropositionalEquality.Core.html" class="Module">Relation.Binary.PropositionalEquality.Core</a> <a id="684" class="Symbol">as</a> <a id="687" class="Module">P</a> <a id="689" class="Keyword">using</a> <a id="695" class="Symbol">(</a><a id="696" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a><a id="699" class="Symbol">)</a>
<a id="701" class="Keyword">open</a> <a id="706" class="Keyword">import</a> <a id="713" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html" class="Module">Relation.Binary.Indexed.Heterogeneous.Definitions</a>
<a id="764" class="Comment">------------------------------------------------------------------------</a>
<a id="837" class="Comment">-- Equivalences</a>
<a id="854" class="Keyword">record</a> <a id="IsIndexedEquivalence"></a><a id="861" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#861" class="Record">IsIndexedEquivalence</a> <a id="882" class="Symbol">:</a> <a id="884" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="888" class="Symbol">(</a><a id="889" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#467" class="Bound">i</a> <a id="891" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="893" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#469" class="Bound">a</a> <a id="895" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="897" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#471" class="Bound"></a><a id="898" class="Symbol">)</a> <a id="900" class="Keyword">where</a>
<a id="908" class="Keyword">field</a>
<a id="IsIndexedEquivalence.refl"></a><a id="918" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#918" class="Field">refl</a> <a id="924" class="Symbol">:</a> <a id="926" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#793" class="Function">Reflexive</a> <a id="937" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="939" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#503" class="Bound Operator">_≈_</a>
<a id="IsIndexedEquivalence.sym"></a><a id="947" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#947" class="Field">sym</a> <a id="953" class="Symbol">:</a> <a id="955" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#889" class="Function">Symmetric</a> <a id="966" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="968" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#503" class="Bound Operator">_≈_</a>
<a id="IsIndexedEquivalence.trans"></a><a id="976" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#976" class="Field">trans</a> <a id="982" class="Symbol">:</a> <a id="984" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#989" class="Function">Transitive</a> <a id="995" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="997" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#503" class="Bound Operator">_≈_</a>
<a id="IsIndexedEquivalence.reflexive"></a><a id="1004" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1004" class="Function">reflexive</a> <a id="1014" class="Symbol">:</a> <a id="1016" class="Symbol"></a> <a id="1018" class="Symbol">{</a><a id="1019" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1019" class="Bound">i</a><a id="1020" class="Symbol">}</a> <a id="1022" class="Symbol"></a> <a id="1024" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a> <a id="1028" href="Function.Base.html#4407" class="Function Operator"></a> <a id="1030" href="Relation.Binary.Core.html#1263" class="Function Operator">_⇒_</a> <a id="1034" href="Function.Base.html#4407" class="Function Operator"></a> <a id="1036" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#503" class="Bound Operator">_≈_</a> <a id="1040" class="Symbol">{</a><a id="1041" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1019" class="Bound">i</a><a id="1042" class="Symbol">}</a>
<a id="1046" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1004" class="Function">reflexive</a> <a id="1056" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">P.refl</a> <a id="1063" class="Symbol">=</a> <a id="1065" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#918" class="Field">refl</a>
<a id="1072" class="Keyword">record</a> <a id="IsIndexedPreorder"></a><a id="1079" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1079" class="Record">IsIndexedPreorder</a> <a id="1097" class="Symbol">{</a><a id="1098" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1098" class="Bound">ℓ₂</a><a id="1100" class="Symbol">}</a> <a id="1102" class="Symbol">(</a><a id="1103" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1103" class="Bound Operator">__</a> <a id="1107" class="Symbol">:</a> <a id="1109" href="Relation.Binary.Indexed.Heterogeneous.Core.html#865" class="Function">IRel</a> <a id="1114" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="1116" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1098" class="Bound">ℓ₂</a><a id="1118" class="Symbol">)</a> <a id="1120" class="Symbol">:</a> <a id="1122" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1126" class="Symbol">(</a><a id="1127" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#467" class="Bound">i</a> <a id="1129" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1131" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#469" class="Bound">a</a> <a id="1133" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1135" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#471" class="Bound"></a> <a id="1137" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1139" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1098" class="Bound">ℓ₂</a><a id="1141" class="Symbol">)</a> <a id="1143" class="Keyword">where</a>
<a id="1151" class="Keyword">field</a>
<a id="IsIndexedPreorder.isEquivalence"></a><a id="1161" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1161" class="Field">isEquivalence</a> <a id="1175" class="Symbol">:</a> <a id="1177" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#861" class="Record">IsIndexedEquivalence</a>
<a id="IsIndexedPreorder.reflexive"></a><a id="1202" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1202" class="Field">reflexive</a> <a id="1216" class="Symbol">:</a> <a id="1218" class="Symbol"></a> <a id="1220" class="Symbol">{</a><a id="1221" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1221" class="Bound">i</a> <a id="1223" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1223" class="Bound">j</a><a id="1224" class="Symbol">}</a> <a id="1226" class="Symbol"></a> <a id="1228" class="Symbol">(</a><a id="1229" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#503" class="Bound Operator">_≈_</a> <a id="1233" class="Symbol">{</a><a id="1234" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1221" class="Bound">i</a><a id="1235" class="Symbol">}</a> <a id="1237" class="Symbol">{</a><a id="1238" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1223" class="Bound">j</a><a id="1239" class="Symbol">})</a> <a id="1242" href="Function.Base.html#4407" class="Function Operator"></a> <a id="1244" href="Relation.Binary.Core.html#1263" class="Function Operator">_⇒_</a> <a id="1248" href="Function.Base.html#4407" class="Function Operator"></a> <a id="1250" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1103" class="Bound Operator">__</a>
<a id="IsIndexedPreorder.trans"></a><a id="1258" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1258" class="Field">trans</a> <a id="1272" class="Symbol">:</a> <a id="1274" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#989" class="Function">Transitive</a> <a id="1285" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="1287" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1103" class="Bound Operator">__</a>
<a id="1294" class="Keyword">module</a> <a id="IsIndexedPreorder.Eq"></a><a id="1301" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1301" class="Module">Eq</a> <a id="1304" class="Symbol">=</a> <a id="1306" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#861" class="Module">IsIndexedEquivalence</a> <a id="1327" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1161" class="Field">isEquivalence</a>
<a id="IsIndexedPreorder.refl"></a><a id="1344" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1344" class="Function">refl</a> <a id="1349" class="Symbol">:</a> <a id="1351" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#793" class="Function">Reflexive</a> <a id="1361" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#487" class="Bound">A</a> <a id="1363" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1103" class="Bound Operator">__</a>
<a id="1369" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1344" class="Function">refl</a> <a id="1374" class="Symbol">=</a> <a id="1376" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1202" class="Field">reflexive</a> <a id="1386" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#918" class="Function">Eq.refl</a>
</pre></body></html>