mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
49 lines
No EOL
13 KiB
HTML
49 lines
No EOL
13 KiB
HTML
<!DOCTYPE HTML>
|
||
<html><head><meta charset="utf-8"><title>Function.Definitions</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">-- Definitions for types of functions.</a>
|
||
<a id="145" class="Comment">------------------------------------------------------------------------</a>
|
||
|
||
<a id="219" class="Comment">-- The contents of this file should usually be accessed from `Function`.</a>
|
||
|
||
<a id="293" class="Symbol">{-#</a> <a id="297" class="Keyword">OPTIONS</a> <a id="305" class="Pragma">--cubical-compatible</a> <a id="326" class="Pragma">--safe</a> <a id="333" class="Symbol">#-}</a>
|
||
|
||
<a id="338" class="Keyword">open</a> <a id="343" class="Keyword">import</a> <a id="350" href="Relation.Binary.html" class="Module">Relation.Binary</a>
|
||
|
||
<a id="367" class="Keyword">module</a> <a id="374" href="Function.Definitions.html" class="Module">Function.Definitions</a>
|
||
<a id="397" class="Symbol">{</a><a id="398" href="Function.Definitions.html#398" class="Bound">a</a> <a id="400" href="Function.Definitions.html#400" class="Bound">b</a> <a id="402" href="Function.Definitions.html#402" class="Bound">ℓ₁</a> <a id="405" href="Function.Definitions.html#405" class="Bound">ℓ₂</a><a id="407" class="Symbol">}</a> <a id="409" class="Symbol">{</a><a id="410" href="Function.Definitions.html#410" class="Bound">A</a> <a id="412" class="Symbol">:</a> <a id="414" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="418" href="Function.Definitions.html#398" class="Bound">a</a><a id="419" class="Symbol">}</a> <a id="421" class="Symbol">{</a><a id="422" href="Function.Definitions.html#422" class="Bound">B</a> <a id="424" class="Symbol">:</a> <a id="426" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="430" href="Function.Definitions.html#400" class="Bound">b</a><a id="431" class="Symbol">}</a>
|
||
<a id="435" class="Symbol">(</a><a id="436" href="Function.Definitions.html#436" class="Bound Operator">_≈₁_</a> <a id="441" class="Symbol">:</a> <a id="443" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="447" href="Function.Definitions.html#410" class="Bound">A</a> <a id="449" href="Function.Definitions.html#402" class="Bound">ℓ₁</a><a id="451" class="Symbol">)</a> <a id="453" class="Comment">-- Equality over the domain</a>
|
||
<a id="483" class="Symbol">(</a><a id="484" href="Function.Definitions.html#484" class="Bound Operator">_≈₂_</a> <a id="489" class="Symbol">:</a> <a id="491" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="495" href="Function.Definitions.html#422" class="Bound">B</a> <a id="497" href="Function.Definitions.html#405" class="Bound">ℓ₂</a><a id="499" class="Symbol">)</a> <a id="501" class="Comment">-- Equality over the codomain</a>
|
||
<a id="533" class="Keyword">where</a>
|
||
|
||
<a id="540" class="Keyword">open</a> <a id="545" class="Keyword">import</a> <a id="552" href="Data.Product.html" class="Module">Data.Product</a> <a id="565" class="Keyword">using</a> <a id="571" class="Symbol">(</a><a id="572" href="Data.Product.html#1378" class="Function">∃</a><a id="573" class="Symbol">;</a> <a id="575" href="Data.Product.html#1176" class="Function Operator">_×_</a><a id="578" class="Symbol">)</a>
|
||
<a id="580" class="Keyword">import</a> <a id="587" href="Function.Definitions.Core1.html" class="Module">Function.Definitions.Core1</a> <a id="614" class="Symbol">as</a> <a id="617" class="Module">Core₁</a>
|
||
<a id="623" class="Keyword">import</a> <a id="630" href="Function.Definitions.Core2.html" class="Module">Function.Definitions.Core2</a> <a id="657" class="Symbol">as</a> <a id="660" class="Module">Core₂</a>
|
||
<a id="666" class="Keyword">open</a> <a id="671" class="Keyword">import</a> <a id="678" href="Function.Base.html" class="Module">Function.Base</a>
|
||
<a id="692" class="Keyword">open</a> <a id="697" class="Keyword">import</a> <a id="704" href="Level.html" class="Module">Level</a> <a id="710" class="Keyword">using</a> <a id="716" class="Symbol">(</a><a id="717" href="Agda.Primitive.html#804" class="Primitive Operator">_⊔_</a><a id="720" class="Symbol">)</a>
|
||
|
||
<a id="723" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="796" class="Comment">-- Definitions</a>
|
||
|
||
<a id="Congruent"></a><a id="812" href="Function.Definitions.html#812" class="Function">Congruent</a> <a id="822" class="Symbol">:</a> <a id="824" class="Symbol">(</a><a id="825" href="Function.Definitions.html#410" class="Bound">A</a> <a id="827" class="Symbol">→</a> <a id="829" href="Function.Definitions.html#422" class="Bound">B</a><a id="830" class="Symbol">)</a> <a id="832" class="Symbol">→</a> <a id="834" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="838" class="Symbol">(</a><a id="839" href="Function.Definitions.html#398" class="Bound">a</a> <a id="841" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="843" href="Function.Definitions.html#402" class="Bound">ℓ₁</a> <a id="846" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="848" href="Function.Definitions.html#405" class="Bound">ℓ₂</a><a id="850" class="Symbol">)</a>
|
||
<a id="852" href="Function.Definitions.html#812" class="Function">Congruent</a> <a id="862" href="Function.Definitions.html#862" class="Bound">f</a> <a id="864" class="Symbol">=</a> <a id="866" class="Symbol">∀</a> <a id="868" class="Symbol">{</a><a id="869" href="Function.Definitions.html#869" class="Bound">x</a> <a id="871" href="Function.Definitions.html#871" class="Bound">y</a><a id="872" class="Symbol">}</a> <a id="874" class="Symbol">→</a> <a id="876" href="Function.Definitions.html#869" class="Bound">x</a> <a id="878" href="Function.Definitions.html#436" class="Bound Operator">≈₁</a> <a id="881" href="Function.Definitions.html#871" class="Bound">y</a> <a id="883" class="Symbol">→</a> <a id="886" href="Function.Definitions.html#862" class="Bound">f</a> <a id="888" href="Function.Definitions.html#869" class="Bound">x</a> <a id="890" href="Function.Definitions.html#484" class="Bound Operator">≈₂</a> <a id="893" href="Function.Definitions.html#862" class="Bound">f</a> <a id="895" href="Function.Definitions.html#871" class="Bound">y</a>
|
||
|
||
<a id="Injective"></a><a id="898" href="Function.Definitions.html#898" class="Function">Injective</a> <a id="908" class="Symbol">:</a> <a id="910" class="Symbol">(</a><a id="911" href="Function.Definitions.html#410" class="Bound">A</a> <a id="913" class="Symbol">→</a> <a id="915" href="Function.Definitions.html#422" class="Bound">B</a><a id="916" class="Symbol">)</a> <a id="918" class="Symbol">→</a> <a id="920" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="924" class="Symbol">(</a><a id="925" href="Function.Definitions.html#398" class="Bound">a</a> <a id="927" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="929" href="Function.Definitions.html#402" class="Bound">ℓ₁</a> <a id="932" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="934" href="Function.Definitions.html#405" class="Bound">ℓ₂</a><a id="936" class="Symbol">)</a>
|
||
<a id="938" href="Function.Definitions.html#898" class="Function">Injective</a> <a id="948" href="Function.Definitions.html#948" class="Bound">f</a> <a id="950" class="Symbol">=</a> <a id="952" class="Symbol">∀</a> <a id="954" class="Symbol">{</a><a id="955" href="Function.Definitions.html#955" class="Bound">x</a> <a id="957" href="Function.Definitions.html#957" class="Bound">y</a><a id="958" class="Symbol">}</a> <a id="960" class="Symbol">→</a> <a id="962" href="Function.Definitions.html#948" class="Bound">f</a> <a id="964" href="Function.Definitions.html#955" class="Bound">x</a> <a id="966" href="Function.Definitions.html#484" class="Bound Operator">≈₂</a> <a id="969" href="Function.Definitions.html#948" class="Bound">f</a> <a id="971" href="Function.Definitions.html#957" class="Bound">y</a> <a id="973" class="Symbol">→</a> <a id="975" href="Function.Definitions.html#955" class="Bound">x</a> <a id="977" href="Function.Definitions.html#436" class="Bound Operator">≈₁</a> <a id="980" href="Function.Definitions.html#957" class="Bound">y</a>
|
||
|
||
<a id="983" class="Keyword">open</a> <a id="988" href="Function.Definitions.Core2.html" class="Module">Core₂</a> <a id="994" href="Function.Definitions.html#484" class="Bound Operator">_≈₂_</a> <a id="999" class="Keyword">public</a>
|
||
<a id="1008" class="Keyword">using</a> <a id="1014" class="Symbol">(</a><a id="1015" href="Function.Definitions.Core2.html#672" class="Function">Surjective</a><a id="1025" class="Symbol">)</a>
|
||
|
||
<a id="Bijective"></a><a id="1028" href="Function.Definitions.html#1028" class="Function">Bijective</a> <a id="1038" class="Symbol">:</a> <a id="1040" class="Symbol">(</a><a id="1041" href="Function.Definitions.html#410" class="Bound">A</a> <a id="1043" class="Symbol">→</a> <a id="1045" href="Function.Definitions.html#422" class="Bound">B</a><a id="1046" class="Symbol">)</a> <a id="1048" class="Symbol">→</a> <a id="1050" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1054" class="Symbol">(</a><a id="1055" href="Function.Definitions.html#398" class="Bound">a</a> <a id="1057" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1059" href="Function.Definitions.html#400" class="Bound">b</a> <a id="1061" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1063" href="Function.Definitions.html#402" class="Bound">ℓ₁</a> <a id="1066" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1068" href="Function.Definitions.html#405" class="Bound">ℓ₂</a><a id="1070" class="Symbol">)</a>
|
||
<a id="1072" href="Function.Definitions.html#1028" class="Function">Bijective</a> <a id="1082" href="Function.Definitions.html#1082" class="Bound">f</a> <a id="1084" class="Symbol">=</a> <a id="1086" href="Function.Definitions.html#898" class="Function">Injective</a> <a id="1096" href="Function.Definitions.html#1082" class="Bound">f</a> <a id="1098" href="Data.Product.html#1176" class="Function Operator">×</a> <a id="1100" href="Function.Definitions.Core2.html#672" class="Function">Surjective</a> <a id="1111" href="Function.Definitions.html#1082" class="Bound">f</a>
|
||
|
||
<a id="1114" class="Keyword">open</a> <a id="1119" href="Function.Definitions.Core2.html" class="Module">Core₂</a> <a id="1125" href="Function.Definitions.html#484" class="Bound Operator">_≈₂_</a> <a id="1130" class="Keyword">public</a>
|
||
<a id="1139" class="Keyword">using</a> <a id="1145" class="Symbol">(</a><a id="1146" href="Function.Definitions.Core2.html#827" class="Function">Inverseˡ</a><a id="1154" class="Symbol">)</a>
|
||
|
||
<a id="1157" class="Keyword">open</a> <a id="1162" href="Function.Definitions.Core1.html" class="Module">Core₁</a> <a id="1168" href="Function.Definitions.html#436" class="Bound Operator">_≈₁_</a> <a id="1173" class="Keyword">public</a>
|
||
<a id="1182" class="Keyword">using</a> <a id="1188" class="Symbol">(</a><a id="1189" href="Function.Definitions.Core1.html#684" class="Function">Inverseʳ</a><a id="1197" class="Symbol">)</a>
|
||
|
||
<a id="Inverseᵇ"></a><a id="1200" href="Function.Definitions.html#1200" class="Function">Inverseᵇ</a> <a id="1209" class="Symbol">:</a> <a id="1211" class="Symbol">(</a><a id="1212" href="Function.Definitions.html#410" class="Bound">A</a> <a id="1214" class="Symbol">→</a> <a id="1216" href="Function.Definitions.html#422" class="Bound">B</a><a id="1217" class="Symbol">)</a> <a id="1219" class="Symbol">→</a> <a id="1221" class="Symbol">(</a><a id="1222" href="Function.Definitions.html#422" class="Bound">B</a> <a id="1224" class="Symbol">→</a> <a id="1226" href="Function.Definitions.html#410" class="Bound">A</a><a id="1227" class="Symbol">)</a> <a id="1229" class="Symbol">→</a> <a id="1231" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1235" class="Symbol">(</a><a id="1236" href="Function.Definitions.html#398" class="Bound">a</a> <a id="1238" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1240" href="Function.Definitions.html#400" class="Bound">b</a> <a id="1242" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1244" href="Function.Definitions.html#402" class="Bound">ℓ₁</a> <a id="1247" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1249" href="Function.Definitions.html#405" class="Bound">ℓ₂</a><a id="1251" class="Symbol">)</a>
|
||
<a id="1253" href="Function.Definitions.html#1200" class="Function">Inverseᵇ</a> <a id="1262" href="Function.Definitions.html#1262" class="Bound">f</a> <a id="1264" href="Function.Definitions.html#1264" class="Bound">g</a> <a id="1266" class="Symbol">=</a> <a id="1268" href="Function.Definitions.Core2.html#827" class="Function">Inverseˡ</a> <a id="1277" href="Function.Definitions.html#1262" class="Bound">f</a> <a id="1279" href="Function.Definitions.html#1264" class="Bound">g</a> <a id="1281" href="Data.Product.html#1176" class="Function Operator">×</a> <a id="1283" href="Function.Definitions.Core1.html#684" class="Function">Inverseʳ</a> <a id="1292" href="Function.Definitions.html#1262" class="Bound">f</a> <a id="1294" href="Function.Definitions.html#1264" class="Bound">g</a>
|
||
</pre></body></html> |