bsc-leon-vatthauer/agda/bsc-thesis/Categories.Category.Construction.Presheaves.html

34 lines
20 KiB
HTML
Raw Normal View History

2024-02-09 17:53:52 +01:00
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Categories.Category.Construction.Presheaves</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.Construction.Presheaves.html" class="Module">Categories.Category.Construction.Presheaves</a> <a id="87" class="Keyword">where</a>
<a id="94" class="Comment">-- The Category of Presheaves over a Category C, i.e.</a>
<a id="148" class="Comment">-- the Functor Category [ C.op , Setoids ]</a>
<a id="191" class="Comment">-- Again, the levels are made explicit to show the generality and constraints.</a>
<a id="271" class="Comment">-- CoPreasheaves are defined here as well, for convenience</a>
<a id="330" class="Comment">-- The main reson to name them is that some things (like CoYoneda)</a>
<a id="397" class="Comment">-- look more natural/symmetric then.</a>
<a id="435" class="Keyword">open</a> <a id="440" class="Keyword">import</a> <a id="447" href="Level.html" class="Module">Level</a>
<a id="454" class="Keyword">open</a> <a id="459" class="Keyword">import</a> <a id="466" href="Categories.Category.html" class="Module">Categories.Category</a>
<a id="486" class="Keyword">open</a> <a id="491" class="Keyword">import</a> <a id="498" href="Categories.Category.Construction.Functors.html" class="Module">Categories.Category.Construction.Functors</a>
<a id="540" class="Keyword">open</a> <a id="545" class="Keyword">import</a> <a id="552" href="Categories.Category.Instance.Setoids.html" class="Module">Categories.Category.Instance.Setoids</a> <a id="589" class="Keyword">using</a> <a id="595" class="Symbol">(</a><a id="596" href="Categories.Category.Instance.Setoids.html#555" class="Function">Setoids</a><a id="603" class="Symbol">)</a>
<a id="Presheaves"></a><a id="606" href="Categories.Category.Construction.Presheaves.html#606" class="Function">Presheaves</a> <a id="618" class="Symbol">:</a> <a id="620" class="Symbol"></a> <a id="622" href="Categories.Category.Construction.Presheaves.html#622" class="Bound">o</a> <a id="625" href="Categories.Category.Construction.Presheaves.html#625" class="Bound"></a> <a id="628" class="Symbol">{</a><a id="629" href="Categories.Category.Construction.Presheaves.html#629" class="Bound">o</a> <a id="631" href="Categories.Category.Construction.Presheaves.html#631" class="Bound"></a> <a id="633" href="Categories.Category.Construction.Presheaves.html#633" class="Bound">e</a> <a id="635" class="Symbol">:</a> <a id="637" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="642" class="Symbol">}</a> <a id="644" class="Symbol"></a> <a id="646" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="655" href="Categories.Category.Construction.Presheaves.html#629" class="Bound">o</a> <a id="657" href="Categories.Category.Construction.Presheaves.html#631" class="Bound"></a> <a id="659" href="Categories.Category.Construction.Presheaves.html#633" class="Bound">e</a> <a id="661" class="Symbol"></a>
<a id="665" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="674" class="Symbol">(</a><a id="675" href="Categories.Category.Construction.Presheaves.html#629" class="Bound">o</a> <a id="677" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="679" href="Categories.Category.Construction.Presheaves.html#631" class="Bound"></a> <a id="681" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="683" href="Categories.Category.Construction.Presheaves.html#633" class="Bound">e</a> <a id="685" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="687" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="691" class="Symbol">(</a><a id="692" href="Categories.Category.Construction.Presheaves.html#622" class="Bound">o</a> <a id="695" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="697" href="Categories.Category.Construction.Presheaves.html#625" class="Bound"></a><a id="699" class="Symbol">))</a> <a id="702" class="Symbol">(</a><a id="703" href="Categories.Category.Construction.Presheaves.html#629" class="Bound">o</a> <a id="705" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="707" href="Categories.Category.Construction.Presheaves.html#631" class="Bound"></a> <a id="709" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="711" href="Categories.Category.Construction.Presheaves.html#622" class="Bound">o</a> <a id="714" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="716" href="Categories.Category.Construction.Presheaves.html#625" class="Bound"></a><a id="718" class="Symbol">)</a> <a id="720" class="Symbol">(</a><a id="721" href="Categories.Category.Construction.Presheaves.html#629" class="Bound">o</a> <a id="723" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="725" href="Categories.Category.Construction.Presheaves.html#622" class="Bound">o</a> <a id="728" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="730" href="Categories.Category.Construction.Presheaves.html#625" class="Bound"></a><a id="732" class="Symbol">)</a>
<a id="734" href="Categories.Category.Construction.Presheaves.html#606" class="Function">Presheaves</a> <a id="746" href="Categories.Category.Construction.Presheaves.html#746" class="Bound">o</a> <a id="749" href="Categories.Category.Construction.Presheaves.html#749" class="Bound"></a> <a id="752" href="Categories.Category.Construction.Presheaves.html#752" class="Bound">C</a> <a id="754" class="Symbol">=</a> <a id="756" href="Categories.Category.Construction.Functors.html#1308" class="Function">Functors</a> <a id="765" class="Symbol">(</a><a id="766" href="Categories.Category.Core.html#3132" class="Function">Category.op</a> <a id="778" href="Categories.Category.Construction.Presheaves.html#752" class="Bound">C</a><a id="779" class="Symbol">)</a> <a id="781" class="Symbol">(</a><a id="782" href="Categories.Category.Instance.Setoids.html#555" class="Function">Setoids</a> <a id="790" href="Categories.Category.Construction.Presheaves.html#746" class="Bound">o</a> <a id="793" href="Categories.Category.Construction.Presheaves.html#749" class="Bound"></a><a id="795" class="Symbol">)</a>
<a id="Presheaves"></a><a id="798" href="Categories.Category.Construction.Presheaves.html#798" class="Function">Presheaves</a> <a id="809" class="Symbol">:</a> <a id="811" class="Symbol"></a> <a id="813" class="Symbol">{</a><a id="814" href="Categories.Category.Construction.Presheaves.html#814" class="Bound">o</a> <a id="816" href="Categories.Category.Construction.Presheaves.html#816" class="Bound"></a> <a id="818" href="Categories.Category.Construction.Presheaves.html#818" class="Bound">e</a> <a id="820" href="Categories.Category.Construction.Presheaves.html#820" class="Bound">o</a> <a id="823" href="Categories.Category.Construction.Presheaves.html#823" class="Bound"></a> <a id="826" class="Symbol">:</a> <a id="828" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="833" class="Symbol">}</a> <a id="835" class="Symbol"></a> <a id="837" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="846" href="Categories.Category.Construction.Presheaves.html#814" class="Bound">o</a> <a id="848" href="Categories.Category.Construction.Presheaves.html#816" class="Bound"></a> <a id="850" href="Categories.Category.Construction.Presheaves.html#818" class="Bound">e</a> <a id="852" class="Symbol"></a>
<a id="856" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="865" class="Symbol">(</a><a id="866" href="Categories.Category.Construction.Presheaves.html#814" class="Bound">o</a> <a id="868" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="870" href="Categories.Category.Construction.Presheaves.html#816" class="Bound"></a> <a id="872" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="874" href="Categories.Category.Construction.Presheaves.html#818" class="Bound">e</a> <a id="876" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="878" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="882" class="Symbol">(</a><a id="883" href="Categories.Category.Construction.Presheaves.html#820" class="Bound">o</a> <a id="886" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="888" href="Categories.Category.Construction.Presheaves.html#823" class="Bound"></a><a id="890" class="Symbol">))</a> <a id="893" class="Symbol">(</a><a id="894" href="Categories.Category.Construction.Presheaves.html#814" class="Bound">o</a> <a id="896" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="898" href="Categories.Category.Construction.Presheaves.html#816" class="Bound"></a> <a id="900" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="902" href="Categories.Category.Construction.Presheaves.html#820" class="Bound">o</a> <a id="905" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="907" href="Categories.Category.Construction.Presheaves.html#823" class="Bound"></a><a id="909" class="Symbol">)</a> <a id="911" class="Symbol">(</a><a id="912" href="Categories.Category.Construction.Presheaves.html#814" class="Bound">o</a> <a id="914" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="916" href="Categories.Category.Construction.Presheaves.html#820" class="Bound">o</a> <a id="919" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="921" href="Categories.Category.Construction.Presheaves.html#823" class="Bound"></a><a id="923" class="Symbol">)</a>
<a id="925" href="Categories.Category.Construction.Presheaves.html#798" class="Function">Presheaves</a> <a id="936" class="Symbol">{</a><a id="937" href="Categories.Category.Construction.Presheaves.html#937" class="Bound">o</a><a id="938" class="Symbol">}</a> <a id="940" class="Symbol">{</a><a id="941" href="Categories.Category.Construction.Presheaves.html#941" class="Bound"></a><a id="942" class="Symbol">}</a> <a id="944" class="Symbol">{</a><a id="945" href="Categories.Category.Construction.Presheaves.html#945" class="Bound">e</a><a id="946" class="Symbol">}</a> <a id="948" class="Symbol">{</a><a id="949" href="Categories.Category.Construction.Presheaves.html#949" class="Bound">o</a><a id="951" class="Symbol">}</a> <a id="953" class="Symbol">{</a><a id="954" href="Categories.Category.Construction.Presheaves.html#954" class="Bound"></a><a id="956" class="Symbol">}</a> <a id="958" href="Categories.Category.Construction.Presheaves.html#958" class="Bound">C</a> <a id="960" class="Symbol">=</a> <a id="962" href="Categories.Category.Construction.Presheaves.html#606" class="Function">Presheaves</a> <a id="974" href="Categories.Category.Construction.Presheaves.html#949" class="Bound">o</a> <a id="977" href="Categories.Category.Construction.Presheaves.html#954" class="Bound"></a> <a id="980" href="Categories.Category.Construction.Presheaves.html#958" class="Bound">C</a>
<a id="CoPresheaves"></a><a id="983" href="Categories.Category.Construction.Presheaves.html#983" class="Function">CoPresheaves</a> <a id="997" class="Symbol">:</a> <a id="999" class="Symbol"></a> <a id="1001" href="Categories.Category.Construction.Presheaves.html#1001" class="Bound">o</a> <a id="1004" href="Categories.Category.Construction.Presheaves.html#1004" class="Bound"></a> <a id="1007" class="Symbol">{</a><a id="1008" href="Categories.Category.Construction.Presheaves.html#1008" class="Bound">o</a> <a id="1010" href="Categories.Category.Construction.Presheaves.html#1010" class="Bound"></a> <a id="1012" href="Categories.Category.Construction.Presheaves.html#1012" class="Bound">e</a> <a id="1014" class="Symbol">:</a> <a id="1016" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="1021" class="Symbol">}</a> <a id="1023" class="Symbol"></a> <a id="1025" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1034" href="Categories.Category.Construction.Presheaves.html#1008" class="Bound">o</a> <a id="1036" href="Categories.Category.Construction.Presheaves.html#1010" class="Bound"></a> <a id="1038" href="Categories.Category.Construction.Presheaves.html#1012" class="Bound">e</a> <a id="1040" class="Symbol"></a>
<a id="1044" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1053" class="Symbol">(</a><a id="1054" href="Categories.Category.Construction.Presheaves.html#1008" class="Bound">o</a> <a id="1056" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1058" href="Categories.Category.Construction.Presheaves.html#1010" class="Bound"></a> <a id="1060" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1062" href="Categories.Category.Construction.Presheaves.html#1012" class="Bound">e</a> <a id="1064" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1066" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="1070" class="Symbol">(</a><a id="1071" href="Categories.Category.Construction.Presheaves.html#1001" class="Bound">o</a> <a id="1074" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1076" href="Categories.Category.Construction.Presheaves.html#1004" class="Bound"></a><a id="1078" class="Symbol">))</a> <a id="1081" class="Symbol">(</a><a id="1082" href="Categories.Category.Construction.Presheaves.html#1008" class="Bound">o</a> <a id="1084" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1086" href="Categories.Category.Construction.Presheaves.html#1010" class="Bound"></a> <a id="1088" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1090" href="Categories.Category.Construction.Presheaves.html#1001" class="Bound">o</a> <a id="1093" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1095" href="Categories.Category.Construction.Presheaves.html#1004" class="Bound"></a><a id="1097" class="Symbol">)</a> <a id="1099" class="Symbol">(</a><a id="1100" href="Categories.Category.Construction.Presheaves.html#1008" class="Bound">o</a> <a id="1102" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1104" href="Categories.Category.Construction.Presheaves.html#1001" class="Bound">o</a> <a id="1107" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1109" href="Categories.Category.Construction.Presheaves.html#1004" class="Bound"></a><a id="1111" class="Symbol">)</a>
<a id="1113" href="Categories.Category.Construction.Presheaves.html#983" class="Function">CoPresheaves</a> <a id="1127" href="Categories.Category.Construction.Presheaves.html#1127" class="Bound">o</a> <a id="1130" href="Categories.Category.Construction.Presheaves.html#1130" class="Bound"></a> <a id="1133" href="Categories.Category.Construction.Presheaves.html#1133" class="Bound">C</a> <a id="1135" class="Symbol">=</a> <a id="1137" href="Categories.Category.Construction.Functors.html#1308" class="Function">Functors</a> <a id="1146" href="Categories.Category.Construction.Presheaves.html#1133" class="Bound">C</a> <a id="1148" class="Symbol">(</a><a id="1149" href="Categories.Category.Instance.Setoids.html#555" class="Function">Setoids</a> <a id="1157" href="Categories.Category.Construction.Presheaves.html#1127" class="Bound">o</a> <a id="1160" href="Categories.Category.Construction.Presheaves.html#1130" class="Bound"></a><a id="1162" class="Symbol">)</a>
<a id="CoPresheaves"></a><a id="1165" href="Categories.Category.Construction.Presheaves.html#1165" class="Function">CoPresheaves</a> <a id="1178" class="Symbol">:</a> <a id="1180" class="Symbol"></a> <a id="1182" class="Symbol">{</a><a id="1183" href="Categories.Category.Construction.Presheaves.html#1183" class="Bound">o</a> <a id="1185" href="Categories.Category.Construction.Presheaves.html#1185" class="Bound"></a> <a id="1187" href="Categories.Category.Construction.Presheaves.html#1187" class="Bound">e</a> <a id="1189" href="Categories.Category.Construction.Presheaves.html#1189" class="Bound">o</a> <a id="1192" href="Categories.Category.Construction.Presheaves.html#1192" class="Bound"></a> <a id="1195" class="Symbol">:</a> <a id="1197" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="1202" class="Symbol">}</a> <a id="1204" class="Symbol"></a> <a id="1206" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1215" href="Categories.Category.Construction.Presheaves.html#1183" class="Bound">o</a> <a id="1217" href="Categories.Category.Construction.Presheaves.html#1185" class="Bound"></a> <a id="1219" href="Categories.Category.Construction.Presheaves.html#1187" class="Bound">e</a> <a id="1221" class="Symbol"></a>
<a id="1225" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1234" class="Symbol">(</a><a id="1235" href="Categories.Category.Construction.Presheaves.html#1183" class="Bound">o</a> <a id="1237" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1239" href="Categories.Category.Construction.Presheaves.html#1185" class="Bound"></a> <a id="1241" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1243" href="Categories.Category.Construction.Presheaves.html#1187" class="Bound">e</a> <a id="1245" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1247" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="1251" class="Symbol">(</a><a id="1252" href="Categories.Category.Construction.Presheaves.html#1189" class="Bound">o</a> <a id="1255" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1257" href="Categories.Category.Construction.Presheaves.html#1192" class="Bound"></a><a id="1259" class="Symbol">))</a> <a id="1262" class="Symbol">(</a><a id="1263" href="Categories.Category.Construction.Presheaves.html#1183" class="Bound">o</a> <a id="1265" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1267" href="Categories.Category.Construction.Presheaves.html#1185" class="Bound"></a> <a id="1269" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1271" href="Categories.Category.Construction.Presheaves.html#1189" class="Bound">o</a> <a id="1274" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1276" href="Categories.Category.Construction.Presheaves.html#1192" class="Bound"></a><a id="1278" class="Symbol">)</a> <a id="1280" class="Symbol">(</a><a id="1281" href="Categories.Category.Construction.Presheaves.html#1183" class="Bound">o</a> <a id="1283" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1285" href="Categories.Category.Construction.Presheaves.html#1189" class="Bound">o</a> <a id="1288" href="Agda.Primitive.html#961" class="Primitive Operator"></a> <a id="1290" href="Categories.Category.Construction.Presheaves.html#1192" class="Bound"></a><a id="1292" class="Symbol">)</a>
<a id="1294" href="Categories.Category.Construction.Presheaves.html#1165" class="Function">CoPresheaves</a> <a id="1307" class="Symbol">{</a><a id="1308" href="Categories.Category.Construction.Presheaves.html#1308" class="Bound">o</a><a id="1309" class="Symbol">}</a> <a id="1311" class="Symbol">{</a><a id="1312" href="Categories.Category.Construction.Presheaves.html#1312" class="Bound"></a><a id="1313" class="Symbol">}</a> <a id="1315" class="Symbol">{</a><a id="1316" href="Categories.Category.Construction.Presheaves.html#1316" class="Bound">e</a><a id="1317" class="Symbol">}</a> <a id="1319" class="Symbol">{</a><a id="1320" href="Categories.Category.Construction.Presheaves.html#1320" class="Bound">o</a><a id="1322" class="Symbol">}</a> <a id="1324" class="Symbol">{</a><a id="1325" href="Categories.Category.Construction.Presheaves.html#1325" class="Bound"></a><a id="1327" class="Symbol">}</a> <a id="1329" href="Categories.Category.Construction.Presheaves.html#1329" class="Bound">C</a> <a id="1331" class="Symbol">=</a> <a id="1333" href="Categories.Category.Construction.Presheaves.html#983" class="Function">CoPresheaves</a> <a id="1347" href="Categories.Category.Construction.Presheaves.html#1320" class="Bound">o</a> <a id="1350" href="Categories.Category.Construction.Presheaves.html#1325" class="Bound"></a> <a id="1353" href="Categories.Category.Construction.Presheaves.html#1329" class="Bound">C</a>
</pre></body></html>