bsc-leon-vatthauer/public/Relation.Binary.Morphism.Structures.html

119 lines
No EOL
38 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>Relation.Binary.Morphism.Structures</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Comment">------------------------------------------------------------------------</a>
<a id="74" class="Comment">-- The Agda standard library</a>
<a id="103" class="Comment">--</a>
<a id="106" class="Comment">-- Order morphisms</a>
<a id="125" class="Comment">------------------------------------------------------------------------</a>
<a id="199" class="Symbol">{-#</a> <a id="203" class="Keyword">OPTIONS</a> <a id="211" class="Pragma">--cubical-compatible</a> <a id="232" class="Pragma">--safe</a> <a id="239" class="Symbol">#-}</a>
<a id="244" class="Keyword">open</a> <a id="249" class="Keyword">import</a> <a id="256" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a>
<a id="278" class="Keyword">module</a> <a id="285" href="Relation.Binary.Morphism.Structures.html" class="Module">Relation.Binary.Morphism.Structures</a>
<a id="323" class="Symbol">{</a><a id="324" href="Relation.Binary.Morphism.Structures.html#324" class="Bound">a</a> <a id="326" href="Relation.Binary.Morphism.Structures.html#326" class="Bound">b</a><a id="327" class="Symbol">}</a> <a id="329" class="Symbol">{</a><a id="330" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="332" class="Symbol">:</a> <a id="334" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="338" href="Relation.Binary.Morphism.Structures.html#324" class="Bound">a</a><a id="339" class="Symbol">}</a> <a id="341" class="Symbol">{</a><a id="342" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a> <a id="344" class="Symbol">:</a> <a id="346" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="350" href="Relation.Binary.Morphism.Structures.html#326" class="Bound">b</a><a id="351" class="Symbol">}</a>
<a id="355" class="Keyword">where</a>
<a id="362" class="Keyword">open</a> <a id="367" class="Keyword">import</a> <a id="374" href="Data.Product.html" class="Module">Data.Product</a> <a id="387" class="Keyword">using</a> <a id="393" class="Symbol">(</a><a id="394" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="397" class="Symbol">)</a>
<a id="399" class="Keyword">open</a> <a id="404" class="Keyword">import</a> <a id="411" href="Function.Definitions.html" class="Module">Function.Definitions</a>
<a id="432" class="Keyword">open</a> <a id="437" class="Keyword">import</a> <a id="444" href="Level.html" class="Module">Level</a>
<a id="450" class="Keyword">open</a> <a id="455" class="Keyword">import</a> <a id="462" href="Relation.Binary.Morphism.Definitions.html" class="Module">Relation.Binary.Morphism.Definitions</a> <a id="499" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="501" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a>
<a id="504" class="Keyword">private</a>
<a id="514" class="Keyword">variable</a>
<a id="527" href="Relation.Binary.Morphism.Structures.html#527" class="Generalizable">ℓ₁</a> <a id="530" href="Relation.Binary.Morphism.Structures.html#530" class="Generalizable">ℓ₂</a> <a id="533" href="Relation.Binary.Morphism.Structures.html#533" class="Generalizable">ℓ₃</a> <a id="536" href="Relation.Binary.Morphism.Structures.html#536" class="Generalizable">ℓ₄</a> <a id="539" class="Symbol">:</a> <a id="541" href="Agda.Primitive.html#591" class="Postulate">Level</a>
<a id="548" class="Comment">------------------------------------------------------------------------</a>
<a id="621" class="Comment">-- Relations</a>
<a id="634" class="Comment">------------------------------------------------------------------------</a>
<a id="708" class="Keyword">record</a> <a id="IsRelHomomorphism"></a><a id="715" href="Relation.Binary.Morphism.Structures.html#715" class="Record">IsRelHomomorphism</a> <a id="733" class="Symbol">(</a><a id="734" href="Relation.Binary.Morphism.Structures.html#734" class="Bound Operator">_₁_</a> <a id="739" class="Symbol">:</a> <a id="741" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="745" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="747" href="Relation.Binary.Morphism.Structures.html#527" class="Generalizable">ℓ₁</a><a id="749" class="Symbol">)</a> <a id="751" class="Symbol">(</a><a id="752" href="Relation.Binary.Morphism.Structures.html#752" class="Bound Operator">_₂_</a> <a id="757" class="Symbol">:</a> <a id="759" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="763" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a> <a id="765" href="Relation.Binary.Morphism.Structures.html#530" class="Generalizable">ℓ₂</a><a id="767" class="Symbol">)</a>
<a id="794" class="Symbol">(</a><a id="795" href="Relation.Binary.Morphism.Structures.html#795" class="Bound Operator">⟦_⟧</a> <a id="799" class="Symbol">:</a> <a id="801" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="803" class="Symbol"></a> <a id="805" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a><a id="806" class="Symbol">)</a> <a id="808" class="Symbol">:</a> <a id="810" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="814" class="Symbol">(</a><a id="815" href="Relation.Binary.Morphism.Structures.html#324" class="Bound">a</a> <a id="817" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="819" href="Relation.Binary.Morphism.Structures.html#747" class="Bound">ℓ₁</a> <a id="822" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="824" href="Relation.Binary.Morphism.Structures.html#765" class="Bound">ℓ₂</a><a id="826" class="Symbol">)</a> <a id="828" class="Keyword">where</a>
<a id="836" class="Keyword">field</a>
<a id="IsRelHomomorphism.cong"></a><a id="846" href="Relation.Binary.Morphism.Structures.html#846" class="Field">cong</a> <a id="851" class="Symbol">:</a> <a id="853" href="Relation.Binary.Morphism.Definitions.html#815" class="Function">Homomorphic₂</a> <a id="866" href="Relation.Binary.Morphism.Structures.html#734" class="Bound Operator">_₁_</a> <a id="871" href="Relation.Binary.Morphism.Structures.html#752" class="Bound Operator">_₂_</a> <a id="876" href="Relation.Binary.Morphism.Structures.html#795" class="Bound Operator">⟦_⟧</a>
<a id="882" class="Keyword">record</a> <a id="IsRelMonomorphism"></a><a id="889" href="Relation.Binary.Morphism.Structures.html#889" class="Record">IsRelMonomorphism</a> <a id="907" class="Symbol">(</a><a id="908" href="Relation.Binary.Morphism.Structures.html#908" class="Bound Operator">_₁_</a> <a id="913" class="Symbol">:</a> <a id="915" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="919" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="921" href="Relation.Binary.Morphism.Structures.html#527" class="Generalizable">ℓ₁</a><a id="923" class="Symbol">)</a> <a id="925" class="Symbol">(</a><a id="926" href="Relation.Binary.Morphism.Structures.html#926" class="Bound Operator">_₂_</a> <a id="931" class="Symbol">:</a> <a id="933" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="937" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a> <a id="939" href="Relation.Binary.Morphism.Structures.html#530" class="Generalizable">ℓ₂</a><a id="941" class="Symbol">)</a>
<a id="968" class="Symbol">(</a><a id="969" href="Relation.Binary.Morphism.Structures.html#969" class="Bound Operator">⟦_⟧</a> <a id="973" class="Symbol">:</a> <a id="975" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="977" class="Symbol"></a> <a id="979" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a><a id="980" class="Symbol">)</a> <a id="982" class="Symbol">:</a> <a id="984" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="988" class="Symbol">(</a><a id="989" href="Relation.Binary.Morphism.Structures.html#324" class="Bound">a</a> <a id="991" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="993" href="Relation.Binary.Morphism.Structures.html#921" class="Bound">ℓ₁</a> <a id="996" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="998" href="Relation.Binary.Morphism.Structures.html#939" class="Bound">ℓ₂</a><a id="1000" class="Symbol">)</a> <a id="1002" class="Keyword">where</a>
<a id="1010" class="Keyword">field</a>
<a id="IsRelMonomorphism.isHomomorphism"></a><a id="1020" href="Relation.Binary.Morphism.Structures.html#1020" class="Field">isHomomorphism</a> <a id="1035" class="Symbol">:</a> <a id="1037" href="Relation.Binary.Morphism.Structures.html#715" class="Record">IsRelHomomorphism</a> <a id="1055" href="Relation.Binary.Morphism.Structures.html#908" class="Bound Operator">_₁_</a> <a id="1060" href="Relation.Binary.Morphism.Structures.html#926" class="Bound Operator">_₂_</a> <a id="1065" href="Relation.Binary.Morphism.Structures.html#969" class="Bound Operator">⟦_⟧</a>
<a id="IsRelMonomorphism.injective"></a><a id="1073" href="Relation.Binary.Morphism.Structures.html#1073" class="Field">injective</a> <a id="1088" class="Symbol">:</a> <a id="1090" href="Function.Definitions.html#898" class="Function">Injective</a> <a id="1100" href="Relation.Binary.Morphism.Structures.html#908" class="Bound Operator">_₁_</a> <a id="1105" href="Relation.Binary.Morphism.Structures.html#926" class="Bound Operator">_₂_</a> <a id="1110" href="Relation.Binary.Morphism.Structures.html#969" class="Bound Operator">⟦_⟧</a>
<a id="1117" class="Keyword">open</a> <a id="1122" href="Relation.Binary.Morphism.Structures.html#715" class="Module">IsRelHomomorphism</a> <a id="1140" href="Relation.Binary.Morphism.Structures.html#1020" class="Field">isHomomorphism</a> <a id="1155" class="Keyword">public</a>
<a id="1164" class="Keyword">record</a> <a id="IsRelIsomorphism"></a><a id="1171" href="Relation.Binary.Morphism.Structures.html#1171" class="Record">IsRelIsomorphism</a> <a id="1188" class="Symbol">(</a><a id="1189" href="Relation.Binary.Morphism.Structures.html#1189" class="Bound Operator">_₁_</a> <a id="1194" class="Symbol">:</a> <a id="1196" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1200" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="1202" href="Relation.Binary.Morphism.Structures.html#527" class="Generalizable">ℓ₁</a><a id="1204" class="Symbol">)</a> <a id="1206" class="Symbol">(</a><a id="1207" href="Relation.Binary.Morphism.Structures.html#1207" class="Bound Operator">_₂_</a> <a id="1212" class="Symbol">:</a> <a id="1214" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1218" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a> <a id="1220" href="Relation.Binary.Morphism.Structures.html#530" class="Generalizable">ℓ₂</a><a id="1222" class="Symbol">)</a>
<a id="1248" class="Symbol">(</a><a id="1249" href="Relation.Binary.Morphism.Structures.html#1249" class="Bound Operator">⟦_⟧</a> <a id="1253" class="Symbol">:</a> <a id="1255" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="1257" class="Symbol"></a> <a id="1259" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a><a id="1260" class="Symbol">)</a> <a id="1262" class="Symbol">:</a> <a id="1264" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1268" class="Symbol">(</a><a id="1269" href="Relation.Binary.Morphism.Structures.html#324" class="Bound">a</a> <a id="1271" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1273" href="Relation.Binary.Morphism.Structures.html#326" class="Bound">b</a> <a id="1275" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1277" href="Relation.Binary.Morphism.Structures.html#1202" class="Bound">ℓ₁</a> <a id="1280" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1282" href="Relation.Binary.Morphism.Structures.html#1220" class="Bound">ℓ₂</a><a id="1284" class="Symbol">)</a> <a id="1286" class="Keyword">where</a>
<a id="1294" class="Keyword">field</a>
<a id="IsRelIsomorphism.isMonomorphism"></a><a id="1304" href="Relation.Binary.Morphism.Structures.html#1304" class="Field">isMonomorphism</a> <a id="1319" class="Symbol">:</a> <a id="1321" href="Relation.Binary.Morphism.Structures.html#889" class="Record">IsRelMonomorphism</a> <a id="1339" href="Relation.Binary.Morphism.Structures.html#1189" class="Bound Operator">_₁_</a> <a id="1344" href="Relation.Binary.Morphism.Structures.html#1207" class="Bound Operator">_₂_</a> <a id="1349" href="Relation.Binary.Morphism.Structures.html#1249" class="Bound Operator">⟦_⟧</a>
<a id="IsRelIsomorphism.surjective"></a><a id="1357" href="Relation.Binary.Morphism.Structures.html#1357" class="Field">surjective</a> <a id="1372" class="Symbol">:</a> <a id="1374" href="Function.Definitions.Core2.html#672" class="Function">Surjective</a> <a id="1385" href="Relation.Binary.Morphism.Structures.html#1189" class="Bound Operator">_₁_</a> <a id="1390" href="Relation.Binary.Morphism.Structures.html#1207" class="Bound Operator">_₂_</a> <a id="1395" href="Relation.Binary.Morphism.Structures.html#1249" class="Bound Operator">⟦_⟧</a>
<a id="1402" class="Keyword">open</a> <a id="1407" href="Relation.Binary.Morphism.Structures.html#889" class="Module">IsRelMonomorphism</a> <a id="1425" href="Relation.Binary.Morphism.Structures.html#1304" class="Field">isMonomorphism</a> <a id="1440" class="Keyword">public</a>
<a id="IsRelIsomorphism.bijective"></a><a id="1450" href="Relation.Binary.Morphism.Structures.html#1450" class="Function">bijective</a> <a id="1460" class="Symbol">:</a> <a id="1462" href="Function.Definitions.html#1028" class="Function">Bijective</a> <a id="1472" href="Relation.Binary.Morphism.Structures.html#1189" class="Bound Operator">_₁_</a> <a id="1477" href="Relation.Binary.Morphism.Structures.html#1207" class="Bound Operator">_₂_</a> <a id="1482" href="Relation.Binary.Morphism.Structures.html#1249" class="Bound Operator">⟦_⟧</a>
<a id="1488" href="Relation.Binary.Morphism.Structures.html#1450" class="Function">bijective</a> <a id="1498" class="Symbol">=</a> <a id="1500" href="Relation.Binary.Morphism.Structures.html#1073" class="Function">injective</a> <a id="1510" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="1512" href="Relation.Binary.Morphism.Structures.html#1357" class="Field">surjective</a>
<a id="1525" class="Comment">------------------------------------------------------------------------</a>
<a id="1598" class="Comment">-- Orders</a>
<a id="1608" class="Comment">------------------------------------------------------------------------</a>
<a id="1682" class="Keyword">record</a> <a id="IsOrderHomomorphism"></a><a id="1689" href="Relation.Binary.Morphism.Structures.html#1689" class="Record">IsOrderHomomorphism</a> <a id="1709" class="Symbol">(</a><a id="1710" href="Relation.Binary.Morphism.Structures.html#1710" class="Bound Operator">_≈₁_</a> <a id="1715" class="Symbol">:</a> <a id="1717" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1721" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="1723" href="Relation.Binary.Morphism.Structures.html#527" class="Generalizable">ℓ₁</a><a id="1725" class="Symbol">)</a> <a id="1727" class="Symbol">(</a><a id="1728" href="Relation.Binary.Morphism.Structures.html#1728" class="Bound Operator">_≈₂_</a> <a id="1733" class="Symbol">:</a> <a id="1735" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1739" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a> <a id="1741" href="Relation.Binary.Morphism.Structures.html#530" class="Generalizable">ℓ₂</a><a id="1743" class="Symbol">)</a>
<a id="1772" class="Symbol">(</a><a id="1773" href="Relation.Binary.Morphism.Structures.html#1773" class="Bound Operator">_₁_</a> <a id="1778" class="Symbol">:</a> <a id="1780" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1784" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="1786" href="Relation.Binary.Morphism.Structures.html#533" class="Generalizable">ℓ₃</a><a id="1788" class="Symbol">)</a> <a id="1790" class="Symbol">(</a><a id="1791" href="Relation.Binary.Morphism.Structures.html#1791" class="Bound Operator">_₂_</a> <a id="1796" class="Symbol">:</a> <a id="1798" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1802" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a> <a id="1804" href="Relation.Binary.Morphism.Structures.html#536" class="Generalizable">ℓ₄</a><a id="1806" class="Symbol">)</a>
<a id="1835" class="Symbol">(</a><a id="1836" href="Relation.Binary.Morphism.Structures.html#1836" class="Bound Operator">⟦_⟧</a> <a id="1840" class="Symbol">:</a> <a id="1842" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="1844" class="Symbol"></a> <a id="1846" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a><a id="1847" class="Symbol">)</a> <a id="1849" class="Symbol">:</a> <a id="1851" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1855" class="Symbol">(</a><a id="1856" href="Relation.Binary.Morphism.Structures.html#324" class="Bound">a</a> <a id="1858" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1860" href="Relation.Binary.Morphism.Structures.html#1723" class="Bound">ℓ₁</a> <a id="1863" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1865" href="Relation.Binary.Morphism.Structures.html#1741" class="Bound">ℓ₂</a> <a id="1868" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1870" href="Relation.Binary.Morphism.Structures.html#1786" class="Bound">ℓ₃</a> <a id="1873" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1875" href="Relation.Binary.Morphism.Structures.html#1804" class="Bound">ℓ₄</a><a id="1877" class="Symbol">)</a>
<a id="1906" class="Keyword">where</a>
<a id="1914" class="Keyword">field</a>
<a id="IsOrderHomomorphism.cong"></a><a id="1924" href="Relation.Binary.Morphism.Structures.html#1924" class="Field">cong</a> <a id="1930" class="Symbol">:</a> <a id="1932" href="Relation.Binary.Morphism.Definitions.html#815" class="Function">Homomorphic₂</a> <a id="1945" href="Relation.Binary.Morphism.Structures.html#1710" class="Bound Operator">_≈₁_</a> <a id="1950" href="Relation.Binary.Morphism.Structures.html#1728" class="Bound Operator">_≈₂_</a> <a id="1955" href="Relation.Binary.Morphism.Structures.html#1836" class="Bound Operator">⟦_⟧</a>
<a id="IsOrderHomomorphism.mono"></a><a id="1963" href="Relation.Binary.Morphism.Structures.html#1963" class="Field">mono</a> <a id="1969" class="Symbol">:</a> <a id="1971" href="Relation.Binary.Morphism.Definitions.html#815" class="Function">Homomorphic₂</a> <a id="1984" href="Relation.Binary.Morphism.Structures.html#1773" class="Bound Operator">_₁_</a> <a id="1989" href="Relation.Binary.Morphism.Structures.html#1791" class="Bound Operator">_₂_</a> <a id="1994" href="Relation.Binary.Morphism.Structures.html#1836" class="Bound Operator">⟦_⟧</a>
<a id="2001" class="Keyword">module</a> <a id="IsOrderHomomorphism.Eq"></a><a id="2008" href="Relation.Binary.Morphism.Structures.html#2008" class="Module">Eq</a> <a id="2011" class="Keyword">where</a>
<a id="IsOrderHomomorphism.Eq.isRelHomomorphism"></a><a id="2021" href="Relation.Binary.Morphism.Structures.html#2021" class="Function">isRelHomomorphism</a> <a id="2039" class="Symbol">:</a> <a id="2041" href="Relation.Binary.Morphism.Structures.html#715" class="Record">IsRelHomomorphism</a> <a id="2059" href="Relation.Binary.Morphism.Structures.html#1710" class="Bound Operator">_≈₁_</a> <a id="2064" href="Relation.Binary.Morphism.Structures.html#1728" class="Bound Operator">_≈₂_</a> <a id="2069" href="Relation.Binary.Morphism.Structures.html#1836" class="Bound Operator">⟦_⟧</a>
<a id="2077" href="Relation.Binary.Morphism.Structures.html#2021" class="Function">isRelHomomorphism</a> <a id="2095" class="Symbol">=</a> <a id="2097" class="Keyword">record</a> <a id="2104" class="Symbol">{</a> <a id="2106" href="Relation.Binary.Morphism.Structures.html#846" class="Field">cong</a> <a id="2111" class="Symbol">=</a> <a id="2113" href="Relation.Binary.Morphism.Structures.html#1924" class="Field">cong</a> <a id="2118" class="Symbol">}</a>
<a id="IsOrderHomomorphism.isRelHomomorphism"></a><a id="2123" href="Relation.Binary.Morphism.Structures.html#2123" class="Function">isRelHomomorphism</a> <a id="2141" class="Symbol">:</a> <a id="2143" href="Relation.Binary.Morphism.Structures.html#715" class="Record">IsRelHomomorphism</a> <a id="2161" href="Relation.Binary.Morphism.Structures.html#1773" class="Bound Operator">_₁_</a> <a id="2166" href="Relation.Binary.Morphism.Structures.html#1791" class="Bound Operator">_₂_</a> <a id="2171" href="Relation.Binary.Morphism.Structures.html#1836" class="Bound Operator">⟦_⟧</a>
<a id="2177" href="Relation.Binary.Morphism.Structures.html#2123" class="Function">isRelHomomorphism</a> <a id="2195" class="Symbol">=</a> <a id="2197" class="Keyword">record</a> <a id="2204" class="Symbol">{</a> <a id="2206" href="Relation.Binary.Morphism.Structures.html#846" class="Field">cong</a> <a id="2211" class="Symbol">=</a> <a id="2213" href="Relation.Binary.Morphism.Structures.html#1963" class="Field">mono</a> <a id="2218" class="Symbol">}</a>
<a id="2222" class="Keyword">record</a> <a id="IsOrderMonomorphism"></a><a id="2229" href="Relation.Binary.Morphism.Structures.html#2229" class="Record">IsOrderMonomorphism</a> <a id="2249" class="Symbol">(</a><a id="2250" href="Relation.Binary.Morphism.Structures.html#2250" class="Bound Operator">_≈₁_</a> <a id="2255" class="Symbol">:</a> <a id="2257" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="2261" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="2263" href="Relation.Binary.Morphism.Structures.html#527" class="Generalizable">ℓ₁</a><a id="2265" class="Symbol">)</a> <a id="2267" class="Symbol">(</a><a id="2268" href="Relation.Binary.Morphism.Structures.html#2268" class="Bound Operator">_≈₂_</a> <a id="2273" class="Symbol">:</a> <a id="2275" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="2279" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a> <a id="2281" href="Relation.Binary.Morphism.Structures.html#530" class="Generalizable">ℓ₂</a><a id="2283" class="Symbol">)</a>
<a id="2312" class="Symbol">(</a><a id="2313" href="Relation.Binary.Morphism.Structures.html#2313" class="Bound Operator">_₁_</a> <a id="2318" class="Symbol">:</a> <a id="2320" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="2324" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="2326" href="Relation.Binary.Morphism.Structures.html#533" class="Generalizable">ℓ₃</a><a id="2328" class="Symbol">)</a> <a id="2330" class="Symbol">(</a><a id="2331" href="Relation.Binary.Morphism.Structures.html#2331" class="Bound Operator">_₂_</a> <a id="2336" class="Symbol">:</a> <a id="2338" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="2342" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a> <a id="2344" href="Relation.Binary.Morphism.Structures.html#536" class="Generalizable">ℓ₄</a><a id="2346" class="Symbol">)</a>
<a id="2375" class="Symbol">(</a><a id="2376" href="Relation.Binary.Morphism.Structures.html#2376" class="Bound Operator">⟦_⟧</a> <a id="2380" class="Symbol">:</a> <a id="2382" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="2384" class="Symbol"></a> <a id="2386" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a><a id="2387" class="Symbol">)</a> <a id="2389" class="Symbol">:</a> <a id="2391" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2395" class="Symbol">(</a><a id="2396" href="Relation.Binary.Morphism.Structures.html#324" class="Bound">a</a> <a id="2398" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="2400" href="Relation.Binary.Morphism.Structures.html#2263" class="Bound">ℓ₁</a> <a id="2403" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="2405" href="Relation.Binary.Morphism.Structures.html#2281" class="Bound">ℓ₂</a> <a id="2408" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="2410" href="Relation.Binary.Morphism.Structures.html#2326" class="Bound">ℓ₃</a> <a id="2413" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="2415" href="Relation.Binary.Morphism.Structures.html#2344" class="Bound">ℓ₄</a><a id="2417" class="Symbol">)</a>
<a id="2446" class="Keyword">where</a>
<a id="2454" class="Keyword">field</a>
<a id="IsOrderMonomorphism.isOrderHomomorphism"></a><a id="2464" href="Relation.Binary.Morphism.Structures.html#2464" class="Field">isOrderHomomorphism</a> <a id="2484" class="Symbol">:</a> <a id="2486" href="Relation.Binary.Morphism.Structures.html#1689" class="Record">IsOrderHomomorphism</a> <a id="2506" href="Relation.Binary.Morphism.Structures.html#2250" class="Bound Operator">_≈₁_</a> <a id="2511" href="Relation.Binary.Morphism.Structures.html#2268" class="Bound Operator">_≈₂_</a> <a id="2516" href="Relation.Binary.Morphism.Structures.html#2313" class="Bound Operator">_₁_</a> <a id="2521" href="Relation.Binary.Morphism.Structures.html#2331" class="Bound Operator">_₂_</a> <a id="2526" href="Relation.Binary.Morphism.Structures.html#2376" class="Bound Operator">⟦_⟧</a>
<a id="IsOrderMonomorphism.injective"></a><a id="2534" href="Relation.Binary.Morphism.Structures.html#2534" class="Field">injective</a> <a id="2554" class="Symbol">:</a> <a id="2556" href="Function.Definitions.html#898" class="Function">Injective</a> <a id="2566" href="Relation.Binary.Morphism.Structures.html#2250" class="Bound Operator">_≈₁_</a> <a id="2571" href="Relation.Binary.Morphism.Structures.html#2268" class="Bound Operator">_≈₂_</a> <a id="2576" href="Relation.Binary.Morphism.Structures.html#2376" class="Bound Operator">⟦_⟧</a>
<a id="IsOrderMonomorphism.cancel"></a><a id="2584" href="Relation.Binary.Morphism.Structures.html#2584" class="Field">cancel</a> <a id="2604" class="Symbol">:</a> <a id="2606" href="Function.Definitions.html#898" class="Function">Injective</a> <a id="2616" href="Relation.Binary.Morphism.Structures.html#2313" class="Bound Operator">_₁_</a> <a id="2621" href="Relation.Binary.Morphism.Structures.html#2331" class="Bound Operator">_₂_</a> <a id="2626" href="Relation.Binary.Morphism.Structures.html#2376" class="Bound Operator">⟦_⟧</a>
<a id="2633" class="Keyword">open</a> <a id="2638" href="Relation.Binary.Morphism.Structures.html#1689" class="Module">IsOrderHomomorphism</a> <a id="2658" href="Relation.Binary.Morphism.Structures.html#2464" class="Field">isOrderHomomorphism</a> <a id="2678" class="Keyword">public</a>
<a id="2689" class="Keyword">hiding</a> <a id="2696" class="Symbol">(</a><a id="2697" class="Keyword">module</a> <a id="2704" href="Relation.Binary.Morphism.Structures.html#2008" class="Module">Eq</a><a id="2706" class="Symbol">)</a>
<a id="2711" class="Keyword">module</a> <a id="IsOrderMonomorphism.Eq"></a><a id="2718" href="Relation.Binary.Morphism.Structures.html#2718" class="Module">Eq</a> <a id="2721" class="Keyword">where</a>
<a id="IsOrderMonomorphism.Eq.isRelMonomorphism"></a><a id="2731" href="Relation.Binary.Morphism.Structures.html#2731" class="Function">isRelMonomorphism</a> <a id="2749" class="Symbol">:</a> <a id="2751" href="Relation.Binary.Morphism.Structures.html#889" class="Record">IsRelMonomorphism</a> <a id="2769" href="Relation.Binary.Morphism.Structures.html#2250" class="Bound Operator">_≈₁_</a> <a id="2774" href="Relation.Binary.Morphism.Structures.html#2268" class="Bound Operator">_≈₂_</a> <a id="2779" href="Relation.Binary.Morphism.Structures.html#2376" class="Bound Operator">⟦_⟧</a>
<a id="2787" href="Relation.Binary.Morphism.Structures.html#2731" class="Function">isRelMonomorphism</a> <a id="2805" class="Symbol">=</a> <a id="2807" class="Keyword">record</a>
<a id="2820" class="Symbol">{</a> <a id="2822" href="Relation.Binary.Morphism.Structures.html#1020" class="Field">isHomomorphism</a> <a id="2837" class="Symbol">=</a> <a id="2839" href="Relation.Binary.Morphism.Structures.html#2021" class="Function">IsOrderHomomorphism.Eq.isRelHomomorphism</a> <a id="2880" href="Relation.Binary.Morphism.Structures.html#2464" class="Field">isOrderHomomorphism</a>
<a id="2906" class="Symbol">;</a> <a id="2908" href="Relation.Binary.Morphism.Structures.html#1073" class="Field">injective</a> <a id="2923" class="Symbol">=</a> <a id="2925" href="Relation.Binary.Morphism.Structures.html#2534" class="Field">injective</a>
<a id="2941" class="Symbol">}</a>
<a id="IsOrderMonomorphism.isRelMonomorphism"></a><a id="2946" href="Relation.Binary.Morphism.Structures.html#2946" class="Function">isRelMonomorphism</a> <a id="2964" class="Symbol">:</a> <a id="2966" href="Relation.Binary.Morphism.Structures.html#889" class="Record">IsRelMonomorphism</a> <a id="2984" href="Relation.Binary.Morphism.Structures.html#2313" class="Bound Operator">_₁_</a> <a id="2989" href="Relation.Binary.Morphism.Structures.html#2331" class="Bound Operator">_₂_</a> <a id="2994" href="Relation.Binary.Morphism.Structures.html#2376" class="Bound Operator">⟦_⟧</a>
<a id="3000" href="Relation.Binary.Morphism.Structures.html#2946" class="Function">isRelMonomorphism</a> <a id="3018" class="Symbol">=</a> <a id="3020" class="Keyword">record</a>
<a id="3031" class="Symbol">{</a> <a id="3033" href="Relation.Binary.Morphism.Structures.html#1020" class="Field">isHomomorphism</a> <a id="3048" class="Symbol">=</a> <a id="3050" href="Relation.Binary.Morphism.Structures.html#2123" class="Function">isRelHomomorphism</a>
<a id="3072" class="Symbol">;</a> <a id="3074" href="Relation.Binary.Morphism.Structures.html#1073" class="Field">injective</a> <a id="3089" class="Symbol">=</a> <a id="3091" href="Relation.Binary.Morphism.Structures.html#2584" class="Field">cancel</a>
<a id="3102" class="Symbol">}</a>
<a id="3106" class="Keyword">record</a> <a id="IsOrderIsomorphism"></a><a id="3113" href="Relation.Binary.Morphism.Structures.html#3113" class="Record">IsOrderIsomorphism</a> <a id="3132" class="Symbol">(</a><a id="3133" href="Relation.Binary.Morphism.Structures.html#3133" class="Bound Operator">_≈₁_</a> <a id="3138" class="Symbol">:</a> <a id="3140" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="3144" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="3146" href="Relation.Binary.Morphism.Structures.html#527" class="Generalizable">ℓ₁</a><a id="3148" class="Symbol">)</a> <a id="3150" class="Symbol">(</a><a id="3151" href="Relation.Binary.Morphism.Structures.html#3151" class="Bound Operator">_≈₂_</a> <a id="3156" class="Symbol">:</a> <a id="3158" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="3162" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a> <a id="3164" href="Relation.Binary.Morphism.Structures.html#530" class="Generalizable">ℓ₂</a><a id="3166" class="Symbol">)</a>
<a id="3194" class="Symbol">(</a><a id="3195" href="Relation.Binary.Morphism.Structures.html#3195" class="Bound Operator">_₁_</a> <a id="3200" class="Symbol">:</a> <a id="3202" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="3206" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="3208" href="Relation.Binary.Morphism.Structures.html#533" class="Generalizable">ℓ₃</a><a id="3210" class="Symbol">)</a> <a id="3212" class="Symbol">(</a><a id="3213" href="Relation.Binary.Morphism.Structures.html#3213" class="Bound Operator">_₂_</a> <a id="3218" class="Symbol">:</a> <a id="3220" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="3224" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a> <a id="3226" href="Relation.Binary.Morphism.Structures.html#536" class="Generalizable">ℓ₄</a><a id="3228" class="Symbol">)</a>
<a id="3256" class="Symbol">(</a><a id="3257" href="Relation.Binary.Morphism.Structures.html#3257" class="Bound Operator">⟦_⟧</a> <a id="3261" class="Symbol">:</a> <a id="3263" href="Relation.Binary.Morphism.Structures.html#330" class="Bound">A</a> <a id="3265" class="Symbol"></a> <a id="3267" href="Relation.Binary.Morphism.Structures.html#342" class="Bound">B</a><a id="3268" class="Symbol">)</a> <a id="3270" class="Symbol">:</a> <a id="3272" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="3276" class="Symbol">(</a><a id="3277" href="Relation.Binary.Morphism.Structures.html#324" class="Bound">a</a> <a id="3279" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="3281" href="Relation.Binary.Morphism.Structures.html#326" class="Bound">b</a> <a id="3283" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="3285" href="Relation.Binary.Morphism.Structures.html#3146" class="Bound">ℓ₁</a> <a id="3288" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="3290" href="Relation.Binary.Morphism.Structures.html#3164" class="Bound">ℓ₂</a> <a id="3293" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="3295" href="Relation.Binary.Morphism.Structures.html#3208" class="Bound">ℓ₃</a> <a id="3298" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="3300" href="Relation.Binary.Morphism.Structures.html#3226" class="Bound">ℓ₄</a><a id="3302" class="Symbol">)</a>
<a id="3330" class="Keyword">where</a>
<a id="3338" class="Keyword">field</a>
<a id="IsOrderIsomorphism.isOrderMonomorphism"></a><a id="3348" href="Relation.Binary.Morphism.Structures.html#3348" class="Field">isOrderMonomorphism</a> <a id="3368" class="Symbol">:</a> <a id="3370" href="Relation.Binary.Morphism.Structures.html#2229" class="Record">IsOrderMonomorphism</a> <a id="3390" href="Relation.Binary.Morphism.Structures.html#3133" class="Bound Operator">_≈₁_</a> <a id="3395" href="Relation.Binary.Morphism.Structures.html#3151" class="Bound Operator">_≈₂_</a> <a id="3400" href="Relation.Binary.Morphism.Structures.html#3195" class="Bound Operator">_₁_</a> <a id="3405" href="Relation.Binary.Morphism.Structures.html#3213" class="Bound Operator">_₂_</a> <a id="3410" href="Relation.Binary.Morphism.Structures.html#3257" class="Bound Operator">⟦_⟧</a>
<a id="IsOrderIsomorphism.surjective"></a><a id="3418" href="Relation.Binary.Morphism.Structures.html#3418" class="Field">surjective</a> <a id="3438" class="Symbol">:</a> <a id="3440" href="Function.Definitions.Core2.html#672" class="Function">Surjective</a> <a id="3451" href="Relation.Binary.Morphism.Structures.html#3133" class="Bound Operator">_≈₁_</a> <a id="3456" href="Relation.Binary.Morphism.Structures.html#3151" class="Bound Operator">_≈₂_</a> <a id="3461" href="Relation.Binary.Morphism.Structures.html#3257" class="Bound Operator">⟦_⟧</a>
<a id="3468" class="Keyword">open</a> <a id="3473" href="Relation.Binary.Morphism.Structures.html#2229" class="Module">IsOrderMonomorphism</a> <a id="3493" href="Relation.Binary.Morphism.Structures.html#3348" class="Field">isOrderMonomorphism</a> <a id="3513" class="Keyword">public</a>
<a id="3524" class="Keyword">hiding</a> <a id="3531" class="Symbol">(</a><a id="3532" class="Keyword">module</a> <a id="3539" href="Relation.Binary.Morphism.Structures.html#2718" class="Module">Eq</a><a id="3541" class="Symbol">)</a>
<a id="3546" class="Keyword">module</a> <a id="IsOrderIsomorphism.Eq"></a><a id="3553" href="Relation.Binary.Morphism.Structures.html#3553" class="Module">Eq</a> <a id="3556" class="Keyword">where</a>
<a id="IsOrderIsomorphism.Eq.isRelIsomorphism"></a><a id="3566" href="Relation.Binary.Morphism.Structures.html#3566" class="Function">isRelIsomorphism</a> <a id="3583" class="Symbol">:</a> <a id="3585" href="Relation.Binary.Morphism.Structures.html#1171" class="Record">IsRelIsomorphism</a> <a id="3602" href="Relation.Binary.Morphism.Structures.html#3133" class="Bound Operator">_≈₁_</a> <a id="3607" href="Relation.Binary.Morphism.Structures.html#3151" class="Bound Operator">_≈₂_</a> <a id="3612" href="Relation.Binary.Morphism.Structures.html#3257" class="Bound Operator">⟦_⟧</a>
<a id="3620" href="Relation.Binary.Morphism.Structures.html#3566" class="Function">isRelIsomorphism</a> <a id="3637" class="Symbol">=</a> <a id="3639" class="Keyword">record</a>
<a id="3652" class="Symbol">{</a> <a id="3654" href="Relation.Binary.Morphism.Structures.html#1304" class="Field">isMonomorphism</a> <a id="3669" class="Symbol">=</a> <a id="3671" href="Relation.Binary.Morphism.Structures.html#2731" class="Function">IsOrderMonomorphism.Eq.isRelMonomorphism</a> <a id="3712" href="Relation.Binary.Morphism.Structures.html#3348" class="Field">isOrderMonomorphism</a>
<a id="3738" class="Symbol">;</a> <a id="3740" href="Relation.Binary.Morphism.Structures.html#1357" class="Field">surjective</a> <a id="3755" class="Symbol">=</a> <a id="3757" href="Relation.Binary.Morphism.Structures.html#3418" class="Field">surjective</a>
<a id="3774" class="Symbol">}</a>
</pre></body></html>