mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
52 lines
No EOL
9.3 KiB
HTML
52 lines
No EOL
9.3 KiB
HTML
<!DOCTYPE HTML>
|
|
<html><head><meta charset="utf-8"><title>Function.Dependent.Bundles</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">-- Bundles for types of functions</a>
|
|
<a id="140" class="Comment">------------------------------------------------------------------------</a>
|
|
|
|
<a id="214" class="Comment">-- The contents of this file should usually be accessed from `Function`.</a>
|
|
|
|
<a id="288" class="Comment">-- Note that these bundles differ from those found elsewhere in other</a>
|
|
<a id="358" class="Comment">-- library hierarchies as they take Setoids as parameters. This is</a>
|
|
<a id="425" class="Comment">-- because a function is of no use without knowing what its domain and</a>
|
|
<a id="496" class="Comment">-- codomain is, as well which equalities are being considered over them.</a>
|
|
<a id="569" class="Comment">-- One consequence of this is that they are not built from the</a>
|
|
<a id="632" class="Comment">-- definitions found in `Function.Structures` as is usually the case in</a>
|
|
<a id="704" class="Comment">-- other library hierarchies, as this would duplicate the equality</a>
|
|
<a id="771" class="Comment">-- axioms.</a>
|
|
|
|
<a id="783" class="Symbol">{-#</a> <a id="787" class="Keyword">OPTIONS</a> <a id="795" class="Pragma">--cubical-compatible</a> <a id="816" class="Pragma">--safe</a> <a id="823" class="Symbol">#-}</a>
|
|
|
|
<a id="828" class="Keyword">module</a> <a id="835" href="Function.Dependent.Bundles.html" class="Module">Function.Dependent.Bundles</a> <a id="862" class="Keyword">where</a>
|
|
|
|
<a id="869" class="Keyword">open</a> <a id="874" class="Keyword">import</a> <a id="881" href="Level.html" class="Module">Level</a> <a id="887" class="Keyword">using</a> <a id="893" class="Symbol">(</a><a id="894" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="899" class="Symbol">;</a> <a id="901" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a><a id="904" class="Symbol">)</a>
|
|
<a id="906" class="Keyword">open</a> <a id="911" class="Keyword">import</a> <a id="918" href="Relation.Binary.Bundles.html" class="Module">Relation.Binary.Bundles</a> <a id="942" class="Keyword">using</a> <a id="948" class="Symbol">(</a><a id="949" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a><a id="955" class="Symbol">)</a>
|
|
<a id="957" class="Keyword">open</a> <a id="962" class="Keyword">import</a> <a id="969" href="Relation.Binary.Indexed.Heterogeneous.html" class="Module">Relation.Binary.Indexed.Heterogeneous</a> <a id="1007" class="Keyword">using</a> <a id="1013" class="Symbol">(</a><a id="1014" href="Relation.Binary.Indexed.Heterogeneous.Bundles.html#803" class="Record">IndexedSetoid</a><a id="1027" class="Symbol">)</a>
|
|
|
|
<a id="1030" class="Keyword">private</a>
|
|
<a id="1040" class="Keyword">variable</a>
|
|
<a id="1053" href="Function.Dependent.Bundles.html#1053" class="Generalizable">a</a> <a id="1055" href="Function.Dependent.Bundles.html#1055" class="Generalizable">b</a> <a id="1057" href="Function.Dependent.Bundles.html#1057" class="Generalizable">ℓ₁</a> <a id="1060" href="Function.Dependent.Bundles.html#1060" class="Generalizable">ℓ₂</a> <a id="1063" class="Symbol">:</a> <a id="1065" href="Agda.Primitive.html#742" class="Postulate">Level</a>
|
|
|
|
<a id="1072" class="Comment">------------------------------------------------------------------------</a>
|
|
<a id="1145" class="Comment">-- Setoid bundles</a>
|
|
<a id="1163" class="Comment">------------------------------------------------------------------------</a>
|
|
|
|
<a id="1237" class="Keyword">module</a> <a id="1244" href="Function.Dependent.Bundles.html#1244" class="Module">_</a>
|
|
<a id="1248" class="Symbol">(</a><a id="1249" href="Function.Dependent.Bundles.html#1249" class="Bound">From</a> <a id="1254" class="Symbol">:</a> <a id="1256" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="1263" href="Function.Dependent.Bundles.html#1053" class="Generalizable">a</a> <a id="1265" href="Function.Dependent.Bundles.html#1057" class="Generalizable">ℓ₁</a><a id="1267" class="Symbol">)</a>
|
|
<a id="1271" class="Symbol">(</a><a id="1272" href="Function.Dependent.Bundles.html#1272" class="Bound">To</a> <a id="1275" class="Symbol">:</a> <a id="1277" href="Relation.Binary.Indexed.Heterogeneous.Bundles.html#803" class="Record">IndexedSetoid</a> <a id="1291" class="Symbol">(</a><a id="1292" href="Relation.Binary.Bundles.html#1143" class="Field">Setoid.Carrier</a> <a id="1307" href="Function.Dependent.Bundles.html#1249" class="Bound">From</a><a id="1311" class="Symbol">)</a> <a id="1313" href="Function.Dependent.Bundles.html#1055" class="Generalizable">b</a> <a id="1315" href="Function.Dependent.Bundles.html#1060" class="Generalizable">ℓ₂</a><a id="1317" class="Symbol">)</a>
|
|
<a id="1321" class="Keyword">where</a>
|
|
|
|
<a id="1330" class="Keyword">open</a> <a id="1335" href="Relation.Binary.Bundles.html#1080" class="Module">Setoid</a> <a id="1342" href="Function.Dependent.Bundles.html#1249" class="Bound">From</a> <a id="1347" class="Keyword">using</a> <a id="1353" class="Symbol">()</a> <a id="1356" class="Keyword">renaming</a> <a id="1365" class="Symbol">(</a><a id="1366" href="Relation.Binary.Bundles.html#1143" class="Field">Carrier</a> <a id="1374" class="Symbol">to</a> <a id="1377" class="Field">A</a><a id="1378" class="Symbol">;</a> <a id="1380" href="Relation.Binary.Bundles.html#1169" class="Field Operator">_≈_</a> <a id="1384" class="Symbol">to</a> <a id="1387" class="Field Operator">_≈₁_</a><a id="1391" class="Symbol">)</a>
|
|
<a id="1395" class="Keyword">open</a> <a id="1400" href="Relation.Binary.Indexed.Heterogeneous.Bundles.html#803" class="Module">IndexedSetoid</a> <a id="1414" href="Function.Dependent.Bundles.html#1272" class="Bound">To</a> <a id="1417" class="Keyword">using</a> <a id="1423" class="Symbol">()</a> <a id="1426" class="Keyword">renaming</a> <a id="1435" class="Symbol">(</a><a id="1436" href="Relation.Binary.Indexed.Heterogeneous.Bundles.html#893" class="Field">Carrier</a> <a id="1444" class="Symbol">to</a> <a id="1447" class="Field">B</a><a id="1448" class="Symbol">;</a> <a id="1450" href="Relation.Binary.Indexed.Heterogeneous.Bundles.html#923" class="Field Operator">_≈_</a> <a id="1454" class="Symbol">to</a> <a id="1457" class="Field Operator">_≈₂_</a><a id="1461" class="Symbol">)</a>
|
|
|
|
<a id="1464" class="Comment">------------------------------------------------------------------------</a>
|
|
<a id="1537" class="Comment">-- Bundles with one element</a>
|
|
|
|
<a id="1568" class="Comment">-- Called `Func` rather than `Function` in order to avoid clashing</a>
|
|
<a id="1637" class="Comment">-- with the top-level module.</a>
|
|
<a id="1669" class="Keyword">record</a> <a id="1676" href="Function.Dependent.Bundles.html#1676" class="Record">Func</a> <a id="1681" class="Symbol">:</a> <a id="1683" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1687" class="Symbol">(</a><a id="1688" href="Function.Dependent.Bundles.html#1263" class="Bound">a</a> <a id="1690" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1692" href="Function.Dependent.Bundles.html#1313" class="Bound">b</a> <a id="1694" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1696" href="Function.Dependent.Bundles.html#1265" class="Bound">ℓ₁</a> <a id="1699" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1701" href="Function.Dependent.Bundles.html#1315" class="Bound">ℓ₂</a><a id="1703" class="Symbol">)</a> <a id="1705" class="Keyword">where</a>
|
|
<a id="1715" class="Keyword">field</a>
|
|
<a id="1727" href="Function.Dependent.Bundles.html#1727" class="Field">to</a> <a id="1732" class="Symbol">:</a> <a id="1734" class="Symbol">(</a><a id="1735" href="Function.Dependent.Bundles.html#1735" class="Bound">x</a> <a id="1737" class="Symbol">:</a> <a id="1739" href="Function.Dependent.Bundles.html#1377" class="Function">A</a><a id="1740" class="Symbol">)</a> <a id="1742" class="Symbol">→</a> <a id="1744" href="Function.Dependent.Bundles.html#1447" class="Field">B</a> <a id="1746" href="Function.Dependent.Bundles.html#1735" class="Bound">x</a>
|
|
<a id="1754" href="Function.Dependent.Bundles.html#1754" class="Field">cong</a> <a id="1759" class="Symbol">:</a> <a id="1761" class="Symbol">∀</a> <a id="1763" class="Symbol">{</a><a id="1764" href="Function.Dependent.Bundles.html#1764" class="Bound">x</a> <a id="1766" href="Function.Dependent.Bundles.html#1766" class="Bound">y</a><a id="1767" class="Symbol">}</a> <a id="1769" class="Symbol">→</a> <a id="1771" href="Function.Dependent.Bundles.html#1764" class="Bound">x</a> <a id="1773" href="Function.Dependent.Bundles.html#1387" class="Function Operator">≈₁</a> <a id="1776" href="Function.Dependent.Bundles.html#1766" class="Bound">y</a> <a id="1778" class="Symbol">→</a> <a id="1780" href="Function.Dependent.Bundles.html#1727" class="Field">to</a> <a id="1783" href="Function.Dependent.Bundles.html#1764" class="Bound">x</a> <a id="1785" href="Function.Dependent.Bundles.html#1457" class="Field Operator">≈₂</a> <a id="1788" href="Function.Dependent.Bundles.html#1727" class="Field">to</a> <a id="1791" href="Function.Dependent.Bundles.html#1766" class="Bound">y</a>
|
|
</pre></body></html> |