mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
38 lines
No EOL
14 KiB
HTML
38 lines
No EOL
14 KiB
HTML
<!DOCTYPE HTML>
|
||
<html><head><meta charset="utf-8"><title>Categories.Category.Instance.Sets</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--without-K</a> <a id="25" class="Pragma">--safe</a> <a id="32" class="Symbol">#-}</a>
|
||
<a id="36" class="Keyword">module</a> <a id="43" href="Categories.Category.Instance.Sets.html" class="Module">Categories.Category.Instance.Sets</a> <a id="77" class="Keyword">where</a>
|
||
|
||
<a id="84" class="Comment">-- Category of (Agda) Sets, aka (types, functions, pointwise equality with implicit value)</a>
|
||
<a id="175" class="Comment">-- Note the (explicit) levels in each</a>
|
||
|
||
<a id="214" class="Keyword">open</a> <a id="219" class="Keyword">import</a> <a id="226" href="Level.html" class="Module">Level</a>
|
||
<a id="232" class="Keyword">open</a> <a id="237" class="Keyword">import</a> <a id="244" href="Relation.Binary.html" class="Module">Relation.Binary</a>
|
||
<a id="260" class="Keyword">open</a> <a id="265" class="Keyword">import</a> <a id="272" href="Function.html" class="Module">Function</a> <a id="281" class="Keyword">using</a> <a id="287" class="Symbol">(</a><a id="288" href="Function.Base.html#3626" class="Function Operator">_∘′_</a><a id="292" class="Symbol">)</a> <a id="294" class="Keyword">renaming</a> <a id="303" class="Symbol">(</a><a id="304" href="Function.Base.html#704" class="Function">id</a> <a id="307" class="Symbol">to</a> <a id="310" class="Function">idf</a><a id="313" class="Symbol">)</a>
|
||
<a id="315" class="Keyword">open</a> <a id="320" class="Keyword">import</a> <a id="327" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a> <a id="365" class="Symbol">as</a> <a id="368" class="Module">≡</a> <a id="370" class="Keyword">using</a> <a id="376" class="Symbol">(</a><a id="377" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a><a id="380" class="Symbol">)</a>
|
||
|
||
<a id="383" class="Keyword">open</a> <a id="388" class="Keyword">import</a> <a id="395" href="Categories.Category.html" class="Module">Categories.Category</a>
|
||
|
||
<a id="Sets"></a><a id="416" href="Categories.Category.Instance.Sets.html#416" class="Function">Sets</a> <a id="421" class="Symbol">:</a> <a id="423" class="Symbol">∀</a> <a id="425" href="Categories.Category.Instance.Sets.html#425" class="Bound">o</a> <a id="427" class="Symbol">→</a> <a id="429" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="438" class="Symbol">(</a><a id="439" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="443" href="Categories.Category.Instance.Sets.html#425" class="Bound">o</a><a id="444" class="Symbol">)</a> <a id="446" href="Categories.Category.Instance.Sets.html#425" class="Bound">o</a> <a id="448" href="Categories.Category.Instance.Sets.html#425" class="Bound">o</a>
|
||
<a id="450" href="Categories.Category.Instance.Sets.html#416" class="Function">Sets</a> <a id="455" href="Categories.Category.Instance.Sets.html#455" class="Bound">o</a> <a id="457" class="Symbol">=</a> <a id="459" class="Keyword">record</a>
|
||
<a id="468" class="Symbol">{</a> <a id="470" href="Categories.Category.Core.html#559" class="Field">Obj</a> <a id="480" class="Symbol">=</a> <a id="482" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="486" href="Categories.Category.Instance.Sets.html#455" class="Bound">o</a>
|
||
<a id="490" class="Symbol">;</a> <a id="492" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="502" class="Symbol">=</a> <a id="504" class="Symbol">λ</a> <a id="506" href="Categories.Category.Instance.Sets.html#506" class="Bound">c</a> <a id="508" href="Categories.Category.Instance.Sets.html#508" class="Bound">d</a> <a id="510" class="Symbol">→</a> <a id="512" href="Categories.Category.Instance.Sets.html#506" class="Bound">c</a> <a id="514" class="Symbol">→</a> <a id="516" href="Categories.Category.Instance.Sets.html#508" class="Bound">d</a>
|
||
<a id="520" class="Symbol">;</a> <a id="522" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a> <a id="532" class="Symbol">=</a> <a id="534" class="Symbol">λ</a> <a id="536" href="Categories.Category.Instance.Sets.html#536" class="Bound">f</a> <a id="538" href="Categories.Category.Instance.Sets.html#538" class="Bound">g</a> <a id="540" class="Symbol">→</a> <a id="542" class="Symbol">∀</a> <a id="544" class="Symbol">{</a><a id="545" href="Categories.Category.Instance.Sets.html#545" class="Bound">x</a><a id="546" class="Symbol">}</a> <a id="548" class="Symbol">→</a> <a id="550" href="Categories.Category.Instance.Sets.html#536" class="Bound">f</a> <a id="552" href="Categories.Category.Instance.Sets.html#545" class="Bound">x</a> <a id="554" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="556" href="Categories.Category.Instance.Sets.html#538" class="Bound">g</a> <a id="558" href="Categories.Category.Instance.Sets.html#545" class="Bound">x</a>
|
||
<a id="562" class="Symbol">;</a> <a id="564" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="574" class="Symbol">=</a> <a id="576" href="Categories.Category.Instance.Sets.html#310" class="Function">idf</a>
|
||
<a id="582" class="Symbol">;</a> <a id="584" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a> <a id="594" class="Symbol">=</a> <a id="596" href="Function.Base.html#3626" class="Function Operator">_∘′_</a>
|
||
<a id="603" class="Symbol">;</a> <a id="605" href="Categories.Category.Core.html#715" class="Field">assoc</a> <a id="615" class="Symbol">=</a> <a id="617" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">≡.refl</a>
|
||
<a id="626" class="Symbol">;</a> <a id="628" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="638" class="Symbol">=</a> <a id="640" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">≡.refl</a>
|
||
<a id="649" class="Symbol">;</a> <a id="651" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="661" class="Symbol">=</a> <a id="663" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">≡.refl</a>
|
||
<a id="672" class="Symbol">;</a> <a id="674" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="684" class="Symbol">=</a> <a id="686" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">≡.refl</a>
|
||
<a id="695" class="Symbol">;</a> <a id="697" href="Categories.Category.Core.html#1339" class="Field">identity²</a> <a id="707" class="Symbol">=</a> <a id="709" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">≡.refl</a>
|
||
<a id="718" class="Symbol">;</a> <a id="720" href="Categories.Category.Core.html#1384" class="Field">equiv</a> <a id="730" class="Symbol">=</a> <a id="732" class="Keyword">record</a>
|
||
<a id="743" class="Symbol">{</a> <a id="745" href="Relation.Binary.Structures.html#1596" class="Field">refl</a> <a id="751" class="Symbol">=</a> <a id="753" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">≡.refl</a>
|
||
<a id="764" class="Symbol">;</a> <a id="766" href="Relation.Binary.Structures.html#1622" class="Field">sym</a> <a id="772" class="Symbol">=</a> <a id="774" class="Symbol">λ</a> <a id="776" href="Categories.Category.Instance.Sets.html#776" class="Bound">eq</a> <a id="779" class="Symbol">→</a> <a id="781" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">≡.sym</a> <a id="787" href="Categories.Category.Instance.Sets.html#776" class="Bound">eq</a>
|
||
<a id="794" class="Symbol">;</a> <a id="796" href="Relation.Binary.Structures.html#1648" class="Field">trans</a> <a id="802" class="Symbol">=</a> <a id="804" class="Symbol">λ</a> <a id="806" href="Categories.Category.Instance.Sets.html#806" class="Bound">eq₁</a> <a id="810" href="Categories.Category.Instance.Sets.html#810" class="Bound">eq₂</a> <a id="814" class="Symbol">→</a> <a id="816" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">≡.trans</a> <a id="824" href="Categories.Category.Instance.Sets.html#806" class="Bound">eq₁</a> <a id="828" href="Categories.Category.Instance.Sets.html#810" class="Bound">eq₂</a>
|
||
<a id="836" class="Symbol">}</a>
|
||
<a id="840" class="Symbol">;</a> <a id="842" href="Categories.Category.Core.html#1438" class="Field">∘-resp-≈</a> <a id="852" class="Symbol">=</a> <a id="854" href="Categories.Category.Instance.Sets.html#871" class="Function">resp</a>
|
||
<a id="861" class="Symbol">}</a>
|
||
<a id="865" class="Keyword">where</a> <a id="871" href="Categories.Category.Instance.Sets.html#871" class="Function">resp</a> <a id="876" class="Symbol">:</a> <a id="878" class="Symbol">∀</a> <a id="880" class="Symbol">{</a><a id="881" href="Categories.Category.Instance.Sets.html#881" class="Bound">A</a> <a id="883" href="Categories.Category.Instance.Sets.html#883" class="Bound">B</a> <a id="885" href="Categories.Category.Instance.Sets.html#885" class="Bound">C</a> <a id="887" class="Symbol">:</a> <a id="889" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="893" href="Categories.Category.Instance.Sets.html#455" class="Bound">o</a><a id="894" class="Symbol">}</a> <a id="896" class="Symbol">{</a><a id="897" href="Categories.Category.Instance.Sets.html#897" class="Bound">f</a> <a id="899" href="Categories.Category.Instance.Sets.html#899" class="Bound">h</a> <a id="901" class="Symbol">:</a> <a id="903" href="Categories.Category.Instance.Sets.html#883" class="Bound">B</a> <a id="905" class="Symbol">→</a> <a id="907" href="Categories.Category.Instance.Sets.html#885" class="Bound">C</a><a id="908" class="Symbol">}</a> <a id="910" class="Symbol">{</a><a id="911" href="Categories.Category.Instance.Sets.html#911" class="Bound">g</a> <a id="913" href="Categories.Category.Instance.Sets.html#913" class="Bound">i</a> <a id="915" class="Symbol">:</a> <a id="917" href="Categories.Category.Instance.Sets.html#881" class="Bound">A</a> <a id="919" class="Symbol">→</a> <a id="921" href="Categories.Category.Instance.Sets.html#883" class="Bound">B</a><a id="922" class="Symbol">}</a> <a id="924" class="Symbol">→</a>
|
||
<a id="943" class="Symbol">({</a><a id="945" href="Categories.Category.Instance.Sets.html#945" class="Bound">x</a> <a id="947" class="Symbol">:</a> <a id="949" href="Categories.Category.Instance.Sets.html#883" class="Bound">B</a><a id="950" class="Symbol">}</a> <a id="952" class="Symbol">→</a> <a id="954" href="Categories.Category.Instance.Sets.html#897" class="Bound">f</a> <a id="956" href="Categories.Category.Instance.Sets.html#945" class="Bound">x</a> <a id="958" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="960" href="Categories.Category.Instance.Sets.html#899" class="Bound">h</a> <a id="962" href="Categories.Category.Instance.Sets.html#945" class="Bound">x</a><a id="963" class="Symbol">)</a> <a id="965" class="Symbol">→</a>
|
||
<a id="984" class="Symbol">({</a><a id="986" href="Categories.Category.Instance.Sets.html#986" class="Bound">x</a> <a id="988" class="Symbol">:</a> <a id="990" href="Categories.Category.Instance.Sets.html#881" class="Bound">A</a><a id="991" class="Symbol">}</a> <a id="993" class="Symbol">→</a> <a id="995" href="Categories.Category.Instance.Sets.html#911" class="Bound">g</a> <a id="997" href="Categories.Category.Instance.Sets.html#986" class="Bound">x</a> <a id="999" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="1001" href="Categories.Category.Instance.Sets.html#913" class="Bound">i</a> <a id="1003" href="Categories.Category.Instance.Sets.html#986" class="Bound">x</a><a id="1004" class="Symbol">)</a> <a id="1006" class="Symbol">→</a> <a id="1008" class="Symbol">{</a><a id="1009" href="Categories.Category.Instance.Sets.html#1009" class="Bound">x</a> <a id="1011" class="Symbol">:</a> <a id="1013" href="Categories.Category.Instance.Sets.html#881" class="Bound">A</a><a id="1014" class="Symbol">}</a> <a id="1016" class="Symbol">→</a> <a id="1018" href="Categories.Category.Instance.Sets.html#897" class="Bound">f</a> <a id="1020" class="Symbol">(</a><a id="1021" href="Categories.Category.Instance.Sets.html#911" class="Bound">g</a> <a id="1023" href="Categories.Category.Instance.Sets.html#1009" class="Bound">x</a><a id="1024" class="Symbol">)</a> <a id="1026" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="1028" href="Categories.Category.Instance.Sets.html#899" class="Bound">h</a> <a id="1030" class="Symbol">(</a><a id="1031" href="Categories.Category.Instance.Sets.html#913" class="Bound">i</a> <a id="1033" href="Categories.Category.Instance.Sets.html#1009" class="Bound">x</a><a id="1034" class="Symbol">)</a>
|
||
<a id="1044" href="Categories.Category.Instance.Sets.html#871" class="Function">resp</a> <a id="1049" class="Symbol">{</a><a id="1050" class="Argument">h</a> <a id="1052" class="Symbol">=</a> <a id="1054" href="Categories.Category.Instance.Sets.html#1054" class="Bound">h</a><a id="1055" class="Symbol">}</a> <a id="1057" href="Categories.Category.Instance.Sets.html#1057" class="Bound">eq₁</a> <a id="1061" href="Categories.Category.Instance.Sets.html#1061" class="Bound">eq₂</a> <a id="1065" class="Symbol">=</a> <a id="1067" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">≡.trans</a> <a id="1075" href="Categories.Category.Instance.Sets.html#1057" class="Bound">eq₁</a> <a id="1079" class="Symbol">(</a><a id="1080" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">≡.cong</a> <a id="1087" href="Categories.Category.Instance.Sets.html#1054" class="Bound">h</a> <a id="1089" href="Categories.Category.Instance.Sets.html#1061" class="Bound">eq₂</a><a id="1092" class="Symbol">)</a>
|
||
</pre></body></html> |