mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
39 lines
14 KiB
Markdown
39 lines
14 KiB
Markdown
|
<!--
|
|||
|
<pre class="Agda"><a id="14" class="Keyword">open</a> <a id="19" class="Keyword">import</a> <a id="26" href="Level.html" class="Module">Level</a>
|
|||
|
<a id="32" class="Keyword">open</a> <a id="37" class="Keyword">import</a> <a id="44" href="Categories.Category.Core.html" class="Module">Categories.Category.Core</a>
|
|||
|
<a id="69" class="Keyword">open</a> <a id="74" class="Keyword">import</a> <a id="81" href="Categories.Category.Extensive.Bundle.html" class="Module">Categories.Category.Extensive.Bundle</a>
|
|||
|
<a id="118" class="Keyword">open</a> <a id="123" class="Keyword">import</a> <a id="130" href="Categories.Category.Extensive.html" class="Module">Categories.Category.Extensive</a>
|
|||
|
<a id="160" class="Keyword">open</a> <a id="165" class="Keyword">import</a> <a id="172" href="Categories.Category.Cocartesian.html" class="Module">Categories.Category.Cocartesian</a>
|
|||
|
</pre>-->
|
|||
|
## Summary
|
|||
|
This file introduces *Uniform-Iteration Algebras*
|
|||
|
|
|||
|
- [X] *Definition 12* Uniform-Iteration Algebras
|
|||
|
|
|||
|
## Code
|
|||
|
|
|||
|
<pre class="Agda"><a id="341" class="Keyword">module</a> <a id="348" href="UniformIterationAlgebra.html" class="Module">UniformIterationAlgebra</a> <a id="372" class="Symbol">{</a><a id="373" href="UniformIterationAlgebra.html#373" class="Bound">o</a> <a id="375" href="UniformIterationAlgebra.html#375" class="Bound">ℓ</a> <a id="377" href="UniformIterationAlgebra.html#377" class="Bound">e</a><a id="378" class="Symbol">}</a> <a id="380" class="Symbol">(</a><a id="381" href="UniformIterationAlgebra.html#381" class="Bound">D</a> <a id="383" class="Symbol">:</a> <a id="385" href="Categories.Category.Extensive.Bundle.html#781" class="Record">ExtensiveDistributiveCategory</a> <a id="415" href="UniformIterationAlgebra.html#373" class="Bound">o</a> <a id="417" href="UniformIterationAlgebra.html#375" class="Bound">ℓ</a> <a id="419" href="UniformIterationAlgebra.html#377" class="Bound">e</a><a id="420" class="Symbol">)</a> <a id="422" class="Keyword">where</a>
|
|||
|
<a id="430" class="Keyword">open</a> <a id="435" href="Categories.Category.Extensive.Bundle.html#781" class="Module">ExtensiveDistributiveCategory</a> <a id="465" href="UniformIterationAlgebra.html#381" class="Bound">D</a> <a id="467" class="Keyword">renaming</a> <a id="476" class="Symbol">(</a><a id="477" href="Categories.Category.Extensive.Bundle.html#859" class="Field">U</a> <a id="479" class="Symbol">to</a> <a id="482" class="Field">C</a><a id="483" class="Symbol">;</a> <a id="485" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="488" class="Symbol">to</a> <a id="491" class="Function">idC</a><a id="494" class="Symbol">)</a>
|
|||
|
<a id="498" class="Keyword">open</a> <a id="503" href="Categories.Category.Cocartesian.html#3385" class="Module">Cocartesian</a> <a id="515" class="Symbol">(</a><a id="516" href="Categories.Category.Extensive.html#734" class="Field">Extensive.cocartesian</a> <a id="538" href="Categories.Category.Extensive.Bundle.html#913" class="Field">extensive</a><a id="547" class="Symbol">)</a>
|
|||
|
</pre>
|
|||
|
### *Definition 12*: Uniform-Iteration Algebras
|
|||
|
<pre class="Agda"> <a id="612" class="Keyword">record</a> <a id="Uniform-Iteration-Algebra-on"></a><a id="619" href="UniformIterationAlgebra.html#619" class="Record">Uniform-Iteration-Algebra-on</a> <a id="648" class="Symbol">(</a><a id="649" href="UniformIterationAlgebra.html#649" class="Bound">A</a> <a id="651" class="Symbol">:</a> <a id="653" href="Categories.Category.Core.html#559" class="Function">Obj</a><a id="656" class="Symbol">)</a> <a id="658" class="Symbol">:</a> <a id="660" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="664" class="Symbol">(</a><a id="665" href="UniformIterationAlgebra.html#373" class="Bound">o</a> <a id="667" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="669" href="UniformIterationAlgebra.html#375" class="Bound">ℓ</a> <a id="671" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="673" href="UniformIterationAlgebra.html#377" class="Bound">e</a><a id="674" class="Symbol">)</a> <a id="676" class="Keyword">where</a>
|
|||
|
<a id="686" class="Comment">-- iteration operator</a>
|
|||
|
<a id="712" class="Keyword">field</a>
|
|||
|
<a id="Uniform-Iteration-Algebra-on._#"></a><a id="724" href="UniformIterationAlgebra.html#724" class="Field Operator">_#</a> <a id="727" class="Symbol">:</a> <a id="729" class="Symbol">∀</a> <a id="731" class="Symbol">{</a><a id="732" href="UniformIterationAlgebra.html#732" class="Bound">X</a><a id="733" class="Symbol">}</a> <a id="735" class="Symbol">→</a> <a id="737" class="Symbol">(</a><a id="738" href="UniformIterationAlgebra.html#732" class="Bound">X</a> <a id="740" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="742" href="UniformIterationAlgebra.html#649" class="Bound">A</a> <a id="744" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="746" href="UniformIterationAlgebra.html#732" class="Bound">X</a><a id="747" class="Symbol">)</a> <a id="749" class="Symbol">→</a> <a id="751" class="Symbol">(</a><a id="752" href="UniformIterationAlgebra.html#732" class="Bound">X</a> <a id="754" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="756" href="UniformIterationAlgebra.html#649" class="Bound">A</a><a id="757" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="764" class="Comment">-- _# properties</a>
|
|||
|
<a id="785" class="Keyword">field</a>
|
|||
|
<a id="Uniform-Iteration-Algebra-on.#-Fixpoint"></a><a id="797" href="UniformIterationAlgebra.html#797" class="Field">#-Fixpoint</a> <a id="808" class="Symbol">:</a> <a id="810" class="Symbol">∀</a> <a id="812" class="Symbol">{</a><a id="813" href="UniformIterationAlgebra.html#813" class="Bound">X</a><a id="814" class="Symbol">}</a> <a id="816" class="Symbol">{</a><a id="817" href="UniformIterationAlgebra.html#817" class="Bound">f</a> <a id="819" class="Symbol">:</a> <a id="821" href="UniformIterationAlgebra.html#813" class="Bound">X</a> <a id="823" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="825" href="UniformIterationAlgebra.html#649" class="Bound">A</a> <a id="827" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="829" href="UniformIterationAlgebra.html#813" class="Bound">X</a> <a id="831" class="Symbol">}</a>
|
|||
|
<a id="841" class="Symbol">→</a> <a id="843" href="UniformIterationAlgebra.html#817" class="Bound">f</a> <a id="845" href="UniformIterationAlgebra.html#724" class="Field Operator">#</a> <a id="847" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="849" href="Categories.Object.Coproduct.html#532" class="Function Operator">[</a> <a id="851" href="UniformIterationAlgebra.html#491" class="Function">idC</a> <a id="855" href="Categories.Object.Coproduct.html#532" class="Function Operator">,</a> <a id="857" href="UniformIterationAlgebra.html#817" class="Bound">f</a> <a id="859" href="UniformIterationAlgebra.html#724" class="Field Operator">#</a> <a id="861" href="Categories.Object.Coproduct.html#532" class="Function Operator">]</a> <a id="863" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="865" href="UniformIterationAlgebra.html#817" class="Bound">f</a>
|
|||
|
<a id="Uniform-Iteration-Algebra-on.#-Uniformity"></a><a id="873" href="UniformIterationAlgebra.html#873" class="Field">#-Uniformity</a> <a id="886" class="Symbol">:</a> <a id="888" class="Symbol">∀</a> <a id="890" class="Symbol">{</a><a id="891" href="UniformIterationAlgebra.html#891" class="Bound">X</a> <a id="893" href="UniformIterationAlgebra.html#893" class="Bound">Y</a><a id="894" class="Symbol">}</a> <a id="896" class="Symbol">{</a><a id="897" href="UniformIterationAlgebra.html#897" class="Bound">f</a> <a id="899" class="Symbol">:</a> <a id="901" href="UniformIterationAlgebra.html#891" class="Bound">X</a> <a id="903" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="905" href="UniformIterationAlgebra.html#649" class="Bound">A</a> <a id="907" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="909" href="UniformIterationAlgebra.html#891" class="Bound">X</a><a id="910" class="Symbol">}</a> <a id="912" class="Symbol">{</a><a id="913" href="UniformIterationAlgebra.html#913" class="Bound">g</a> <a id="915" class="Symbol">:</a> <a id="917" href="UniformIterationAlgebra.html#893" class="Bound">Y</a> <a id="919" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="921" href="UniformIterationAlgebra.html#649" class="Bound">A</a> <a id="923" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="925" href="UniformIterationAlgebra.html#893" class="Bound">Y</a><a id="926" class="Symbol">}</a> <a id="928" class="Symbol">{</a><a id="929" href="UniformIterationAlgebra.html#929" class="Bound">h</a> <a id="931" class="Symbol">:</a> <a id="933" href="UniformIterationAlgebra.html#891" class="Bound">X</a> <a id="935" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="937" href="UniformIterationAlgebra.html#893" class="Bound">Y</a><a id="938" class="Symbol">}</a>
|
|||
|
<a id="949" class="Symbol">→</a> <a id="951" class="Symbol">(</a><a id="952" href="UniformIterationAlgebra.html#491" class="Function">idC</a> <a id="956" href="Categories.Category.Cocartesian.html#2133" class="Function Operator">+₁</a> <a id="959" href="UniformIterationAlgebra.html#929" class="Bound">h</a><a id="960" class="Symbol">)</a> <a id="962" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="964" href="UniformIterationAlgebra.html#897" class="Bound">f</a> <a id="966" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="968" href="UniformIterationAlgebra.html#913" class="Bound">g</a> <a id="970" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="972" href="UniformIterationAlgebra.html#929" class="Bound">h</a>
|
|||
|
<a id="982" class="Symbol">→</a> <a id="984" href="UniformIterationAlgebra.html#897" class="Bound">f</a> <a id="986" href="UniformIterationAlgebra.html#724" class="Field Operator">#</a> <a id="988" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="990" href="UniformIterationAlgebra.html#913" class="Bound">g</a> <a id="992" href="UniformIterationAlgebra.html#724" class="Field Operator">#</a> <a id="994" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="996" href="UniformIterationAlgebra.html#929" class="Bound">h</a>
|
|||
|
<a id="Uniform-Iteration-Algebra-on.#-resp-≈"></a><a id="1004" href="UniformIterationAlgebra.html#1004" class="Field">#-resp-≈</a> <a id="1013" class="Symbol">:</a> <a id="1015" class="Symbol">∀</a> <a id="1017" class="Symbol">{</a><a id="1018" href="UniformIterationAlgebra.html#1018" class="Bound">X</a><a id="1019" class="Symbol">}</a> <a id="1021" class="Symbol">{</a><a id="1022" href="UniformIterationAlgebra.html#1022" class="Bound">f</a> <a id="1024" href="UniformIterationAlgebra.html#1024" class="Bound">g</a> <a id="1026" class="Symbol">:</a> <a id="1028" href="UniformIterationAlgebra.html#1018" class="Bound">X</a> <a id="1030" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="1032" href="UniformIterationAlgebra.html#649" class="Bound">A</a> <a id="1034" href="Categories.Category.Cocartesian.html#1549" class="Function Operator">+</a> <a id="1036" href="UniformIterationAlgebra.html#1018" class="Bound">X</a><a id="1037" class="Symbol">}</a> <a id="1039" class="Symbol">→</a> <a id="1041" href="UniformIterationAlgebra.html#1022" class="Bound">f</a> <a id="1043" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1045" href="UniformIterationAlgebra.html#1024" class="Bound">g</a> <a id="1047" class="Symbol">→</a> <a id="1049" class="Symbol">(</a><a id="1050" href="UniformIterationAlgebra.html#1022" class="Bound">f</a> <a id="1052" href="UniformIterationAlgebra.html#724" class="Field Operator">#</a><a id="1053" class="Symbol">)</a> <a id="1055" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1057" class="Symbol">(</a><a id="1058" href="UniformIterationAlgebra.html#1024" class="Bound">g</a> <a id="1060" href="UniformIterationAlgebra.html#724" class="Field Operator">#</a><a id="1061" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="1066" class="Keyword">record</a> <a id="Uniform-Iteration-Algebra"></a><a id="1073" href="UniformIterationAlgebra.html#1073" class="Record">Uniform-Iteration-Algebra</a> <a id="1099" class="Symbol">:</a> <a id="1101" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1105" class="Symbol">(</a><a id="1106" href="UniformIterationAlgebra.html#373" class="Bound">o</a> <a id="1108" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1110" href="UniformIterationAlgebra.html#375" class="Bound">ℓ</a> <a id="1112" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1114" href="UniformIterationAlgebra.html#377" class="Bound">e</a><a id="1115" class="Symbol">)</a> <a id="1117" class="Keyword">where</a>
|
|||
|
<a id="1127" class="Keyword">field</a>
|
|||
|
<a id="Uniform-Iteration-Algebra.A"></a><a id="1139" href="UniformIterationAlgebra.html#1139" class="Field">A</a> <a id="1141" class="Symbol">:</a> <a id="1143" href="Categories.Category.Core.html#559" class="Function">Obj</a>
|
|||
|
<a id="Uniform-Iteration-Algebra.algebra"></a><a id="1153" href="UniformIterationAlgebra.html#1153" class="Field">algebra</a> <a id="1161" class="Symbol">:</a> <a id="1163" href="UniformIterationAlgebra.html#619" class="Record">Uniform-Iteration-Algebra-on</a> <a id="1192" href="UniformIterationAlgebra.html#1139" class="Field">A</a>
|
|||
|
<a id="1198" class="Keyword">open</a> <a id="1203" href="UniformIterationAlgebra.html#619" class="Module">Uniform-Iteration-Algebra-on</a> <a id="1232" href="UniformIterationAlgebra.html#1153" class="Field">algebra</a> <a id="1240" class="Keyword">public</a>
|
|||
|
</pre>
|