bsc-leon-vatthauer/public/Categories.Category.Construction.F-Coalgebras.html

126 lines
No EOL
36 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Categories.Category.Construction.F-Coalgebras</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.F-Coalgebras.html" class="Module">Categories.Category.Construction.F-Coalgebras</a> <a id="89" class="Keyword">where</a>
<a id="96" class="Keyword">open</a> <a id="101" class="Keyword">import</a> <a id="108" href="Level.html" class="Module">Level</a>
<a id="115" class="Keyword">open</a> <a id="120" class="Keyword">import</a> <a id="127" href="Categories.Category.html" class="Module">Categories.Category</a>
<a id="147" class="Keyword">open</a> <a id="152" class="Keyword">import</a> <a id="159" href="Categories.Functor.html" class="Module">Categories.Functor</a> <a id="178" class="Keyword">hiding</a> <a id="185" class="Symbol">(</a><a id="186" href="Categories.Functor.html#349" class="Function">id</a><a id="188" class="Symbol">)</a>
<a id="190" class="Keyword">open</a> <a id="195" class="Keyword">import</a> <a id="202" href="Categories.Functor.Algebra.html" class="Module">Categories.Functor.Algebra</a>
<a id="229" class="Keyword">open</a> <a id="234" class="Keyword">import</a> <a id="241" href="Categories.Functor.Coalgebra.html" class="Module">Categories.Functor.Coalgebra</a>
<a id="270" class="Keyword">open</a> <a id="275" class="Keyword">import</a> <a id="282" href="Categories.Object.Initial.html" class="Module">Categories.Object.Initial</a>
<a id="308" class="Keyword">open</a> <a id="313" class="Keyword">import</a> <a id="320" href="Categories.Object.Terminal.html" class="Module">Categories.Object.Terminal</a>
<a id="347" class="Keyword">import</a> <a id="354" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="384" class="Symbol">as</a> <a id="387" class="Module">MR</a>
<a id="390" class="Keyword">import</a> <a id="397" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="417" class="Symbol">as</a> <a id="420" class="Module">Mor</a> <a id="424" class="Keyword">using</a> <a id="430" class="Symbol">(</a><a id="431" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a><a id="434" class="Symbol">;</a> <a id="436" href="Categories.Morphism.html#1528" class="Record">Iso</a><a id="439" class="Symbol">)</a>
<a id="441" class="Keyword">open</a> <a id="446" class="Keyword">import</a> <a id="453" href="Categories.Category.Construction.F-Algebras.html" class="Module">Categories.Category.Construction.F-Algebras</a>
<a id="497" class="Keyword">open</a> <a id="502" class="Keyword">import</a> <a id="509" href="Categories.Functor.Duality.html" class="Module">Categories.Functor.Duality</a>
<a id="537" class="Keyword">private</a>
<a id="547" class="Keyword">variable</a>
<a id="560" href="Categories.Category.Construction.F-Coalgebras.html#560" class="Generalizable">o</a> <a id="562" href="Categories.Category.Construction.F-Coalgebras.html#562" class="Generalizable"></a> <a id="564" href="Categories.Category.Construction.F-Coalgebras.html#564" class="Generalizable">e</a> <a id="566" class="Symbol">:</a> <a id="568" href="Agda.Primitive.html#591" class="Postulate">Level</a>
<a id="578" href="Categories.Category.Construction.F-Coalgebras.html#578" class="Generalizable">C</a> <a id="580" class="Symbol">:</a> <a id="582" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="591" href="Categories.Category.Construction.F-Coalgebras.html#560" class="Generalizable">o</a> <a id="593" href="Categories.Category.Construction.F-Coalgebras.html#562" class="Generalizable"></a> <a id="595" href="Categories.Category.Construction.F-Coalgebras.html#564" class="Generalizable">e</a>
<a id="F-Coalgebras"></a><a id="598" href="Categories.Category.Construction.F-Coalgebras.html#598" class="Function">F-Coalgebras</a> <a id="611" class="Symbol">:</a> <a id="613" class="Symbol">{</a><a id="614" href="Categories.Category.Construction.F-Coalgebras.html#614" class="Bound">C</a> <a id="616" class="Symbol">:</a> <a id="618" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="627" href="Categories.Category.Construction.F-Coalgebras.html#560" class="Generalizable">o</a> <a id="629" href="Categories.Category.Construction.F-Coalgebras.html#562" class="Generalizable"></a> <a id="631" href="Categories.Category.Construction.F-Coalgebras.html#564" class="Generalizable">e</a><a id="632" class="Symbol">}</a> <a id="634" class="Symbol"></a> <a id="636" href="Categories.Functor.html#283" class="Function">Endofunctor</a> <a id="648" href="Categories.Category.Construction.F-Coalgebras.html#614" class="Bound">C</a> <a id="650" class="Symbol"></a> <a id="652" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="661" class="Symbol">(</a><a id="662" href="Categories.Category.Construction.F-Coalgebras.html#562" class="Generalizable"></a> <a id="664" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="666" href="Categories.Category.Construction.F-Coalgebras.html#560" class="Generalizable">o</a><a id="667" class="Symbol">)</a> <a id="669" class="Symbol">(</a><a id="670" href="Categories.Category.Construction.F-Coalgebras.html#564" class="Generalizable">e</a> <a id="672" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="674" href="Categories.Category.Construction.F-Coalgebras.html#562" class="Generalizable"></a><a id="675" class="Symbol">)</a> <a id="677" href="Categories.Category.Construction.F-Coalgebras.html#564" class="Generalizable">e</a>
<a id="679" href="Categories.Category.Construction.F-Coalgebras.html#598" class="Function">F-Coalgebras</a> <a id="692" class="Symbol">{</a><a id="693" class="Argument">C</a> <a id="695" class="Symbol">=</a> <a id="697" href="Categories.Category.Construction.F-Coalgebras.html#697" class="Bound">C</a><a id="698" class="Symbol">}</a> <a id="700" href="Categories.Category.Construction.F-Coalgebras.html#700" class="Bound">F</a> <a id="702" class="Symbol">=</a> <a id="704" class="Keyword">record</a>
<a id="713" class="Symbol">{</a> <a id="715" href="Categories.Category.Core.html#559" class="Field">Obj</a> <a id="725" class="Symbol">=</a> <a id="727" href="Categories.Functor.Coalgebra.html#483" class="Record">F-Coalgebra</a> <a id="739" href="Categories.Category.Construction.F-Coalgebras.html#700" class="Bound">F</a>
<a id="743" class="Symbol">;</a> <a id="745" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="755" class="Symbol">=</a> <a id="757" href="Categories.Functor.Coalgebra.html#1350" class="Record">F-Coalgebra-Morphism</a>
<a id="780" class="Symbol">;</a> <a id="782" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a> <a id="792" class="Symbol">=</a> <a id="794" class="Symbol">λ</a> <a id="796" href="Categories.Category.Construction.F-Coalgebras.html#796" class="Bound">α₁</a> <a id="799" href="Categories.Category.Construction.F-Coalgebras.html#799" class="Bound">α₂</a> <a id="802" class="Symbol"></a> <a id="804" href="Categories.Functor.Coalgebra.html#1411" class="Field">f</a> <a id="806" href="Categories.Category.Construction.F-Coalgebras.html#796" class="Bound">α₁</a> <a id="809" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="811" href="Categories.Functor.Coalgebra.html#1411" class="Field">f</a> <a id="813" href="Categories.Category.Construction.F-Coalgebras.html#799" class="Bound">α₂</a>
<a id="818" class="Symbol">;</a> <a id="820" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a> <a id="830" class="Symbol">=</a> <a id="832" class="Symbol">λ</a> <a id="834" href="Categories.Category.Construction.F-Coalgebras.html#834" class="Bound">α₁</a> <a id="837" href="Categories.Category.Construction.F-Coalgebras.html#837" class="Bound">α₂</a> <a id="840" class="Symbol"></a> <a id="842" class="Keyword">record</a>
<a id="853" class="Symbol">{</a> <a id="855" href="Categories.Functor.Coalgebra.html#1411" class="Field">f</a> <a id="857" class="Symbol">=</a> <a id="859" href="Categories.Functor.Coalgebra.html#1411" class="Field">f</a> <a id="861" href="Categories.Category.Construction.F-Coalgebras.html#834" class="Bound">α₁</a> <a id="864" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="866" href="Categories.Functor.Coalgebra.html#1411" class="Field">f</a> <a id="868" href="Categories.Category.Construction.F-Coalgebras.html#837" class="Bound">α₂</a>
<a id="875" class="Symbol">;</a> <a id="877" href="Categories.Functor.Coalgebra.html#1433" class="Field">commutes</a> <a id="886" class="Symbol">=</a> <a id="888" href="Categories.Functor.Algebra.html#1388" class="Field">F-Algebra-Morphism.commutes</a> <a id="916" class="Symbol">(</a><a id="917" href="Categories.Functor.Duality.html#3192" class="Function">F-Coalgebra-Morphism⇒coF-Algebra-Morphism</a> <a id="959" href="Categories.Category.Construction.F-Coalgebras.html#834" class="Bound">α₁</a>
<a id="969" href="Categories.Category.Core.html#656" class="Function Operator">coF-Algebras.∘</a>
<a id="991" href="Categories.Functor.Duality.html#3192" class="Function">F-Coalgebra-Morphism⇒coF-Algebra-Morphism</a> <a id="1033" href="Categories.Category.Construction.F-Coalgebras.html#837" class="Bound">α₂</a><a id="1035" class="Symbol">)</a>
<a id="1041" class="Symbol">}</a>
<a id="1045" class="Symbol">;</a> <a id="1047" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1057" class="Symbol">=</a> <a id="1059" class="Keyword">record</a> <a id="1066" class="Symbol">{</a> <a id="1068" href="Categories.Functor.Coalgebra.html#1411" class="Field">f</a> <a id="1070" class="Symbol">=</a> <a id="1072" href="Categories.Category.Core.html#630" class="Function">id</a><a id="1074" class="Symbol">;</a> <a id="1076" href="Categories.Functor.Coalgebra.html#1433" class="Field">commutes</a> <a id="1085" class="Symbol">=</a> <a id="1087" href="Categories.Functor.Algebra.html#1388" class="Field">F-Algebra-Morphism.commutes</a> <a id="1115" href="Categories.Category.Core.html#630" class="Function">coF-Algebras.id</a> <a id="1131" class="Symbol">}</a>
<a id="1135" class="Symbol">;</a> <a id="1137" href="Categories.Category.Core.html#715" class="Field">assoc</a> <a id="1147" class="Symbol">=</a> <a id="1149" href="Categories.Category.Core.html#715" class="Function">assoc</a>
<a id="1157" class="Symbol">;</a> <a id="1159" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="1169" class="Symbol">=</a> <a id="1171" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a>
<a id="1183" class="Symbol">;</a> <a id="1185" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="1195" class="Symbol">=</a> <a id="1197" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a>
<a id="1209" class="Symbol">;</a> <a id="1211" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="1221" class="Symbol">=</a> <a id="1223" href="Categories.Category.Core.html#1145" class="Function">identityʳ</a>
<a id="1235" class="Symbol">;</a> <a id="1237" href="Categories.Category.Core.html#1339" class="Field">identity²</a> <a id="1247" class="Symbol">=</a> <a id="1249" href="Categories.Category.Core.html#1339" class="Function">identity²</a>
<a id="1261" class="Symbol">;</a> <a id="1263" href="Categories.Category.Core.html#1384" class="Field">equiv</a> <a id="1273" class="Symbol">=</a> <a id="1275" class="Keyword">record</a>
<a id="1286" class="Symbol">{</a> <a id="1288" href="Relation.Binary.Structures.html#1577" class="Field">refl</a> <a id="1294" class="Symbol">=</a> <a id="1296" href="Relation.Binary.Structures.html#1577" class="Function">refl</a>
<a id="1305" class="Symbol">;</a> <a id="1307" href="Relation.Binary.Structures.html#1603" class="Field">sym</a> <a id="1313" class="Symbol">=</a> <a id="1315" href="Relation.Binary.Structures.html#1603" class="Function">sym</a>
<a id="1323" class="Symbol">;</a> <a id="1325" href="Relation.Binary.Structures.html#1629" class="Field">trans</a> <a id="1331" class="Symbol">=</a> <a id="1333" href="Relation.Binary.Structures.html#1629" class="Function">trans</a>
<a id="1343" class="Symbol">}</a>
<a id="1347" class="Symbol">;</a> <a id="1349" href="Categories.Category.Core.html#1438" class="Field">∘-resp-≈</a> <a id="1359" class="Symbol">=</a> <a id="1361" href="Categories.Category.Core.html#1438" class="Function">∘-resp-≈</a>
<a id="1372" class="Symbol">}</a>
<a id="1376" class="Keyword">where</a>
<a id="1386" class="Keyword">open</a> <a id="1391" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1400" href="Categories.Category.Construction.F-Coalgebras.html#697" class="Bound">C</a>
<a id="1406" class="Keyword">open</a> <a id="1411" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="1414" href="Categories.Category.Construction.F-Coalgebras.html#697" class="Bound">C</a>
<a id="1420" class="Keyword">open</a> <a id="1425" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="1442" class="Keyword">open</a> <a id="1447" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
<a id="1457" class="Keyword">open</a> <a id="1462" href="Categories.Functor.Coalgebra.html#1350" class="Module">F-Coalgebra-Morphism</a>
<a id="1487" class="Keyword">module</a> <a id="1494" href="Categories.Category.Construction.F-Coalgebras.html#1494" class="Module">coF-Algebras</a> <a id="1507" class="Symbol">=</a> <a id="1509" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1518" class="Symbol">(</a><a id="1519" href="Categories.Category.Core.html#3132" class="Function">Category.op</a> <a id="1531" class="Symbol">(</a><a id="1532" href="Categories.Category.Construction.F-Algebras.html#462" class="Function">F-Algebras</a> <a id="1543" class="Symbol">(</a><a id="1544" href="Categories.Functor.Core.html#816" class="Function">Functor.op</a> <a id="1555" href="Categories.Category.Construction.F-Coalgebras.html#700" class="Bound">F</a><a id="1556" class="Symbol">)))</a>
<a id="F-Coalgebras⇒coF-Algebras"></a><a id="1561" href="Categories.Category.Construction.F-Coalgebras.html#1561" class="Function">F-Coalgebras⇒coF-Algebras</a> <a id="1587" class="Symbol">:</a> <a id="1589" class="Symbol">{</a><a id="1590" href="Categories.Category.Construction.F-Coalgebras.html#1590" class="Bound">C</a> <a id="1592" class="Symbol">:</a> <a id="1594" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1603" href="Categories.Category.Construction.F-Coalgebras.html#560" class="Generalizable">o</a> <a id="1605" href="Categories.Category.Construction.F-Coalgebras.html#562" class="Generalizable"></a> <a id="1607" href="Categories.Category.Construction.F-Coalgebras.html#564" class="Generalizable">e</a><a id="1608" class="Symbol">}</a> <a id="1610" class="Symbol"></a> <a id="1612" class="Symbol">(</a><a id="1613" href="Categories.Category.Construction.F-Coalgebras.html#1613" class="Bound">F</a> <a id="1615" class="Symbol">:</a> <a id="1617" href="Categories.Functor.html#283" class="Function">Endofunctor</a> <a id="1629" href="Categories.Category.Construction.F-Coalgebras.html#1590" class="Bound">C</a><a id="1630" class="Symbol">)</a> <a id="1632" class="Symbol"></a> <a id="1634" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="1642" class="Symbol">(</a><a id="1643" href="Categories.Category.Construction.F-Coalgebras.html#598" class="Function">F-Coalgebras</a> <a id="1656" href="Categories.Category.Construction.F-Coalgebras.html#1613" class="Bound">F</a><a id="1657" class="Symbol">)</a> <a id="1659" class="Symbol">(</a><a id="1660" href="Categories.Category.Core.html#3132" class="Function">Category.op</a> <a id="1672" class="Symbol">(</a><a id="1673" href="Categories.Category.Construction.F-Algebras.html#462" class="Function">F-Algebras</a> <a id="1684" class="Symbol">(</a><a id="1685" href="Categories.Functor.Core.html#816" class="Function">Functor.op</a> <a id="1696" href="Categories.Category.Construction.F-Coalgebras.html#1613" class="Bound">F</a><a id="1697" class="Symbol">)))</a>
<a id="1701" href="Categories.Category.Construction.F-Coalgebras.html#1561" class="Function">F-Coalgebras⇒coF-Algebras</a> <a id="1727" class="Symbol">{</a><a id="1728" class="Argument">C</a> <a id="1730" class="Symbol">=</a> <a id="1732" href="Categories.Category.Construction.F-Coalgebras.html#1732" class="Bound">C</a><a id="1733" class="Symbol">}</a> <a id="1735" href="Categories.Category.Construction.F-Coalgebras.html#1735" class="Bound">F</a> <a id="1737" class="Symbol">=</a> <a id="1739" class="Keyword">record</a>
<a id="1748" class="Symbol">{</a> <a id="1750" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="1763" class="Symbol">=</a> <a id="1765" href="Categories.Functor.Duality.html#2682" class="Function">F-Coalgebra⇒coF-Algebra</a>
<a id="1791" class="Symbol">;</a> <a id="1793" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="1806" class="Symbol">=</a> <a id="1808" href="Categories.Functor.Duality.html#3192" class="Function">F-Coalgebra-Morphism⇒coF-Algebra-Morphism</a>
<a id="1852" class="Symbol">;</a> <a id="1854" href="Categories.Functor.Core.html#511" class="Field">identity</a> <a id="1867" class="Symbol">=</a> <a id="1869" href="Relation.Binary.Structures.html#1577" class="Function">refl</a>
<a id="1876" class="Symbol">;</a> <a id="1878" href="Categories.Functor.Core.html#565" class="Field">homomorphism</a> <a id="1891" class="Symbol">=</a> <a id="1893" href="Relation.Binary.Structures.html#1577" class="Function">refl</a>
<a id="1900" class="Symbol">;</a> <a id="1902" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a> <a id="1915" class="Symbol">=</a> <a id="1917" class="Symbol">λ</a> <a id="1919" href="Categories.Category.Construction.F-Coalgebras.html#1919" class="Bound">x</a> <a id="1921" class="Symbol"></a> <a id="1923" href="Categories.Category.Construction.F-Coalgebras.html#1919" class="Bound">x</a>
<a id="1927" class="Symbol">}</a>
<a id="1931" class="Keyword">where</a>
<a id="1941" class="Keyword">open</a> <a id="1946" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1955" href="Categories.Category.Construction.F-Coalgebras.html#1732" class="Bound">C</a>
<a id="1961" class="Keyword">open</a> <a id="1966" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="1969" href="Categories.Category.Construction.F-Coalgebras.html#1732" class="Bound">C</a>
<a id="1975" class="Keyword">open</a> <a id="1980" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="1997" class="Keyword">open</a> <a id="2002" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
<a id="2012" class="Keyword">open</a> <a id="2017" href="Categories.Functor.Coalgebra.html#1350" class="Module">F-Coalgebra-Morphism</a>
<a id="2039" class="Keyword">private</a>
<a id="coIsTerminal⇒Initial"></a><a id="2049" href="Categories.Category.Construction.F-Coalgebras.html#2049" class="Function">coIsTerminal⇒Initial</a> <a id="2070" class="Symbol">:</a> <a id="2072" class="Symbol"></a> <a id="2074" class="Symbol">{</a><a id="2075" href="Categories.Category.Construction.F-Coalgebras.html#2075" class="Bound">C</a> <a id="2077" class="Symbol">:</a> <a id="2079" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="2088" href="Categories.Category.Construction.F-Coalgebras.html#560" class="Generalizable">o</a> <a id="2090" href="Categories.Category.Construction.F-Coalgebras.html#562" class="Generalizable"></a> <a id="2092" href="Categories.Category.Construction.F-Coalgebras.html#564" class="Generalizable">e</a><a id="2093" class="Symbol">}</a> <a id="2095" class="Symbol">{</a><a id="2096" href="Categories.Category.Construction.F-Coalgebras.html#2096" class="Bound">F</a> <a id="2098" class="Symbol">:</a> <a id="2100" href="Categories.Functor.html#283" class="Function">Endofunctor</a> <a id="2112" href="Categories.Category.Construction.F-Coalgebras.html#2075" class="Bound">C</a><a id="2113" class="Symbol">}</a>
<a id="2119" class="Symbol">{</a><a id="2120" href="Categories.Category.Construction.F-Coalgebras.html#2120" class="Bound">T</a> <a id="2122" class="Symbol">:</a> <a id="2124" href="Categories.Category.Core.html#559" class="Field">Category.Obj</a> <a id="2137" class="Symbol">(</a><a id="2138" href="Categories.Category.Construction.F-Coalgebras.html#598" class="Function">F-Coalgebras</a> <a id="2151" href="Categories.Category.Construction.F-Coalgebras.html#2096" class="Bound">F</a><a id="2152" class="Symbol">)</a> <a id="2154" class="Symbol">}</a> <a id="2156" class="Symbol"></a>
<a id="2162" href="Categories.Object.Terminal.html#520" class="Record">IsTerminal</a> <a id="2173" class="Symbol">(</a><a id="2174" href="Categories.Category.Construction.F-Coalgebras.html#598" class="Function">F-Coalgebras</a> <a id="2187" href="Categories.Category.Construction.F-Coalgebras.html#2096" class="Bound">F</a><a id="2188" class="Symbol">)</a> <a id="2190" href="Categories.Category.Construction.F-Coalgebras.html#2120" class="Bound">T</a> <a id="2192" class="Symbol"></a>
<a id="2198" href="Categories.Object.Initial.html#422" class="Record">IsInitial</a> <a id="2208" class="Symbol">(</a><a id="2209" href="Categories.Category.Construction.F-Algebras.html#462" class="Function">F-Algebras</a> <a id="2220" class="Symbol">(</a><a id="2221" href="Categories.Functor.Core.html#816" class="Function">Functor.op</a> <a id="2232" href="Categories.Category.Construction.F-Coalgebras.html#2096" class="Bound">F</a><a id="2233" class="Symbol">))</a> <a id="2236" class="Symbol">(</a><a id="2237" href="Categories.Functor.Duality.html#2682" class="Function">F-Coalgebra⇒coF-Algebra</a> <a id="2261" href="Categories.Category.Construction.F-Coalgebras.html#2120" class="Bound">T</a><a id="2262" class="Symbol">)</a>
<a id="2266" href="Categories.Category.Construction.F-Coalgebras.html#2049" class="Function">coIsTerminal⇒Initial</a> <a id="2287" class="Symbol">{</a><a id="2288" class="Argument">C</a> <a id="2290" class="Symbol">=</a> <a id="2292" href="Categories.Category.Construction.F-Coalgebras.html#2292" class="Bound">C</a><a id="2293" class="Symbol">}</a> <a id="2295" class="Symbol">{</a><a id="2296" class="Argument">F</a> <a id="2298" class="Symbol">=</a> <a id="2300" href="Categories.Category.Construction.F-Coalgebras.html#2300" class="Bound">F</a><a id="2301" class="Symbol">}</a> <a id="2303" class="Symbol">{</a><a id="2304" class="Argument">T</a> <a id="2306" class="Symbol">=</a> <a id="2308" href="Categories.Category.Construction.F-Coalgebras.html#2308" class="Bound">T</a><a id="2309" class="Symbol">}</a> <a id="2311" href="Categories.Category.Construction.F-Coalgebras.html#2311" class="Bound">isTT</a> <a id="2316" class="Symbol">=</a> <a id="2318" class="Keyword">record</a>
<a id="2329" class="Symbol">{</a> <a id="2331" href="Categories.Object.Initial.html#478" class="Field">!</a> <a id="2333" class="Symbol">=</a>
<a id="2343" href="Categories.Functor.Duality.html#3192" class="Function">F-Coalgebra-Morphism⇒coF-Algebra-Morphism</a> <a id="2385" href="Categories.Category.Construction.F-Coalgebras.html#2754" class="Field">¡</a>
<a id="2391" class="Symbol">;</a> <a id="2393" href="Categories.Object.Initial.html#506" class="Field">!-unique</a> <a id="2402" class="Symbol">=</a>
<a id="2412" class="Symbol">λ</a> <a id="2415" href="Categories.Category.Construction.F-Coalgebras.html#2415" class="Bound">γ</a> <a id="2418" class="Symbol"></a> <a id="2420" href="Categories.Functor.Core.html#696" class="Field">Functor.F-resp-≈</a> <a id="2437" class="Symbol">(</a><a id="2438" href="Categories.Category.Construction.F-Coalgebras.html#1561" class="Function">F-Coalgebras⇒coF-Algebras</a> <a id="2464" href="Categories.Category.Construction.F-Coalgebras.html#2300" class="Bound">F</a><a id="2465" class="Symbol">)</a>
<a id="2475" class="Symbol">{</a><a id="2476" class="Argument">f</a> <a id="2478" class="Symbol">=</a> <a id="2480" href="Categories.Category.Construction.F-Coalgebras.html#2754" class="Field">¡</a><a id="2481" class="Symbol">}</a>
<a id="2491" class="Symbol">{</a><a id="2492" class="Argument">g</a> <a id="2494" class="Symbol">=</a> <a id="2496" href="Categories.Functor.Duality.html#2860" class="Function">coF-Algebra-Morphism⇒F-Coalgebra-Morphism</a> <a id="2538" href="Categories.Category.Construction.F-Coalgebras.html#2415" class="Bound">γ</a><a id="2539" class="Symbol">}</a>
<a id="2549" class="Symbol">(</a><a id="2550" href="Categories.Category.Construction.F-Coalgebras.html#2769" class="Field">¡-unique</a> <a id="2559" class="Symbol">(</a><a id="2560" href="Categories.Functor.Duality.html#2860" class="Function">coF-Algebra-Morphism⇒F-Coalgebra-Morphism</a> <a id="2602" href="Categories.Category.Construction.F-Coalgebras.html#2415" class="Bound">γ</a><a id="2603" class="Symbol">))</a>
<a id="2610" class="Symbol">}</a>
<a id="2616" class="Keyword">where</a>
<a id="2628" class="Keyword">open</a> <a id="2633" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="2642" class="Symbol">(</a><a id="2643" href="Categories.Category.Construction.F-Algebras.html#462" class="Function">F-Algebras</a> <a id="2654" class="Symbol">(</a><a id="2655" href="Categories.Functor.Core.html#816" class="Function">Functor.op</a> <a id="2666" href="Categories.Category.Construction.F-Coalgebras.html#2300" class="Bound">F</a><a id="2667" class="Symbol">))</a>
<a id="2676" class="Keyword">open</a> <a id="2681" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="2684" class="Symbol">(</a><a id="2685" href="Categories.Category.Construction.F-Algebras.html#462" class="Function">F-Algebras</a> <a id="2696" class="Symbol">(</a><a id="2697" href="Categories.Functor.Core.html#816" class="Function">Functor.op</a> <a id="2708" href="Categories.Category.Construction.F-Coalgebras.html#2300" class="Bound">F</a><a id="2709" class="Symbol">))</a>
<a id="2718" class="Keyword">open</a> <a id="2723" href="Categories.Object.Terminal.html#520" class="Module">IsTerminal</a> <a id="2734" href="Categories.Category.Construction.F-Coalgebras.html#2311" class="Bound">isTT</a> <a id="2739" class="Keyword">renaming</a> <a id="2748" class="Symbol">(</a><a id="2749" href="Categories.Object.Terminal.html#577" class="Field">!</a> <a id="2751" class="Symbol">to</a> <a id="2754" class="Field">¡</a><a id="2755" class="Symbol">;</a> <a id="2757" href="Categories.Object.Terminal.html#605" class="Field">!-unique</a> <a id="2766" class="Symbol">to</a> <a id="2769" class="Field">¡-unique</a><a id="2777" class="Symbol">)</a>
<a id="2785" class="Keyword">open</a> <a id="2790" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="2809" class="Keyword">open</a> <a id="2814" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
<a id="2821" class="Keyword">module</a> <a id="CoLambek"></a><a id="2828" href="Categories.Category.Construction.F-Coalgebras.html#2828" class="Module">CoLambek</a> <a id="2837" class="Symbol">{</a><a id="2838" href="Categories.Category.Construction.F-Coalgebras.html#2838" class="Bound">C</a> <a id="2840" class="Symbol">:</a> <a id="2842" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="2851" href="Categories.Category.Construction.F-Coalgebras.html#560" class="Generalizable">o</a> <a id="2853" href="Categories.Category.Construction.F-Coalgebras.html#562" class="Generalizable"></a> <a id="2855" href="Categories.Category.Construction.F-Coalgebras.html#564" class="Generalizable">e</a><a id="2856" class="Symbol">}</a> <a id="2858" class="Symbol">{</a><a id="2859" href="Categories.Category.Construction.F-Coalgebras.html#2859" class="Bound">F</a> <a id="2861" class="Symbol">:</a> <a id="2863" href="Categories.Functor.html#283" class="Function">Endofunctor</a> <a id="2875" href="Categories.Category.Construction.F-Coalgebras.html#2838" class="Bound">C</a><a id="2876" class="Symbol">}</a> <a id="2878" class="Symbol">(</a><a id="2879" href="Categories.Category.Construction.F-Coalgebras.html#2879" class="Bound">T</a> <a id="2881" class="Symbol">:</a> <a id="2883" href="Categories.Object.Terminal.html#860" class="Record">Terminal</a> <a id="2892" class="Symbol">(</a><a id="2893" href="Categories.Category.Construction.F-Coalgebras.html#598" class="Function">F-Coalgebras</a> <a id="2906" href="Categories.Category.Construction.F-Coalgebras.html#2859" class="Bound">F</a><a id="2907" class="Symbol">))</a> <a id="2910" class="Keyword">where</a>
<a id="2918" class="Keyword">open</a> <a id="2923" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="2932" href="Categories.Category.Construction.F-Coalgebras.html#2838" class="Bound">C</a>
<a id="2936" class="Keyword">open</a> <a id="2941" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="2949" href="Categories.Category.Construction.F-Coalgebras.html#2859" class="Bound">F</a> <a id="2951" class="Keyword">using</a> <a id="2957" class="Symbol">(</a><a id="2958" href="Categories.Functor.Core.html#432" class="Field">F₀</a><a id="2960" class="Symbol">)</a>
<a id="2964" class="Keyword">open</a> <a id="2969" href="Categories.Functor.Coalgebra.html#483" class="Module">F-Coalgebra</a> <a id="2981" class="Keyword">using</a> <a id="2987" class="Symbol">(</a><a id="2988" href="Categories.Functor.Coalgebra.html#585" class="Field">α</a><a id="2989" class="Symbol">)</a>
<a id="2994" class="Keyword">open</a> <a id="2999" href="Categories.Morphism.html" class="Module">Mor</a> <a id="3003" href="Categories.Category.Construction.F-Coalgebras.html#2838" class="Bound">C</a>
<a id="3007" class="Keyword">open</a> <a id="3012" href="Categories.Object.Terminal.html#860" class="Module">Terminal</a> <a id="3021" href="Categories.Category.Construction.F-Coalgebras.html#2879" class="Bound">T</a>
<a id="3026" class="Keyword">private</a>
<a id="3038" class="Keyword">module</a> <a id="CoLambek.F"></a><a id="3045" href="Categories.Category.Construction.F-Coalgebras.html#3045" class="Module">F</a> <a id="3048" class="Symbol">=</a> <a id="3050" href="Categories.Functor.Coalgebra.html#483" class="Module">F-Coalgebra</a> <a id="3062" href="Categories.Object.Terminal.html#905" class="Field"></a>
<a id="CoLambek.A"></a><a id="3068" href="Categories.Category.Construction.F-Coalgebras.html#3068" class="Function">A</a> <a id="3070" class="Symbol">=</a> <a id="3072" href="Categories.Functor.Coalgebra.html#571" class="Function">F.A</a>
<a id="CoLambek.a"></a><a id="3081" href="Categories.Category.Construction.F-Coalgebras.html#3081" class="Function">a</a> <a id="3083" class="Symbol">:</a> <a id="3085" href="Categories.Category.Construction.F-Coalgebras.html#3068" class="Function">A</a> <a id="3087" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="3089" href="Categories.Functor.Core.html#432" class="Function">F₀</a> <a id="3092" href="Categories.Category.Construction.F-Coalgebras.html#3068" class="Function">A</a>
<a id="3098" href="Categories.Category.Construction.F-Coalgebras.html#3081" class="Function">a</a> <a id="3100" class="Symbol">=</a> <a id="3102" href="Categories.Functor.Coalgebra.html#585" class="Function">F.α</a>
<a id="CoLambek.coInitial"></a><a id="3112" href="Categories.Category.Construction.F-Coalgebras.html#3112" class="Function">coInitial</a> <a id="3122" class="Symbol">:</a> <a id="3124" href="Categories.Object.Initial.html#760" class="Record">Initial</a> <a id="3132" class="Symbol">(</a><a id="3133" href="Categories.Category.Construction.F-Algebras.html#462" class="Function">F-Algebras</a> <a id="3144" class="Symbol">(</a><a id="3145" href="Categories.Functor.Core.html#816" class="Function">Functor.op</a> <a id="3156" href="Categories.Category.Construction.F-Coalgebras.html#2859" class="Bound">F</a><a id="3157" class="Symbol">))</a>
<a id="3164" href="Categories.Category.Construction.F-Coalgebras.html#3112" class="Function">coInitial</a> <a id="3174" class="Symbol">=</a> <a id="3176" class="Keyword">record</a>
<a id="3199" class="Symbol">{</a> <a id="3201" href="Categories.Object.Initial.html#804" class="Field"></a> <a id="3203" class="Symbol">=</a> <a id="3205" href="Categories.Functor.Duality.html#2682" class="Function">F-Coalgebra⇒coF-Algebra</a> <a id="3229" href="Categories.Object.Terminal.html#905" class="Field"></a>
<a id="3247" class="Symbol">;</a> <a id="3249" href="Categories.Object.Initial.html#816" class="Field">⊥-is-initial</a> <a id="3262" class="Symbol">=</a> <a id="3264" href="Categories.Category.Construction.F-Coalgebras.html#2049" class="Function">coIsTerminal⇒Initial</a> <a id="3285" href="Categories.Object.Terminal.html#917" class="Field">-is-terminal</a>
<a id="3315" class="Symbol">}</a>
<a id="3322" class="Keyword">module</a> <a id="CoLambek.coLambek"></a><a id="3329" href="Categories.Category.Construction.F-Coalgebras.html#3329" class="Module">coLambek</a> <a id="3338" class="Symbol">=</a> <a id="3340" href="Categories.Category.Construction.F-Algebras.html#1637" class="Module">Lambek</a> <a id="3347" href="Categories.Category.Construction.F-Coalgebras.html#3112" class="Function">coInitial</a>
<a id="CoLambek.colambek"></a><a id="3360" href="Categories.Category.Construction.F-Coalgebras.html#3360" class="Function">colambek</a> <a id="3369" class="Symbol">:</a> <a id="3371" href="Categories.Category.Construction.F-Coalgebras.html#3068" class="Function">A</a> <a id="3373" href="Categories.Morphism.html#1958" class="Record Operator"></a> <a id="3375" href="Categories.Functor.Core.html#432" class="Function">F₀</a> <a id="3378" href="Categories.Category.Construction.F-Coalgebras.html#3068" class="Function">A</a>
<a id="3382" href="Categories.Category.Construction.F-Coalgebras.html#3360" class="Function">colambek</a> <a id="3391" class="Symbol">=</a> <a id="3393" class="Keyword">record</a>
<a id="3404" class="Symbol">{</a> <a id="3406" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="3411" class="Symbol">=</a> <a id="3413" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="3416" href="Categories.Category.Construction.F-Algebras.html#2829" class="Function">coLambek.lambek</a>
<a id="3436" class="Symbol">;</a> <a id="3438" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="3441" class="Symbol">=</a> <a id="3443" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="3448" href="Categories.Category.Construction.F-Algebras.html#2829" class="Function">coLambek.lambek</a>
<a id="3468" class="Symbol">;</a> <a id="3470" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="3474" class="Symbol">=</a> <a id="3476" class="Keyword">record</a>
<a id="3489" class="Symbol">{</a> <a id="3491" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="3496" class="Symbol">=</a> <a id="3498" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="3503" class="Symbol">(</a><a id="3504" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="3508" href="Categories.Category.Construction.F-Algebras.html#2829" class="Function">coLambek.lambek</a><a id="3523" class="Symbol">)</a>
<a id="3531" class="Symbol">;</a> <a id="3533" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="3538" class="Symbol">=</a> <a id="3540" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="3545" class="Symbol">(</a><a id="3546" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="3550" href="Categories.Category.Construction.F-Algebras.html#2829" class="Function">coLambek.lambek</a><a id="3565" class="Symbol">)</a>
<a id="3573" class="Symbol">}</a>
<a id="3579" class="Symbol">}</a>
<a id="3585" class="Keyword">where</a>
<a id="3597" class="Keyword">open</a> <a id="3602" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="3621" class="Keyword">open</a> <a id="3626" href="Categories.Morphism.html#1958" class="Module Operator">Mor._≅_</a>
<a id="3640" class="Keyword">open</a> <a id="3645" href="Categories.Morphism.html#1528" class="Module">Mor.Iso</a>
</pre></body></html>