rachel.cafe/agda/Relation.Binary.Indexed.Het...

48 lines
13 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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">--without-K</a> <a id="331" class="Pragma">--safe</a> <a id="338" class="Symbol">#-}</a>
<a id="343" class="Keyword">open</a> <a id="348" class="Keyword">import</a> <a id="355" href="Relation.Binary.Indexed.Heterogeneous.Core.html" class="Module">Relation.Binary.Indexed.Heterogeneous.Core</a>
<a id="399" class="Keyword">module</a> <a id="406" href="Relation.Binary.Indexed.Heterogeneous.Structures.html" class="Module">Relation.Binary.Indexed.Heterogeneous.Structures</a>
<a id="457" class="Symbol">{</a><a id="458" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#458" class="Bound">i</a> <a id="460" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#460" class="Bound">a</a> <a id="462" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#462" class="Bound"></a><a id="463" class="Symbol">}</a> <a id="465" class="Symbol">{</a><a id="466" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#466" class="Bound">I</a> <a id="468" class="Symbol">:</a> <a id="470" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="474" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#458" class="Bound">i</a><a id="475" class="Symbol">}</a> <a id="477" class="Symbol">(</a><a id="478" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#478" class="Bound">A</a> <a id="480" class="Symbol">:</a> <a id="482" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#466" class="Bound">I</a> <a id="484" class="Symbol"></a> <a id="486" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="490" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#460" class="Bound">a</a><a id="491" class="Symbol">)</a> <a id="493" class="Symbol">(</a><a id="494" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#494" class="Bound Operator">_≈_</a> <a id="498" class="Symbol">:</a> <a id="500" href="Relation.Binary.Indexed.Heterogeneous.Core.html#856" class="Function">IRel</a> <a id="505" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#478" class="Bound">A</a> <a id="507" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#462" class="Bound"></a><a id="508" class="Symbol">)</a>
<a id="512" class="Keyword">where</a>
<a id="519" class="Keyword">open</a> <a id="524" class="Keyword">import</a> <a id="531" href="Function.Base.html" class="Module">Function.Base</a>
<a id="545" class="Keyword">open</a> <a id="550" class="Keyword">import</a> <a id="557" href="Level.html" class="Module">Level</a> <a id="563" class="Keyword">using</a> <a id="569" class="Symbol">(</a><a id="570" href="Agda.Primitive.html#780" class="Primitive">suc</a><a id="573" class="Symbol">;</a> <a id="575" href="Agda.Primitive.html#810" class="Primitive Operator">_⊔_</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.html" class="Module">Relation.Binary</a> <a id="608" class="Keyword">using</a> <a id="614" class="Symbol">(</a><a id="615" href="Relation.Binary.Core.html#1254" class="Function Operator">_⇒_</a><a id="618" class="Symbol">)</a>
<a id="620" class="Keyword">open</a> <a id="625" class="Keyword">import</a> <a id="632" href="Relation.Binary.PropositionalEquality.Core.html" class="Module">Relation.Binary.PropositionalEquality.Core</a> <a id="675" class="Symbol">as</a> <a id="678" class="Module">P</a> <a id="680" class="Keyword">using</a> <a id="686" class="Symbol">(</a><a id="687" href="Agda.Builtin.Equality.html#151" class="Datatype Operator">_≡_</a><a id="690" class="Symbol">)</a>
<a id="692" class="Keyword">open</a> <a id="697" class="Keyword">import</a> <a id="704" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html" class="Module">Relation.Binary.Indexed.Heterogeneous.Definitions</a>
<a id="755" class="Comment">------------------------------------------------------------------------</a>
<a id="828" class="Comment">-- Equivalences</a>
<a id="845" class="Keyword">record</a> <a id="IsIndexedEquivalence"></a><a id="852" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#852" class="Record">IsIndexedEquivalence</a> <a id="873" class="Symbol">:</a> <a id="875" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="879" class="Symbol">(</a><a id="880" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#458" class="Bound">i</a> <a id="882" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="884" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#460" class="Bound">a</a> <a id="886" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="888" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#462" class="Bound"></a><a id="889" class="Symbol">)</a> <a id="891" class="Keyword">where</a>
<a id="899" class="Keyword">field</a>
<a id="IsIndexedEquivalence.refl"></a><a id="909" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#909" class="Field">refl</a> <a id="915" class="Symbol">:</a> <a id="917" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#784" class="Function">Reflexive</a> <a id="928" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#478" class="Bound">A</a> <a id="930" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#494" class="Bound Operator">_≈_</a>
<a id="IsIndexedEquivalence.sym"></a><a id="938" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#938" class="Field">sym</a> <a id="944" class="Symbol">:</a> <a id="946" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#880" class="Function">Symmetric</a> <a id="957" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#478" class="Bound">A</a> <a id="959" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#494" class="Bound Operator">_≈_</a>
<a id="IsIndexedEquivalence.trans"></a><a id="967" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#967" class="Field">trans</a> <a id="973" class="Symbol">:</a> <a id="975" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#980" class="Function">Transitive</a> <a id="986" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#478" class="Bound">A</a> <a id="988" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#494" class="Bound Operator">_≈_</a>
<a id="IsIndexedEquivalence.reflexive"></a><a id="995" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#995" class="Function">reflexive</a> <a id="1005" class="Symbol">:</a> <a id="1007" class="Symbol"></a> <a id="1009" class="Symbol">{</a><a id="1010" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1010" class="Bound">i</a><a id="1011" class="Symbol">}</a> <a id="1013" class="Symbol"></a> <a id="1015" href="Agda.Builtin.Equality.html#151" class="Datatype Operator">_≡_</a> <a id="1019" href="Function.Base.html#4398" class="Function Operator"></a> <a id="1021" href="Relation.Binary.Core.html#1254" class="Function Operator">_⇒_</a> <a id="1025" href="Function.Base.html#4398" class="Function Operator"></a> <a id="1027" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#494" class="Bound Operator">_≈_</a> <a id="1031" class="Symbol">{</a><a id="1032" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1010" class="Bound">i</a><a id="1033" class="Symbol">}</a>
<a id="1037" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#995" class="Function">reflexive</a> <a id="1047" href="Agda.Builtin.Equality.html#208" class="InductiveConstructor">P.refl</a> <a id="1054" class="Symbol">=</a> <a id="1056" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#909" class="Field">refl</a>
<a id="1063" class="Keyword">record</a> <a id="IsIndexedPreorder"></a><a id="1070" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1070" class="Record">IsIndexedPreorder</a> <a id="1088" class="Symbol">{</a><a id="1089" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1089" class="Bound">ℓ₂</a><a id="1091" class="Symbol">}</a> <a id="1093" class="Symbol">(</a><a id="1094" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1094" class="Bound Operator">__</a> <a id="1098" class="Symbol">:</a> <a id="1100" href="Relation.Binary.Indexed.Heterogeneous.Core.html#856" class="Function">IRel</a> <a id="1105" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#478" class="Bound">A</a> <a id="1107" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1089" class="Bound">ℓ₂</a><a id="1109" class="Symbol">)</a> <a id="1111" class="Symbol">:</a> <a id="1113" href="Agda.Primitive.html#326" class="Primitive">Set</a> <a id="1117" class="Symbol">(</a><a id="1118" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#458" class="Bound">i</a> <a id="1120" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="1122" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#460" class="Bound">a</a> <a id="1124" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="1126" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#462" class="Bound"></a> <a id="1128" href="Agda.Primitive.html#810" class="Primitive Operator"></a> <a id="1130" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1089" class="Bound">ℓ₂</a><a id="1132" class="Symbol">)</a> <a id="1134" class="Keyword">where</a>
<a id="1142" class="Keyword">field</a>
<a id="IsIndexedPreorder.isEquivalence"></a><a id="1152" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1152" class="Field">isEquivalence</a> <a id="1166" class="Symbol">:</a> <a id="1168" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#852" class="Record">IsIndexedEquivalence</a>
<a id="IsIndexedPreorder.reflexive"></a><a id="1193" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1193" class="Field">reflexive</a> <a id="1207" class="Symbol">:</a> <a id="1209" class="Symbol"></a> <a id="1211" class="Symbol">{</a><a id="1212" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1212" class="Bound">i</a> <a id="1214" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1214" class="Bound">j</a><a id="1215" class="Symbol">}</a> <a id="1217" class="Symbol"></a> <a id="1219" class="Symbol">(</a><a id="1220" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#494" class="Bound Operator">_≈_</a> <a id="1224" class="Symbol">{</a><a id="1225" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1212" class="Bound">i</a><a id="1226" class="Symbol">}</a> <a id="1228" class="Symbol">{</a><a id="1229" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1214" class="Bound">j</a><a id="1230" class="Symbol">})</a> <a id="1233" href="Function.Base.html#4398" class="Function Operator"></a> <a id="1235" href="Relation.Binary.Core.html#1254" class="Function Operator">_⇒_</a> <a id="1239" href="Function.Base.html#4398" class="Function Operator"></a> <a id="1241" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1094" class="Bound Operator">__</a>
<a id="IsIndexedPreorder.trans"></a><a id="1249" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1249" class="Field">trans</a> <a id="1263" class="Symbol">:</a> <a id="1265" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#980" class="Function">Transitive</a> <a id="1276" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#478" class="Bound">A</a> <a id="1278" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1094" class="Bound Operator">__</a>
<a id="1285" class="Keyword">module</a> <a id="IsIndexedPreorder.Eq"></a><a id="1292" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1292" class="Module">Eq</a> <a id="1295" class="Symbol">=</a> <a id="1297" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#852" class="Module">IsIndexedEquivalence</a> <a id="1318" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1152" class="Field">isEquivalence</a>
<a id="IsIndexedPreorder.refl"></a><a id="1335" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1335" class="Function">refl</a> <a id="1340" class="Symbol">:</a> <a id="1342" href="Relation.Binary.Indexed.Heterogeneous.Definitions.html#784" class="Function">Reflexive</a> <a id="1352" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#478" class="Bound">A</a> <a id="1354" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1094" class="Bound Operator">__</a>
<a id="1360" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1335" class="Function">refl</a> <a id="1365" class="Symbol">=</a> <a id="1367" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#1193" class="Field">reflexive</a> <a id="1377" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#909" class="Function">Eq.refl</a>
</pre></body></html>