mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
42 lines
13 KiB
HTML
42 lines
13 KiB
HTML
|
<!DOCTYPE HTML>
|
|||
|
<html><head><meta charset="utf-8"><title>Relation.Binary.Indexed.Heterogeneous.Core</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">module</a> <a id="359" href="Relation.Binary.Indexed.Heterogeneous.Core.html" class="Module">Relation.Binary.Indexed.Heterogeneous.Core</a> <a id="402" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="409" class="Keyword">open</a> <a id="414" class="Keyword">import</a> <a id="421" href="Level.html" class="Module">Level</a>
|
|||
|
<a id="427" class="Keyword">import</a> <a id="434" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a> <a id="455" class="Symbol">as</a> <a id="458" class="Module">B</a>
|
|||
|
<a id="460" class="Keyword">import</a> <a id="467" href="Relation.Binary.Definitions.html" class="Module">Relation.Binary.Definitions</a> <a id="495" class="Symbol">as</a> <a id="498" class="Module">B</a>
|
|||
|
<a id="500" class="Keyword">import</a> <a id="507" href="Relation.Binary.PropositionalEquality.Core.html" class="Module">Relation.Binary.PropositionalEquality.Core</a> <a id="550" class="Symbol">as</a> <a id="553" class="Module">P</a>
|
|||
|
|
|||
|
<a id="556" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="629" class="Comment">-- Indexed binary relations</a>
|
|||
|
|
|||
|
<a id="658" class="Comment">-- Heterogeneous types</a>
|
|||
|
|
|||
|
<a id="IREL"></a><a id="682" href="Relation.Binary.Indexed.Heterogeneous.Core.html#682" class="Function">IREL</a> <a id="687" class="Symbol">:</a> <a id="689" class="Symbol">∀</a> <a id="691" class="Symbol">{</a><a id="692" href="Relation.Binary.Indexed.Heterogeneous.Core.html#692" class="Bound">i₁</a> <a id="695" href="Relation.Binary.Indexed.Heterogeneous.Core.html#695" class="Bound">i₂</a> <a id="698" href="Relation.Binary.Indexed.Heterogeneous.Core.html#698" class="Bound">a₁</a> <a id="701" href="Relation.Binary.Indexed.Heterogeneous.Core.html#701" class="Bound">a₂</a><a id="703" class="Symbol">}</a> <a id="705" class="Symbol">{</a><a id="706" href="Relation.Binary.Indexed.Heterogeneous.Core.html#706" class="Bound">I₁</a> <a id="709" class="Symbol">:</a> <a id="711" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="715" href="Relation.Binary.Indexed.Heterogeneous.Core.html#692" class="Bound">i₁</a><a id="717" class="Symbol">}</a> <a id="719" class="Symbol">{</a><a id="720" href="Relation.Binary.Indexed.Heterogeneous.Core.html#720" class="Bound">I₂</a> <a id="723" class="Symbol">:</a> <a id="725" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="729" href="Relation.Binary.Indexed.Heterogeneous.Core.html#695" class="Bound">i₂</a><a id="731" class="Symbol">}</a> <a id="733" class="Symbol">→</a>
|
|||
|
<a id="741" class="Symbol">(</a><a id="742" href="Relation.Binary.Indexed.Heterogeneous.Core.html#706" class="Bound">I₁</a> <a id="745" class="Symbol">→</a> <a id="747" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="751" href="Relation.Binary.Indexed.Heterogeneous.Core.html#698" class="Bound">a₁</a><a id="753" class="Symbol">)</a> <a id="755" class="Symbol">→</a> <a id="757" class="Symbol">(</a><a id="758" href="Relation.Binary.Indexed.Heterogeneous.Core.html#720" class="Bound">I₂</a> <a id="761" class="Symbol">→</a> <a id="763" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="767" href="Relation.Binary.Indexed.Heterogeneous.Core.html#701" class="Bound">a₂</a><a id="769" class="Symbol">)</a> <a id="771" class="Symbol">→</a> <a id="773" class="Symbol">(</a><a id="774" href="Relation.Binary.Indexed.Heterogeneous.Core.html#774" class="Bound">ℓ</a> <a id="776" class="Symbol">:</a> <a id="778" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="783" class="Symbol">)</a> <a id="785" class="Symbol">→</a> <a id="787" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="791" class="Symbol">_</a>
|
|||
|
<a id="793" href="Relation.Binary.Indexed.Heterogeneous.Core.html#682" class="Function">IREL</a> <a id="798" href="Relation.Binary.Indexed.Heterogeneous.Core.html#798" class="Bound">A₁</a> <a id="801" href="Relation.Binary.Indexed.Heterogeneous.Core.html#801" class="Bound">A₂</a> <a id="804" href="Relation.Binary.Indexed.Heterogeneous.Core.html#804" class="Bound">ℓ</a> <a id="806" class="Symbol">=</a> <a id="808" class="Symbol">∀</a> <a id="810" class="Symbol">{</a><a id="811" href="Relation.Binary.Indexed.Heterogeneous.Core.html#811" class="Bound">i₁</a> <a id="814" href="Relation.Binary.Indexed.Heterogeneous.Core.html#814" class="Bound">i₂</a><a id="816" class="Symbol">}</a> <a id="818" class="Symbol">→</a> <a id="820" href="Relation.Binary.Indexed.Heterogeneous.Core.html#798" class="Bound">A₁</a> <a id="823" href="Relation.Binary.Indexed.Heterogeneous.Core.html#811" class="Bound">i₁</a> <a id="826" class="Symbol">→</a> <a id="828" href="Relation.Binary.Indexed.Heterogeneous.Core.html#801" class="Bound">A₂</a> <a id="831" href="Relation.Binary.Indexed.Heterogeneous.Core.html#814" class="Bound">i₂</a> <a id="834" class="Symbol">→</a> <a id="836" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="840" href="Relation.Binary.Indexed.Heterogeneous.Core.html#804" class="Bound">ℓ</a>
|
|||
|
|
|||
|
<a id="843" class="Comment">-- Homogeneous types</a>
|
|||
|
|
|||
|
<a id="IRel"></a><a id="865" href="Relation.Binary.Indexed.Heterogeneous.Core.html#865" class="Function">IRel</a> <a id="870" class="Symbol">:</a> <a id="872" class="Symbol">∀</a> <a id="874" class="Symbol">{</a><a id="875" href="Relation.Binary.Indexed.Heterogeneous.Core.html#875" class="Bound">i</a> <a id="877" href="Relation.Binary.Indexed.Heterogeneous.Core.html#877" class="Bound">a</a><a id="878" class="Symbol">}</a> <a id="880" class="Symbol">{</a><a id="881" href="Relation.Binary.Indexed.Heterogeneous.Core.html#881" class="Bound">I</a> <a id="883" class="Symbol">:</a> <a id="885" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="889" href="Relation.Binary.Indexed.Heterogeneous.Core.html#875" class="Bound">i</a><a id="890" class="Symbol">}</a> <a id="892" class="Symbol">→</a> <a id="894" class="Symbol">(</a><a id="895" href="Relation.Binary.Indexed.Heterogeneous.Core.html#881" class="Bound">I</a> <a id="897" class="Symbol">→</a> <a id="899" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="903" href="Relation.Binary.Indexed.Heterogeneous.Core.html#877" class="Bound">a</a><a id="904" class="Symbol">)</a> <a id="906" class="Symbol">→</a> <a id="908" class="Symbol">(</a><a id="909" href="Relation.Binary.Indexed.Heterogeneous.Core.html#909" class="Bound">ℓ</a> <a id="911" class="Symbol">:</a> <a id="913" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="918" class="Symbol">)</a> <a id="920" class="Symbol">→</a> <a id="922" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="926" class="Symbol">_</a>
|
|||
|
<a id="928" href="Relation.Binary.Indexed.Heterogeneous.Core.html#865" class="Function">IRel</a> <a id="933" href="Relation.Binary.Indexed.Heterogeneous.Core.html#933" class="Bound">A</a> <a id="935" href="Relation.Binary.Indexed.Heterogeneous.Core.html#935" class="Bound">ℓ</a> <a id="937" class="Symbol">=</a> <a id="939" href="Relation.Binary.Indexed.Heterogeneous.Core.html#682" class="Function">IREL</a> <a id="944" href="Relation.Binary.Indexed.Heterogeneous.Core.html#933" class="Bound">A</a> <a id="946" href="Relation.Binary.Indexed.Heterogeneous.Core.html#933" class="Bound">A</a> <a id="948" href="Relation.Binary.Indexed.Heterogeneous.Core.html#935" class="Bound">ℓ</a>
|
|||
|
|
|||
|
<a id="951" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1024" class="Comment">-- Generalised implication.</a>
|
|||
|
|
|||
|
<a id="1053" class="Keyword">infixr</a> <a id="1060" class="Number">4</a> <a id="1062" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1071" class="Function Operator">_=[_]⇒_</a>
|
|||
|
|
|||
|
<a id="_=[_]⇒_"></a><a id="1071" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1071" class="Function Operator">_=[_]⇒_</a> <a id="1079" class="Symbol">:</a> <a id="1081" class="Symbol">∀</a> <a id="1083" class="Symbol">{</a><a id="1084" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1084" class="Bound">a</a> <a id="1086" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1086" class="Bound">b</a> <a id="1088" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1088" class="Bound">ℓ₁</a> <a id="1091" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1091" class="Bound">ℓ₂</a><a id="1093" class="Symbol">}</a> <a id="1095" class="Symbol">{</a><a id="1096" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1096" class="Bound">A</a> <a id="1098" class="Symbol">:</a> <a id="1100" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1104" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1084" class="Bound">a</a><a id="1105" class="Symbol">}</a> <a id="1107" class="Symbol">{</a><a id="1108" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1108" class="Bound">B</a> <a id="1110" class="Symbol">:</a> <a id="1112" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1096" class="Bound">A</a> <a id="1114" class="Symbol">→</a> <a id="1116" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1120" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1086" class="Bound">b</a><a id="1121" class="Symbol">}</a> <a id="1123" class="Symbol">→</a>
|
|||
|
<a id="1135" href="Relation.Binary.Core.html#896" class="Function">B.Rel</a> <a id="1141" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1096" class="Bound">A</a> <a id="1143" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1088" class="Bound">ℓ₁</a> <a id="1146" class="Symbol">→</a> <a id="1148" class="Symbol">((</a><a id="1150" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1150" class="Bound">x</a> <a id="1152" class="Symbol">:</a> <a id="1154" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1096" class="Bound">A</a><a id="1155" class="Symbol">)</a> <a id="1157" class="Symbol">→</a> <a id="1159" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1108" class="Bound">B</a> <a id="1161" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1150" class="Bound">x</a><a id="1162" class="Symbol">)</a> <a id="1164" class="Symbol">→</a> <a id="1166" href="Relation.Binary.Indexed.Heterogeneous.Core.html#865" class="Function">IRel</a> <a id="1171" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1108" class="Bound">B</a> <a id="1173" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1091" class="Bound">ℓ₂</a> <a id="1176" class="Symbol">→</a> <a id="1178" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1182" class="Symbol">_</a>
|
|||
|
<a id="1184" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1184" class="Bound">P</a> <a id="1186" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1071" class="Function Operator">=[</a> <a id="1189" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1189" class="Bound">f</a> <a id="1191" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1071" class="Function Operator">]⇒</a> <a id="1194" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1194" class="Bound">Q</a> <a id="1196" class="Symbol">=</a> <a id="1198" class="Symbol">∀</a> <a id="1200" class="Symbol">{</a><a id="1201" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1201" class="Bound">i</a> <a id="1203" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1203" class="Bound">j</a><a id="1204" class="Symbol">}</a> <a id="1206" class="Symbol">→</a> <a id="1208" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1184" class="Bound">P</a> <a id="1210" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1201" class="Bound">i</a> <a id="1212" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1203" class="Bound">j</a> <a id="1214" class="Symbol">→</a> <a id="1216" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1194" class="Bound">Q</a> <a id="1218" class="Symbol">(</a><a id="1219" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1189" class="Bound">f</a> <a id="1221" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1201" class="Bound">i</a><a id="1222" class="Symbol">)</a> <a id="1224" class="Symbol">(</a><a id="1225" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1189" class="Bound">f</a> <a id="1227" href="Relation.Binary.Indexed.Heterogeneous.Core.html#1203" class="Bound">j</a><a id="1228" class="Symbol">)</a>
|
|||
|
</pre></body></html>
|