bsc-leon-vatthauer/public/Categories.Functor.Core.html

45 lines
18 KiB
HTML
Raw Normal View History

2023-08-19 16:11:22 +02:00
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Categories.Functor.Core</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="37" class="Keyword">open</a> <a id="42" class="Keyword">import</a> <a id="49" href="Categories.Category.html" class="Module">Categories.Category</a>
<a id="70" class="Keyword">module</a> <a id="77" href="Categories.Functor.Core.html" class="Module">Categories.Functor.Core</a> <a id="101" class="Keyword">where</a>
<a id="108" class="Keyword">open</a> <a id="113" class="Keyword">import</a> <a id="120" href="Level.html" class="Module">Level</a>
<a id="126" class="Keyword">open</a> <a id="131" class="Keyword">import</a> <a id="138" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a> <a id="176" class="Symbol">as</a> <a id="179" class="Module"></a> <a id="181" class="Keyword">using</a> <a id="187" class="Symbol">(</a><a id="188" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a><a id="191" class="Symbol">)</a>
<a id="194" class="Keyword">private</a>
<a id="204" class="Keyword">variable</a>
<a id="217" href="Categories.Functor.Core.html#217" class="Generalizable">o</a> <a id="219" href="Categories.Functor.Core.html#219" class="Generalizable"></a> <a id="221" href="Categories.Functor.Core.html#221" class="Generalizable">e</a> <a id="223" href="Categories.Functor.Core.html#223" class="Generalizable">o</a> <a id="226" href="Categories.Functor.Core.html#226" class="Generalizable"></a> <a id="229" href="Categories.Functor.Core.html#229" class="Generalizable">e</a> <a id="232" class="Symbol">:</a> <a id="234" href="Agda.Primitive.html#591" class="Postulate">Level</a>
<a id="241" class="Keyword">record</a> <a id="Functor"></a><a id="248" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="256" class="Symbol">(</a><a id="257" href="Categories.Functor.Core.html#257" class="Bound">C</a> <a id="259" class="Symbol">:</a> <a id="261" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="270" href="Categories.Functor.Core.html#217" class="Generalizable">o</a> <a id="272" href="Categories.Functor.Core.html#219" class="Generalizable"></a> <a id="274" href="Categories.Functor.Core.html#221" class="Generalizable">e</a><a id="275" class="Symbol">)</a> <a id="277" class="Symbol">(</a><a id="278" href="Categories.Functor.Core.html#278" class="Bound">D</a> <a id="280" class="Symbol">:</a> <a id="282" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="291" href="Categories.Functor.Core.html#223" class="Generalizable">o</a> <a id="294" href="Categories.Functor.Core.html#226" class="Generalizable"></a> <a id="297" href="Categories.Functor.Core.html#229" class="Generalizable">e</a><a id="299" class="Symbol">)</a> <a id="301" class="Symbol">:</a> <a id="303" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="307" class="Symbol">(</a><a id="308" href="Categories.Functor.Core.html#270" class="Bound">o</a> <a id="310" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="312" href="Categories.Functor.Core.html#272" class="Bound"></a> <a id="314" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="316" href="Categories.Functor.Core.html#274" class="Bound">e</a> <a id="318" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="320" href="Categories.Functor.Core.html#291" class="Bound">o</a> <a id="323" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="325" href="Categories.Functor.Core.html#294" class="Bound"></a> <a id="328" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="330" href="Categories.Functor.Core.html#297" class="Bound">e</a><a id="332" class="Symbol">)</a> <a id="334" class="Keyword">where</a>
<a id="342" class="Keyword">eta-equality</a>
<a id="357" class="Keyword">private</a> <a id="365" class="Keyword">module</a> <a id="Functor.C"></a><a id="372" href="Categories.Functor.Core.html#372" class="Module">C</a> <a id="374" class="Symbol">=</a> <a id="376" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="385" href="Categories.Functor.Core.html#257" class="Bound">C</a>
<a id="389" class="Keyword">private</a> <a id="397" class="Keyword">module</a> <a id="Functor.D"></a><a id="404" href="Categories.Functor.Core.html#404" class="Module">D</a> <a id="406" class="Symbol">=</a> <a id="408" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="417" href="Categories.Functor.Core.html#278" class="Bound">D</a>
<a id="422" class="Keyword">field</a>
<a id="Functor.F₀"></a><a id="432" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="435" class="Symbol">:</a> <a id="437" href="Categories.Category.Core.html#559" class="Function">C.Obj</a> <a id="443" class="Symbol"></a> <a id="445" href="Categories.Category.Core.html#559" class="Function">D.Obj</a>
<a id="Functor.F₁"></a><a id="455" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="458" class="Symbol">:</a> <a id="460" class="Symbol"></a> <a id="462" class="Symbol">{</a><a id="463" href="Categories.Functor.Core.html#463" class="Bound">A</a> <a id="465" href="Categories.Functor.Core.html#465" class="Bound">B</a><a id="466" class="Symbol">}</a> <a id="468" class="Symbol">(</a><a id="469" href="Categories.Functor.Core.html#469" class="Bound">f</a> <a id="471" class="Symbol">:</a> <a id="473" href="Categories.Functor.Core.html#257" class="Bound">C</a> <a id="475" href="Categories.Category.html#502" class="Function Operator">[</a> <a id="477" href="Categories.Functor.Core.html#463" class="Bound">A</a> <a id="479" href="Categories.Category.html#502" class="Function Operator">,</a> <a id="481" href="Categories.Functor.Core.html#465" class="Bound">B</a> <a id="483" href="Categories.Category.html#502" class="Function Operator">]</a><a id="484" class="Symbol">)</a> <a id="486" class="Symbol"></a> <a id="488" href="Categories.Functor.Core.html#278" class="Bound">D</a> <a id="490" href="Categories.Category.html#502" class="Function Operator">[</a> <a id="492" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="495" href="Categories.Functor.Core.html#463" class="Bound">A</a> <a id="497" href="Categories.Category.html#502" class="Function Operator">,</a> <a id="499" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="502" href="Categories.Functor.Core.html#465" class="Bound">B</a> <a id="504" href="Categories.Category.html#502" class="Function Operator">]</a>
<a id="Functor.identity"></a><a id="511" href="Categories.Functor.Core.html#511" class="Field">identity</a> <a id="524" class="Symbol">:</a> <a id="526" class="Symbol"></a> <a id="528" class="Symbol">{</a><a id="529" href="Categories.Functor.Core.html#529" class="Bound">A</a><a id="530" class="Symbol">}</a> <a id="532" class="Symbol"></a> <a id="534" href="Categories.Functor.Core.html#278" class="Bound">D</a> <a id="536" href="Categories.Category.html#609" class="Function Operator">[</a> <a id="538" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="541" class="Symbol">(</a><a id="542" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="547" class="Symbol">{</a><a id="548" href="Categories.Functor.Core.html#529" class="Bound">A</a><a id="549" class="Symbol">})</a> <a id="552" href="Categories.Category.html#609" class="Function Operator"></a> <a id="554" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="559" href="Categories.Category.html#609" class="Function Operator">]</a>
<a id="Functor.homomorphism"></a><a id="565" href="Categories.Functor.Core.html#565" class="Field">homomorphism</a> <a id="578" class="Symbol">:</a> <a id="580" class="Symbol"></a> <a id="582" class="Symbol">{</a><a id="583" href="Categories.Functor.Core.html#583" class="Bound">X</a> <a id="585" href="Categories.Functor.Core.html#585" class="Bound">Y</a> <a id="587" href="Categories.Functor.Core.html#587" class="Bound">Z</a><a id="588" class="Symbol">}</a> <a id="590" class="Symbol">{</a><a id="591" href="Categories.Functor.Core.html#591" class="Bound">f</a> <a id="593" class="Symbol">:</a> <a id="595" href="Categories.Functor.Core.html#257" class="Bound">C</a> <a id="597" href="Categories.Category.html#502" class="Function Operator">[</a> <a id="599" href="Categories.Functor.Core.html#583" class="Bound">X</a> <a id="601" href="Categories.Category.html#502" class="Function Operator">,</a> <a id="603" href="Categories.Functor.Core.html#585" class="Bound">Y</a> <a id="605" href="Categories.Category.html#502" class="Function Operator">]</a><a id="606" class="Symbol">}</a> <a id="608" class="Symbol">{</a><a id="609" href="Categories.Functor.Core.html#609" class="Bound">g</a> <a id="611" class="Symbol">:</a> <a id="613" href="Categories.Functor.Core.html#257" class="Bound">C</a> <a id="615" href="Categories.Category.html#502" class="Function Operator">[</a> <a id="617" href="Categories.Functor.Core.html#585" class="Bound">Y</a> <a id="619" href="Categories.Category.html#502" class="Function Operator">,</a> <a id="621" href="Categories.Functor.Core.html#587" class="Bound">Z</a> <a id="623" href="Categories.Category.html#502" class="Function Operator">]</a><a id="624" class="Symbol">}</a> <a id="626" class="Symbol"></a>
<a id="649" href="Categories.Functor.Core.html#278" class="Bound">D</a> <a id="651" href="Categories.Category.html#609" class="Function Operator">[</a> <a id="653" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="656" class="Symbol">(</a><a id="657" href="Categories.Functor.Core.html#257" class="Bound">C</a> <a id="659" href="Categories.Category.html#700" class="Function Operator">[</a> <a id="661" href="Categories.Functor.Core.html#609" class="Bound">g</a> <a id="663" href="Categories.Category.html#700" class="Function Operator"></a> <a id="665" href="Categories.Functor.Core.html#591" class="Bound">f</a> <a id="667" href="Categories.Category.html#700" class="Function Operator">]</a><a id="668" class="Symbol">)</a> <a id="670" href="Categories.Category.html#609" class="Function Operator"></a> <a id="672" href="Categories.Functor.Core.html#278" class="Bound">D</a> <a id="674" href="Categories.Category.html#700" class="Function Operator">[</a> <a id="676" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="679" href="Categories.Functor.Core.html#609" class="Bound">g</a> <a id="681" href="Categories.Category.html#700" class="Function Operator"></a> <a id="683" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="686" href="Categories.Functor.Core.html#591" class="Bound">f</a> <a id="688" href="Categories.Category.html#700" class="Function Operator">]</a> <a id="690" href="Categories.Category.html#609" class="Function Operator">]</a>
<a id="Functor.F-resp-≈"></a><a id="696" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a> <a id="709" class="Symbol">:</a> <a id="711" class="Symbol"></a> <a id="713" class="Symbol">{</a><a id="714" href="Categories.Functor.Core.html#714" class="Bound">A</a> <a id="716" href="Categories.Functor.Core.html#716" class="Bound">B</a><a id="717" class="Symbol">}</a> <a id="719" class="Symbol">{</a><a id="720" href="Categories.Functor.Core.html#720" class="Bound">f</a> <a id="722" href="Categories.Functor.Core.html#722" class="Bound">g</a> <a id="724" class="Symbol">:</a> <a id="726" href="Categories.Functor.Core.html#257" class="Bound">C</a> <a id="728" href="Categories.Category.html#502" class="Function Operator">[</a> <a id="730" href="Categories.Functor.Core.html#714" class="Bound">A</a> <a id="732" href="Categories.Category.html#502" class="Function Operator">,</a> <a id="734" href="Categories.Functor.Core.html#716" class="Bound">B</a> <a id="736" href="Categories.Category.html#502" class="Function Operator">]</a><a id="737" class="Symbol">}</a> <a id="739" class="Symbol"></a> <a id="741" href="Categories.Functor.Core.html#257" class="Bound">C</a> <a id="743" href="Categories.Category.html#609" class="Function Operator">[</a> <a id="745" href="Categories.Functor.Core.html#720" class="Bound">f</a> <a id="747" href="Categories.Category.html#609" class="Function Operator"></a> <a id="749" href="Categories.Functor.Core.html#722" class="Bound">g</a> <a id="751" href="Categories.Category.html#609" class="Function Operator">]</a> <a id="753" class="Symbol"></a> <a id="755" href="Categories.Functor.Core.html#278" class="Bound">D</a> <a id="757" href="Categories.Category.html#609" class="Function Operator">[</a> <a id="759" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="762" href="Categories.Functor.Core.html#720" class="Bound">f</a> <a id="764" href="Categories.Category.html#609" class="Function Operator"></a> <a id="766" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="769" href="Categories.Functor.Core.html#722" class="Bound">g</a> <a id="771" href="Categories.Category.html#609" class="Function Operator">]</a>
<a id="776" class="Comment">-- nice shorthands</a>
<a id="Functor.₀"></a><a id="797" href="Categories.Functor.Core.html#797" class="Function"></a> <a id="799" class="Symbol">=</a> <a id="801" href="Categories.Functor.Core.html#432" class="Field">F₀</a>
<a id="Functor.₁"></a><a id="806" href="Categories.Functor.Core.html#806" class="Function"></a> <a id="808" class="Symbol">=</a> <a id="810" href="Categories.Functor.Core.html#455" class="Field">F₁</a>
<a id="Functor.op"></a><a id="816" href="Categories.Functor.Core.html#816" class="Function">op</a> <a id="819" class="Symbol">:</a> <a id="821" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="829" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="834" href="Categories.Category.Core.html#3132" class="Function">D.op</a>
<a id="841" href="Categories.Functor.Core.html#816" class="Function">op</a> <a id="844" class="Symbol">=</a> <a id="846" class="Keyword">record</a>
<a id="857" class="Symbol">{</a> <a id="859" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="872" class="Symbol">=</a> <a id="874" href="Categories.Functor.Core.html#432" class="Field">F₀</a>
<a id="881" class="Symbol">;</a> <a id="883" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="896" class="Symbol">=</a> <a id="898" href="Categories.Functor.Core.html#455" class="Field">F₁</a>
<a id="905" class="Symbol">;</a> <a id="907" href="Categories.Functor.Core.html#511" class="Field">identity</a> <a id="920" class="Symbol">=</a> <a id="922" href="Categories.Functor.Core.html#511" class="Field">identity</a>
<a id="935" class="Symbol">;</a> <a id="937" href="Categories.Functor.Core.html#565" class="Field">homomorphism</a> <a id="950" class="Symbol">=</a> <a id="952" href="Categories.Functor.Core.html#565" class="Field">homomorphism</a>
<a id="969" class="Symbol">;</a> <a id="971" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a> <a id="984" class="Symbol">=</a> <a id="986" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a>
<a id="999" class="Symbol">}</a>
<a id="1002" class="Keyword">private</a>
<a id="op-involutive"></a><a id="1012" href="Categories.Functor.Core.html#1012" class="Function">op-involutive</a> <a id="1026" class="Symbol">:</a> <a id="1028" class="Symbol">{</a><a id="1029" href="Categories.Functor.Core.html#1029" class="Bound">C</a> <a id="1031" class="Symbol">:</a> <a id="1033" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1042" href="Categories.Functor.Core.html#217" class="Generalizable">o</a> <a id="1044" href="Categories.Functor.Core.html#219" class="Generalizable"></a> <a id="1046" href="Categories.Functor.Core.html#221" class="Generalizable">e</a><a id="1047" class="Symbol">}</a> <a id="1049" class="Symbol">{</a><a id="1050" href="Categories.Functor.Core.html#1050" class="Bound">D</a> <a id="1052" class="Symbol">:</a> <a id="1054" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1063" href="Categories.Functor.Core.html#223" class="Generalizable">o</a> <a id="1066" href="Categories.Functor.Core.html#226" class="Generalizable"></a> <a id="1069" href="Categories.Functor.Core.html#229" class="Generalizable">e</a><a id="1071" class="Symbol">}</a> <a id="1073" class="Symbol"></a> <a id="1075" class="Symbol">(</a><a id="1076" href="Categories.Functor.Core.html#1076" class="Bound">F</a> <a id="1078" class="Symbol">:</a> <a id="1080" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="1088" href="Categories.Functor.Core.html#1029" class="Bound">C</a> <a id="1090" href="Categories.Functor.Core.html#1050" class="Bound">D</a><a id="1091" class="Symbol">)</a> <a id="1093" class="Symbol"></a> <a id="1095" href="Categories.Functor.Core.html#816" class="Function">Functor.op</a> <a id="1106" class="Symbol">(</a><a id="1107" href="Categories.Functor.Core.html#816" class="Function">Functor.op</a> <a id="1118" href="Categories.Functor.Core.html#1076" class="Bound">F</a><a id="1119" class="Symbol">)</a> <a id="1121" href="Agda.Builtin.Equality.html#133" class="Datatype Operator"></a> <a id="1123" href="Categories.Functor.Core.html#1076" class="Bound">F</a>
<a id="1127" href="Categories.Functor.Core.html#1012" class="Function">op-involutive</a> <a id="1141" class="Symbol">_</a> <a id="1143" class="Symbol">=</a> <a id="1145" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">≡.refl</a>
</pre></body></html>