bsc-leon-vatthauer/agda/bsc-thesis/Function.Construct.Composition.html
2024-02-09 17:53:52 +01:00

289 lines
No EOL
117 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>Function.Construct.Composition</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">-- Composition of functional properties</a>
<a id="146" class="Comment">------------------------------------------------------------------------</a>
<a id="220" class="Symbol">{-#</a> <a id="224" class="Keyword">OPTIONS</a> <a id="232" class="Pragma">--cubical-compatible</a> <a id="253" class="Pragma">--safe</a> <a id="260" class="Symbol">#-}</a>
<a id="265" class="Keyword">module</a> <a id="272" href="Function.Construct.Composition.html" class="Module">Function.Construct.Composition</a> <a id="303" class="Keyword">where</a>
<a id="310" class="Keyword">open</a> <a id="315" class="Keyword">import</a> <a id="322" href="Data.Product.Base.html" class="Module">Data.Product.Base</a> <a id="340" class="Symbol">as</a> <a id="343" class="Module">Product</a> <a id="351" class="Keyword">using</a> <a id="357" class="Symbol">(</a><a id="358" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="361" class="Symbol">)</a>
<a id="363" class="Keyword">open</a> <a id="368" class="Keyword">import</a> <a id="375" href="Function.Base.html" class="Module">Function.Base</a> <a id="389" class="Keyword">using</a> <a id="395" class="Symbol">(</a><a id="396" href="Function.Base.html#1115" class="Function Operator">_∘_</a><a id="399" class="Symbol">;</a> <a id="401" href="Function.Base.html#1638" class="Function">flip</a><a id="405" class="Symbol">)</a>
<a id="407" class="Keyword">open</a> <a id="412" class="Keyword">import</a> <a id="419" href="Function.Bundles.html" class="Module">Function.Bundles</a>
<a id="436" class="Keyword">open</a> <a id="441" class="Keyword">import</a> <a id="448" href="Function.Definitions.html" class="Module">Function.Definitions</a>
<a id="469" class="Keyword">open</a> <a id="474" class="Keyword">import</a> <a id="481" href="Function.Structures.html" class="Module">Function.Structures</a>
<a id="501" class="Keyword">open</a> <a id="506" class="Keyword">import</a> <a id="513" href="Level.html" class="Module">Level</a> <a id="519" class="Keyword">using</a> <a id="525" class="Symbol">(</a><a id="526" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="531" class="Symbol">)</a>
<a id="533" class="Keyword">open</a> <a id="538" class="Keyword">import</a> <a id="545" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a> <a id="566" class="Keyword">using</a> <a id="572" class="Symbol">(</a><a id="573" href="Relation.Binary.Core.html#896" class="Function">Rel</a><a id="576" class="Symbol">)</a>
<a id="578" class="Keyword">open</a> <a id="583" class="Keyword">import</a> <a id="590" href="Relation.Binary.Bundles.html" class="Module">Relation.Binary.Bundles</a> <a id="614" class="Keyword">using</a> <a id="620" class="Symbol">(</a><a id="621" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a><a id="627" class="Symbol">)</a>
<a id="629" class="Keyword">open</a> <a id="634" class="Keyword">import</a> <a id="641" href="Relation.Binary.Definitions.html" class="Module">Relation.Binary.Definitions</a> <a id="669" class="Keyword">using</a> <a id="675" class="Symbol">(</a><a id="676" href="Relation.Binary.Definitions.html#2103" class="Function">Transitive</a><a id="686" class="Symbol">)</a>
<a id="689" class="Keyword">private</a>
<a id="699" class="Keyword">variable</a>
<a id="712" href="Function.Construct.Composition.html#712" class="Generalizable">a</a> <a id="714" href="Function.Construct.Composition.html#714" class="Generalizable">b</a> <a id="716" href="Function.Construct.Composition.html#716" class="Generalizable">c</a> <a id="718" href="Function.Construct.Composition.html#718" class="Generalizable">ℓ₁</a> <a id="721" href="Function.Construct.Composition.html#721" class="Generalizable">ℓ₂</a> <a id="724" href="Function.Construct.Composition.html#724" class="Generalizable">ℓ₃</a> <a id="727" class="Symbol">:</a> <a id="729" href="Agda.Primitive.html#742" class="Postulate">Level</a>
<a id="739" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="741" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="743" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="745" class="Symbol">:</a> <a id="747" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="751" href="Function.Construct.Composition.html#712" class="Generalizable">a</a>
<a id="754" class="Comment">------------------------------------------------------------------------</a>
<a id="827" class="Comment">-- Properties</a>
<a id="842" class="Keyword">module</a> <a id="849" href="Function.Construct.Composition.html#849" class="Module">_</a> <a id="851" class="Symbol">(</a><a id="852" href="Function.Construct.Composition.html#852" class="Bound">≈₁</a> <a id="855" class="Symbol">:</a> <a id="857" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="861" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="863" href="Function.Construct.Composition.html#718" class="Generalizable">ℓ₁</a><a id="865" class="Symbol">)</a> <a id="867" class="Symbol">(</a><a id="868" href="Function.Construct.Composition.html#868" class="Bound">≈₂</a> <a id="871" class="Symbol">:</a> <a id="873" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="877" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="879" href="Function.Construct.Composition.html#721" class="Generalizable">ℓ₂</a><a id="881" class="Symbol">)</a> <a id="883" class="Symbol">(</a><a id="884" href="Function.Construct.Composition.html#884" class="Bound">≈₃</a> <a id="887" class="Symbol">:</a> <a id="889" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="893" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="895" href="Function.Construct.Composition.html#724" class="Generalizable">ℓ₃</a><a id="897" class="Symbol">)</a>
<a id="908" class="Symbol">{</a><a id="909" href="Function.Construct.Composition.html#909" class="Bound">f</a> <a id="911" class="Symbol">:</a> <a id="913" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="915" class="Symbol"></a> <a id="917" href="Function.Construct.Composition.html#741" class="Generalizable">B</a><a id="918" class="Symbol">}</a> <a id="920" class="Symbol">{</a><a id="921" href="Function.Construct.Composition.html#921" class="Bound">g</a> <a id="923" class="Symbol">:</a> <a id="925" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="927" class="Symbol"></a> <a id="929" href="Function.Construct.Composition.html#743" class="Generalizable">C</a><a id="930" class="Symbol">}</a>
<a id="941" class="Keyword">where</a>
<a id="950" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="960" class="Symbol">:</a> <a id="962" href="Function.Definitions.html#765" class="Function">Congruent</a> <a id="972" href="Function.Construct.Composition.html#852" class="Bound">≈₁</a> <a id="975" href="Function.Construct.Composition.html#868" class="Bound">≈₂</a> <a id="978" href="Function.Construct.Composition.html#909" class="Bound">f</a> <a id="980" class="Symbol"></a> <a id="982" href="Function.Definitions.html#765" class="Function">Congruent</a> <a id="992" href="Function.Construct.Composition.html#868" class="Bound">≈₂</a> <a id="995" href="Function.Construct.Composition.html#884" class="Bound">≈₃</a> <a id="998" href="Function.Construct.Composition.html#921" class="Bound">g</a> <a id="1000" class="Symbol"></a>
<a id="1016" href="Function.Definitions.html#765" class="Function">Congruent</a> <a id="1026" href="Function.Construct.Composition.html#852" class="Bound">≈₁</a> <a id="1029" href="Function.Construct.Composition.html#884" class="Bound">≈₃</a> <a id="1032" class="Symbol">(</a><a id="1033" href="Function.Construct.Composition.html#921" class="Bound">g</a> <a id="1035" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1037" href="Function.Construct.Composition.html#909" class="Bound">f</a><a id="1038" class="Symbol">)</a>
<a id="1042" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="1052" href="Function.Construct.Composition.html#1052" class="Bound">f-cong</a> <a id="1059" href="Function.Construct.Composition.html#1059" class="Bound">g-cong</a> <a id="1066" class="Symbol">=</a> <a id="1068" href="Function.Construct.Composition.html#1059" class="Bound">g-cong</a> <a id="1075" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1077" href="Function.Construct.Composition.html#1052" class="Bound">f-cong</a>
<a id="1087" href="Function.Construct.Composition.html#1087" class="Function">injective</a> <a id="1097" class="Symbol">:</a> <a id="1099" href="Function.Definitions.html#842" class="Function">Injective</a> <a id="1109" href="Function.Construct.Composition.html#852" class="Bound">≈₁</a> <a id="1112" href="Function.Construct.Composition.html#868" class="Bound">≈₂</a> <a id="1115" href="Function.Construct.Composition.html#909" class="Bound">f</a> <a id="1117" class="Symbol"></a> <a id="1119" href="Function.Definitions.html#842" class="Function">Injective</a> <a id="1129" href="Function.Construct.Composition.html#868" class="Bound">≈₂</a> <a id="1132" href="Function.Construct.Composition.html#884" class="Bound">≈₃</a> <a id="1135" href="Function.Construct.Composition.html#921" class="Bound">g</a> <a id="1137" class="Symbol"></a>
<a id="1153" href="Function.Definitions.html#842" class="Function">Injective</a> <a id="1163" href="Function.Construct.Composition.html#852" class="Bound">≈₁</a> <a id="1166" href="Function.Construct.Composition.html#884" class="Bound">≈₃</a> <a id="1169" class="Symbol">(</a><a id="1170" href="Function.Construct.Composition.html#921" class="Bound">g</a> <a id="1172" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1174" href="Function.Construct.Composition.html#909" class="Bound">f</a><a id="1175" class="Symbol">)</a>
<a id="1179" href="Function.Construct.Composition.html#1087" class="Function">injective</a> <a id="1189" href="Function.Construct.Composition.html#1189" class="Bound">f-inj</a> <a id="1195" href="Function.Construct.Composition.html#1195" class="Bound">g-inj</a> <a id="1201" class="Symbol">=</a> <a id="1203" href="Function.Construct.Composition.html#1189" class="Bound">f-inj</a> <a id="1209" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1211" href="Function.Construct.Composition.html#1195" class="Bound">g-inj</a>
<a id="1220" href="Function.Construct.Composition.html#1220" class="Function">surjective</a> <a id="1231" class="Symbol">:</a> <a id="1233" href="Function.Definitions.html#919" class="Function">Surjective</a> <a id="1244" href="Function.Construct.Composition.html#852" class="Bound">≈₁</a> <a id="1247" href="Function.Construct.Composition.html#868" class="Bound">≈₂</a> <a id="1250" href="Function.Construct.Composition.html#909" class="Bound">f</a> <a id="1252" class="Symbol"></a> <a id="1254" href="Function.Definitions.html#919" class="Function">Surjective</a> <a id="1265" href="Function.Construct.Composition.html#868" class="Bound">≈₂</a> <a id="1268" href="Function.Construct.Composition.html#884" class="Bound">≈₃</a> <a id="1271" href="Function.Construct.Composition.html#921" class="Bound">g</a> <a id="1273" class="Symbol"></a>
<a id="1290" href="Function.Definitions.html#919" class="Function">Surjective</a> <a id="1301" href="Function.Construct.Composition.html#852" class="Bound">≈₁</a> <a id="1304" href="Function.Construct.Composition.html#884" class="Bound">≈₃</a> <a id="1307" class="Symbol">(</a><a id="1308" href="Function.Construct.Composition.html#921" class="Bound">g</a> <a id="1310" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1312" href="Function.Construct.Composition.html#909" class="Bound">f</a><a id="1313" class="Symbol">)</a>
<a id="1317" href="Function.Construct.Composition.html#1220" class="Function">surjective</a> <a id="1328" href="Function.Construct.Composition.html#1328" class="Bound">f-sur</a> <a id="1334" href="Function.Construct.Composition.html#1334" class="Bound">g-sur</a> <a id="1340" href="Function.Construct.Composition.html#1340" class="Bound">x</a> <a id="1342" class="Keyword">with</a> <a id="1347" href="Function.Construct.Composition.html#1334" class="Bound">g-sur</a> <a id="1353" href="Function.Construct.Composition.html#1340" class="Bound">x</a>
<a id="1357" class="Symbol">...</a> <a id="1361" class="Symbol">|</a> <a id="1363" href="Function.Construct.Composition.html#1363" class="Bound">y</a> <a id="1365" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1367" href="Function.Construct.Composition.html#1367" class="Bound">gproof</a> <a id="1374" class="Keyword">with</a> <a id="1379" class="Bound">f-sur</a> <a id="1385" href="Function.Construct.Composition.html#1363" class="Bound">y</a>
<a id="1389" class="Symbol">...</a> <a id="1395" class="Symbol">|</a> <a id="1397" href="Function.Construct.Composition.html#1397" class="Bound">z</a> <a id="1399" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1401" href="Function.Construct.Composition.html#1401" class="Bound">fproof</a> <a id="1408" class="Symbol">=</a> <a id="1410" href="Function.Construct.Composition.html#1397" class="Bound">z</a> <a id="1412" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1414" class="Bound">gproof</a> <a id="1421" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1423" href="Function.Construct.Composition.html#1401" class="Bound">fproof</a>
<a id="1433" href="Function.Construct.Composition.html#1433" class="Function">bijective</a> <a id="1443" class="Symbol">:</a> <a id="1445" href="Function.Definitions.html#1008" class="Function">Bijective</a> <a id="1455" href="Function.Construct.Composition.html#852" class="Bound">≈₁</a> <a id="1458" href="Function.Construct.Composition.html#868" class="Bound">≈₂</a> <a id="1461" href="Function.Construct.Composition.html#909" class="Bound">f</a> <a id="1463" class="Symbol"></a> <a id="1465" href="Function.Definitions.html#1008" class="Function">Bijective</a> <a id="1475" href="Function.Construct.Composition.html#868" class="Bound">≈₂</a> <a id="1478" href="Function.Construct.Composition.html#884" class="Bound">≈₃</a> <a id="1481" href="Function.Construct.Composition.html#921" class="Bound">g</a> <a id="1483" class="Symbol"></a>
<a id="1499" href="Function.Definitions.html#1008" class="Function">Bijective</a> <a id="1509" href="Function.Construct.Composition.html#852" class="Bound">≈₁</a> <a id="1512" href="Function.Construct.Composition.html#884" class="Bound">≈₃</a> <a id="1515" class="Symbol">(</a><a id="1516" href="Function.Construct.Composition.html#921" class="Bound">g</a> <a id="1518" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1520" href="Function.Construct.Composition.html#909" class="Bound">f</a><a id="1521" class="Symbol">)</a>
<a id="1525" href="Function.Construct.Composition.html#1433" class="Function">bijective</a> <a id="1535" class="Symbol">=</a> <a id="1537" href="Data.Product.Base.html#4443" class="Function">Product.zip</a> <a id="1550" href="Function.Construct.Composition.html#1087" class="Function">injective</a> <a id="1560" href="Function.Construct.Composition.html#1220" class="Function">surjective</a>
<a id="1572" class="Keyword">module</a> <a id="1579" href="Function.Construct.Composition.html#1579" class="Module">_</a> <a id="1581" class="Symbol">(</a><a id="1582" href="Function.Construct.Composition.html#1582" class="Bound">≈₁</a> <a id="1585" class="Symbol">:</a> <a id="1587" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1591" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="1593" href="Function.Construct.Composition.html#718" class="Generalizable">ℓ₁</a><a id="1595" class="Symbol">)</a> <a id="1597" class="Symbol">(</a><a id="1598" href="Function.Construct.Composition.html#1598" class="Bound">≈₂</a> <a id="1601" class="Symbol">:</a> <a id="1603" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1607" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="1609" href="Function.Construct.Composition.html#721" class="Generalizable">ℓ₂</a><a id="1611" class="Symbol">)</a> <a id="1613" class="Symbol">(</a><a id="1614" href="Function.Construct.Composition.html#1614" class="Bound">≈₃</a> <a id="1617" class="Symbol">:</a> <a id="1619" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1623" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="1625" href="Function.Construct.Composition.html#724" class="Generalizable">ℓ₃</a><a id="1627" class="Symbol">)</a>
<a id="1638" class="Symbol">{</a><a id="1639" href="Function.Construct.Composition.html#1639" class="Bound">f</a> <a id="1641" class="Symbol">:</a> <a id="1643" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="1645" class="Symbol"></a> <a id="1647" href="Function.Construct.Composition.html#741" class="Generalizable">B</a><a id="1648" class="Symbol">}</a> <a id="1650" class="Symbol">{</a><a id="1651" href="Function.Construct.Composition.html#1651" class="Bound">f⁻¹</a> <a id="1655" class="Symbol">:</a> <a id="1657" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="1659" class="Symbol"></a> <a id="1661" href="Function.Construct.Composition.html#739" class="Generalizable">A</a><a id="1662" class="Symbol">}</a> <a id="1664" class="Symbol">{</a><a id="1665" href="Function.Construct.Composition.html#1665" class="Bound">g</a> <a id="1667" class="Symbol">:</a> <a id="1669" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="1671" class="Symbol"></a> <a id="1673" href="Function.Construct.Composition.html#743" class="Generalizable">C</a><a id="1674" class="Symbol">}</a> <a id="1676" class="Symbol">{</a><a id="1677" href="Function.Construct.Composition.html#1677" class="Bound">g⁻¹</a> <a id="1681" class="Symbol">:</a> <a id="1683" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="1685" class="Symbol"></a> <a id="1687" href="Function.Construct.Composition.html#741" class="Generalizable">B</a><a id="1688" class="Symbol">}</a>
<a id="1699" class="Keyword">where</a>
<a id="1708" href="Function.Construct.Composition.html#1708" class="Function">inverseˡ</a> <a id="1717" class="Symbol">:</a> <a id="1719" href="Function.Definitions.html#1082" class="Function">Inverseˡ</a> <a id="1728" href="Function.Construct.Composition.html#1582" class="Bound">≈₁</a> <a id="1731" href="Function.Construct.Composition.html#1598" class="Bound">≈₂</a> <a id="1734" href="Function.Construct.Composition.html#1639" class="Bound">f</a> <a id="1736" href="Function.Construct.Composition.html#1651" class="Bound">f⁻¹</a> <a id="1740" class="Symbol"></a> <a id="1742" href="Function.Definitions.html#1082" class="Function">Inverseˡ</a> <a id="1751" href="Function.Construct.Composition.html#1598" class="Bound">≈₂</a> <a id="1754" href="Function.Construct.Composition.html#1614" class="Bound">≈₃</a> <a id="1757" href="Function.Construct.Composition.html#1665" class="Bound">g</a> <a id="1759" href="Function.Construct.Composition.html#1677" class="Bound">g⁻¹</a> <a id="1763" class="Symbol"></a>
<a id="1778" href="Function.Definitions.html#1082" class="Function">Inverseˡ</a> <a id="1787" href="Function.Construct.Composition.html#1582" class="Bound">≈₁</a> <a id="1790" href="Function.Construct.Composition.html#1614" class="Bound">≈₃</a> <a id="1793" class="Symbol">(</a><a id="1794" href="Function.Construct.Composition.html#1665" class="Bound">g</a> <a id="1796" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1798" href="Function.Construct.Composition.html#1639" class="Bound">f</a><a id="1799" class="Symbol">)</a> <a id="1801" class="Symbol">(</a><a id="1802" href="Function.Construct.Composition.html#1651" class="Bound">f⁻¹</a> <a id="1806" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1808" href="Function.Construct.Composition.html#1677" class="Bound">g⁻¹</a><a id="1811" class="Symbol">)</a>
<a id="1815" href="Function.Construct.Composition.html#1708" class="Function">inverseˡ</a> <a id="1824" href="Function.Construct.Composition.html#1824" class="Bound">f-inv</a> <a id="1830" href="Function.Construct.Composition.html#1830" class="Bound">g-inv</a> <a id="1836" class="Symbol">=</a> <a id="1838" href="Function.Construct.Composition.html#1830" class="Bound">g-inv</a> <a id="1844" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1846" href="Function.Construct.Composition.html#1824" class="Bound">f-inv</a>
<a id="1855" href="Function.Construct.Composition.html#1855" class="Function">inverseʳ</a> <a id="1864" class="Symbol">:</a> <a id="1866" href="Function.Definitions.html#1169" class="Function">Inverseʳ</a> <a id="1875" href="Function.Construct.Composition.html#1582" class="Bound">≈₁</a> <a id="1878" href="Function.Construct.Composition.html#1598" class="Bound">≈₂</a> <a id="1881" href="Function.Construct.Composition.html#1639" class="Bound">f</a> <a id="1883" href="Function.Construct.Composition.html#1651" class="Bound">f⁻¹</a> <a id="1887" class="Symbol"></a> <a id="1889" href="Function.Definitions.html#1169" class="Function">Inverseʳ</a> <a id="1898" href="Function.Construct.Composition.html#1598" class="Bound">≈₂</a> <a id="1901" href="Function.Construct.Composition.html#1614" class="Bound">≈₃</a> <a id="1904" href="Function.Construct.Composition.html#1665" class="Bound">g</a> <a id="1906" href="Function.Construct.Composition.html#1677" class="Bound">g⁻¹</a> <a id="1910" class="Symbol"></a>
<a id="1925" href="Function.Definitions.html#1169" class="Function">Inverseʳ</a> <a id="1934" href="Function.Construct.Composition.html#1582" class="Bound">≈₁</a> <a id="1937" href="Function.Construct.Composition.html#1614" class="Bound">≈₃</a> <a id="1940" class="Symbol">(</a><a id="1941" href="Function.Construct.Composition.html#1665" class="Bound">g</a> <a id="1943" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1945" href="Function.Construct.Composition.html#1639" class="Bound">f</a><a id="1946" class="Symbol">)</a> <a id="1948" class="Symbol">(</a><a id="1949" href="Function.Construct.Composition.html#1651" class="Bound">f⁻¹</a> <a id="1953" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1955" href="Function.Construct.Composition.html#1677" class="Bound">g⁻¹</a><a id="1958" class="Symbol">)</a>
<a id="1962" href="Function.Construct.Composition.html#1855" class="Function">inverseʳ</a> <a id="1971" href="Function.Construct.Composition.html#1971" class="Bound">f-inv</a> <a id="1977" href="Function.Construct.Composition.html#1977" class="Bound">g-inv</a> <a id="1983" class="Symbol">=</a> <a id="1985" href="Function.Construct.Composition.html#1971" class="Bound">f-inv</a> <a id="1991" href="Function.Base.html#1115" class="Function Operator"></a> <a id="1993" href="Function.Construct.Composition.html#1977" class="Bound">g-inv</a>
<a id="2002" href="Function.Construct.Composition.html#2002" class="Function">inverseᵇ</a> <a id="2011" class="Symbol">:</a> <a id="2013" href="Function.Definitions.html#1256" class="Function">Inverseᵇ</a> <a id="2022" href="Function.Construct.Composition.html#1582" class="Bound">≈₁</a> <a id="2025" href="Function.Construct.Composition.html#1598" class="Bound">≈₂</a> <a id="2028" href="Function.Construct.Composition.html#1639" class="Bound">f</a> <a id="2030" href="Function.Construct.Composition.html#1651" class="Bound">f⁻¹</a> <a id="2034" class="Symbol"></a> <a id="2036" href="Function.Definitions.html#1256" class="Function">Inverseᵇ</a> <a id="2045" href="Function.Construct.Composition.html#1598" class="Bound">≈₂</a> <a id="2048" href="Function.Construct.Composition.html#1614" class="Bound">≈₃</a> <a id="2051" href="Function.Construct.Composition.html#1665" class="Bound">g</a> <a id="2053" href="Function.Construct.Composition.html#1677" class="Bound">g⁻¹</a> <a id="2057" class="Symbol"></a>
<a id="2072" href="Function.Definitions.html#1256" class="Function">Inverseᵇ</a> <a id="2081" href="Function.Construct.Composition.html#1582" class="Bound">≈₁</a> <a id="2084" href="Function.Construct.Composition.html#1614" class="Bound">≈₃</a> <a id="2087" class="Symbol">(</a><a id="2088" href="Function.Construct.Composition.html#1665" class="Bound">g</a> <a id="2090" href="Function.Base.html#1115" class="Function Operator"></a> <a id="2092" href="Function.Construct.Composition.html#1639" class="Bound">f</a><a id="2093" class="Symbol">)</a> <a id="2095" class="Symbol">(</a><a id="2096" href="Function.Construct.Composition.html#1651" class="Bound">f⁻¹</a> <a id="2100" href="Function.Base.html#1115" class="Function Operator"></a> <a id="2102" href="Function.Construct.Composition.html#1677" class="Bound">g⁻¹</a><a id="2105" class="Symbol">)</a>
<a id="2109" href="Function.Construct.Composition.html#2002" class="Function">inverseᵇ</a> <a id="2118" class="Symbol">=</a> <a id="2120" href="Data.Product.Base.html#4443" class="Function">Product.zip</a> <a id="2133" href="Function.Construct.Composition.html#1708" class="Function">inverseˡ</a> <a id="2142" href="Function.Construct.Composition.html#1855" class="Function">inverseʳ</a>
<a id="2152" class="Comment">------------------------------------------------------------------------</a>
<a id="2225" class="Comment">-- Structures</a>
<a id="2240" class="Keyword">module</a> <a id="2247" href="Function.Construct.Composition.html#2247" class="Module">_</a> <a id="2249" class="Symbol">{</a><a id="2250" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="2253" class="Symbol">:</a> <a id="2255" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2259" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="2261" href="Function.Construct.Composition.html#718" class="Generalizable">ℓ₁</a><a id="2263" class="Symbol">}</a> <a id="2265" class="Symbol">{</a><a id="2266" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="2269" class="Symbol">:</a> <a id="2271" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2275" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="2277" href="Function.Construct.Composition.html#721" class="Generalizable">ℓ₂</a><a id="2279" class="Symbol">}</a> <a id="2281" class="Symbol">{</a><a id="2282" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="2285" class="Symbol">:</a> <a id="2287" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2291" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="2293" href="Function.Construct.Composition.html#724" class="Generalizable">ℓ₃</a><a id="2295" class="Symbol">}</a>
<a id="2306" class="Symbol">{</a><a id="2307" href="Function.Construct.Composition.html#2307" class="Bound">f</a> <a id="2309" class="Symbol">:</a> <a id="2311" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="2313" class="Symbol"></a> <a id="2315" href="Function.Construct.Composition.html#741" class="Generalizable">B</a><a id="2316" class="Symbol">}</a> <a id="2318" class="Symbol">{</a><a id="2319" href="Function.Construct.Composition.html#2319" class="Bound">g</a> <a id="2321" class="Symbol">:</a> <a id="2323" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="2325" class="Symbol"></a> <a id="2327" href="Function.Construct.Composition.html#743" class="Generalizable">C</a><a id="2328" class="Symbol">}</a>
<a id="2339" class="Keyword">where</a>
<a id="2348" href="Function.Construct.Composition.html#2348" class="Function">isCongruent</a> <a id="2360" class="Symbol">:</a> <a id="2362" href="Function.Structures.html#995" class="Record">IsCongruent</a> <a id="2374" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="2377" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="2380" href="Function.Construct.Composition.html#2307" class="Bound">f</a> <a id="2382" class="Symbol"></a> <a id="2384" href="Function.Structures.html#995" class="Record">IsCongruent</a> <a id="2396" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="2399" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="2402" href="Function.Construct.Composition.html#2319" class="Bound">g</a> <a id="2404" class="Symbol"></a>
<a id="2422" href="Function.Structures.html#995" class="Record">IsCongruent</a> <a id="2434" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="2437" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="2440" class="Symbol">(</a><a id="2441" href="Function.Construct.Composition.html#2319" class="Bound">g</a> <a id="2443" href="Function.Base.html#1115" class="Function Operator"></a> <a id="2445" href="Function.Construct.Composition.html#2307" class="Bound">f</a><a id="2446" class="Symbol">)</a>
<a id="2450" href="Function.Construct.Composition.html#2348" class="Function">isCongruent</a> <a id="2462" href="Function.Construct.Composition.html#2462" class="Bound">f-cong</a> <a id="2469" href="Function.Construct.Composition.html#2469" class="Bound">g-cong</a> <a id="2476" class="Symbol">=</a> <a id="2478" class="Keyword">record</a>
<a id="2489" class="Symbol">{</a> <a id="2491" href="Function.Structures.html#1062" class="Field">cong</a> <a id="2506" class="Symbol">=</a> <a id="2508" href="Function.Structures.html#1062" class="Field">G.cong</a> <a id="2515" href="Function.Base.html#1115" class="Function Operator"></a> <a id="2517" href="Function.Structures.html#1062" class="Function">F.cong</a>
<a id="2528" class="Symbol">;</a> <a id="2530" href="Function.Structures.html#1106" class="Field">isEquivalence₁</a> <a id="2545" class="Symbol">=</a> <a id="2547" href="Function.Structures.html#1106" class="Function">F.isEquivalence₁</a>
<a id="2568" class="Symbol">;</a> <a id="2570" href="Function.Structures.html#1146" class="Field">isEquivalence₂</a> <a id="2585" class="Symbol">=</a> <a id="2587" href="Function.Structures.html#1146" class="Field">G.isEquivalence₂</a>
<a id="2608" class="Symbol">}</a> <a id="2610" class="Keyword">where</a> <a id="2616" class="Keyword">module</a> <a id="2623" href="Function.Construct.Composition.html#2623" class="Module">F</a> <a id="2625" class="Symbol">=</a> <a id="2627" href="Function.Structures.html#995" class="Module">IsCongruent</a> <a id="2639" href="Function.Construct.Composition.html#2462" class="Bound">f-cong</a><a id="2645" class="Symbol">;</a> <a id="2647" class="Keyword">module</a> <a id="2654" href="Function.Construct.Composition.html#2654" class="Module">G</a> <a id="2656" class="Symbol">=</a> <a id="2658" href="Function.Structures.html#995" class="Module">IsCongruent</a> <a id="2670" href="Function.Construct.Composition.html#2469" class="Bound">g-cong</a>
<a id="2680" href="Function.Construct.Composition.html#2680" class="Function">isInjection</a> <a id="2692" class="Symbol">:</a> <a id="2694" href="Function.Structures.html#1479" class="Record">IsInjection</a> <a id="2706" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="2709" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="2712" href="Function.Construct.Composition.html#2307" class="Bound">f</a> <a id="2714" class="Symbol"></a> <a id="2716" href="Function.Structures.html#1479" class="Record">IsInjection</a> <a id="2728" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="2731" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="2734" href="Function.Construct.Composition.html#2319" class="Bound">g</a> <a id="2736" class="Symbol"></a>
<a id="2754" href="Function.Structures.html#1479" class="Record">IsInjection</a> <a id="2766" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="2769" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="2772" class="Symbol">(</a><a id="2773" href="Function.Construct.Composition.html#2319" class="Bound">g</a> <a id="2775" href="Function.Base.html#1115" class="Function Operator"></a> <a id="2777" href="Function.Construct.Composition.html#2307" class="Bound">f</a><a id="2778" class="Symbol">)</a>
<a id="2782" href="Function.Construct.Composition.html#2680" class="Function">isInjection</a> <a id="2794" href="Function.Construct.Composition.html#2794" class="Bound">f-inj</a> <a id="2800" href="Function.Construct.Composition.html#2800" class="Bound">g-inj</a> <a id="2806" class="Symbol">=</a> <a id="2808" class="Keyword">record</a>
<a id="2819" class="Symbol">{</a> <a id="2821" href="Function.Structures.html#1546" class="Field">isCongruent</a> <a id="2833" class="Symbol">=</a> <a id="2835" href="Function.Construct.Composition.html#2348" class="Function">isCongruent</a> <a id="2847" href="Function.Structures.html#1546" class="Function">F.isCongruent</a> <a id="2861" href="Function.Structures.html#1546" class="Field">G.isCongruent</a>
<a id="2879" class="Symbol">;</a> <a id="2881" href="Function.Structures.html#1579" class="Field">injective</a> <a id="2893" class="Symbol">=</a> <a id="2895" href="Function.Construct.Composition.html#1087" class="Function">injective</a> <a id="2905" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="2908" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="2911" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="2914" href="Function.Structures.html#1579" class="Function">F.injective</a> <a id="2926" href="Function.Structures.html#1579" class="Field">G.injective</a>
<a id="2942" class="Symbol">}</a> <a id="2944" class="Keyword">where</a> <a id="2950" class="Keyword">module</a> <a id="2957" href="Function.Construct.Composition.html#2957" class="Module">F</a> <a id="2959" class="Symbol">=</a> <a id="2961" href="Function.Structures.html#1479" class="Module">IsInjection</a> <a id="2973" href="Function.Construct.Composition.html#2794" class="Bound">f-inj</a><a id="2978" class="Symbol">;</a> <a id="2980" class="Keyword">module</a> <a id="2987" href="Function.Construct.Composition.html#2987" class="Module">G</a> <a id="2989" class="Symbol">=</a> <a id="2991" href="Function.Structures.html#1479" class="Module">IsInjection</a> <a id="3003" href="Function.Construct.Composition.html#2800" class="Bound">g-inj</a>
<a id="3012" href="Function.Construct.Composition.html#3012" class="Function">isSurjection</a> <a id="3025" class="Symbol">:</a> <a id="3027" href="Function.Structures.html#1664" class="Record">IsSurjection</a> <a id="3040" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="3043" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="3046" href="Function.Construct.Composition.html#2307" class="Bound">f</a> <a id="3048" class="Symbol"></a> <a id="3050" href="Function.Structures.html#1664" class="Record">IsSurjection</a> <a id="3063" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="3066" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="3069" href="Function.Construct.Composition.html#2319" class="Bound">g</a> <a id="3071" class="Symbol"></a>
<a id="3090" href="Function.Structures.html#1664" class="Record">IsSurjection</a> <a id="3103" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="3106" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="3109" class="Symbol">(</a><a id="3110" href="Function.Construct.Composition.html#2319" class="Bound">g</a> <a id="3112" href="Function.Base.html#1115" class="Function Operator"></a> <a id="3114" href="Function.Construct.Composition.html#2307" class="Bound">f</a><a id="3115" class="Symbol">)</a>
<a id="3119" href="Function.Construct.Composition.html#3012" class="Function">isSurjection</a> <a id="3132" href="Function.Construct.Composition.html#3132" class="Bound">f-surj</a> <a id="3139" href="Function.Construct.Composition.html#3139" class="Bound">g-surj</a> <a id="3146" class="Symbol">=</a> <a id="3148" class="Keyword">record</a>
<a id="3159" class="Symbol">{</a> <a id="3161" href="Function.Structures.html#1731" class="Field">isCongruent</a> <a id="3173" class="Symbol">=</a> <a id="3175" href="Function.Construct.Composition.html#2348" class="Function">isCongruent</a> <a id="3187" href="Function.Structures.html#1731" class="Function">F.isCongruent</a> <a id="3201" href="Function.Structures.html#1731" class="Field">G.isCongruent</a>
<a id="3219" class="Symbol">;</a> <a id="3221" href="Function.Structures.html#1763" class="Field">surjective</a> <a id="3233" class="Symbol">=</a> <a id="3235" href="Function.Construct.Composition.html#1220" class="Function">surjective</a> <a id="3246" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="3249" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="3252" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="3255" href="Function.Structures.html#1763" class="Function">F.surjective</a> <a id="3268" href="Function.Structures.html#1763" class="Field">G.surjective</a>
<a id="3285" class="Symbol">}</a> <a id="3287" class="Keyword">where</a> <a id="3293" class="Keyword">module</a> <a id="3300" href="Function.Construct.Composition.html#3300" class="Module">F</a> <a id="3302" class="Symbol">=</a> <a id="3304" href="Function.Structures.html#1664" class="Module">IsSurjection</a> <a id="3317" href="Function.Construct.Composition.html#3132" class="Bound">f-surj</a><a id="3323" class="Symbol">;</a> <a id="3325" class="Keyword">module</a> <a id="3332" href="Function.Construct.Composition.html#3332" class="Module">G</a> <a id="3334" class="Symbol">=</a> <a id="3336" href="Function.Structures.html#1664" class="Module">IsSurjection</a> <a id="3349" href="Function.Construct.Composition.html#3139" class="Bound">g-surj</a>
<a id="3359" href="Function.Construct.Composition.html#3359" class="Function">isBijection</a> <a id="3371" class="Symbol">:</a> <a id="3373" href="Function.Structures.html#1970" class="Record">IsBijection</a> <a id="3385" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="3388" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="3391" href="Function.Construct.Composition.html#2307" class="Bound">f</a> <a id="3393" class="Symbol"></a> <a id="3395" href="Function.Structures.html#1970" class="Record">IsBijection</a> <a id="3407" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="3410" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="3413" href="Function.Construct.Composition.html#2319" class="Bound">g</a> <a id="3415" class="Symbol"></a>
<a id="3433" href="Function.Structures.html#1970" class="Record">IsBijection</a> <a id="3445" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="3448" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="3451" class="Symbol">(</a><a id="3452" href="Function.Construct.Composition.html#2319" class="Bound">g</a> <a id="3454" href="Function.Base.html#1115" class="Function Operator"></a> <a id="3456" href="Function.Construct.Composition.html#2307" class="Bound">f</a><a id="3457" class="Symbol">)</a>
<a id="3461" href="Function.Construct.Composition.html#3359" class="Function">isBijection</a> <a id="3473" href="Function.Construct.Composition.html#3473" class="Bound">f-bij</a> <a id="3479" href="Function.Construct.Composition.html#3479" class="Bound">g-bij</a> <a id="3485" class="Symbol">=</a> <a id="3487" class="Keyword">record</a>
<a id="3498" class="Symbol">{</a> <a id="3500" href="Function.Structures.html#2036" class="Field">isInjection</a> <a id="3512" class="Symbol">=</a> <a id="3514" href="Function.Construct.Composition.html#2680" class="Function">isInjection</a> <a id="3526" href="Function.Structures.html#2036" class="Function">F.isInjection</a> <a id="3540" href="Function.Structures.html#2036" class="Field">G.isInjection</a>
<a id="3558" class="Symbol">;</a> <a id="3560" href="Function.Structures.html#2068" class="Field">surjective</a> <a id="3572" class="Symbol">=</a> <a id="3574" href="Function.Construct.Composition.html#1220" class="Function">surjective</a> <a id="3585" href="Function.Construct.Composition.html#2250" class="Bound">≈₁</a> <a id="3588" href="Function.Construct.Composition.html#2266" class="Bound">≈₂</a> <a id="3591" href="Function.Construct.Composition.html#2282" class="Bound">≈₃</a> <a id="3594" href="Function.Structures.html#2068" class="Function">F.surjective</a> <a id="3607" href="Function.Structures.html#2068" class="Field">G.surjective</a>
<a id="3624" class="Symbol">}</a> <a id="3626" class="Keyword">where</a> <a id="3632" class="Keyword">module</a> <a id="3639" href="Function.Construct.Composition.html#3639" class="Module">F</a> <a id="3641" class="Symbol">=</a> <a id="3643" href="Function.Structures.html#1970" class="Module">IsBijection</a> <a id="3655" href="Function.Construct.Composition.html#3473" class="Bound">f-bij</a><a id="3660" class="Symbol">;</a> <a id="3662" class="Keyword">module</a> <a id="3669" href="Function.Construct.Composition.html#3669" class="Module">G</a> <a id="3671" class="Symbol">=</a> <a id="3673" href="Function.Structures.html#1970" class="Module">IsBijection</a> <a id="3685" href="Function.Construct.Composition.html#3479" class="Bound">g-bij</a>
<a id="3692" class="Keyword">module</a> <a id="3699" href="Function.Construct.Composition.html#3699" class="Module">_</a> <a id="3701" class="Symbol">{</a><a id="3702" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="3705" class="Symbol">:</a> <a id="3707" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3711" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="3713" href="Function.Construct.Composition.html#718" class="Generalizable">ℓ₁</a><a id="3715" class="Symbol">}</a> <a id="3717" class="Symbol">{</a><a id="3718" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="3721" class="Symbol">:</a> <a id="3723" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3727" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="3729" href="Function.Construct.Composition.html#721" class="Generalizable">ℓ₂</a><a id="3731" class="Symbol">}</a> <a id="3733" class="Symbol">{</a><a id="3734" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="3737" class="Symbol">:</a> <a id="3739" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3743" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="3745" href="Function.Construct.Composition.html#724" class="Generalizable">ℓ₃</a><a id="3747" class="Symbol">}</a>
<a id="3758" class="Symbol">{</a><a id="3759" href="Function.Construct.Composition.html#3759" class="Bound">f</a> <a id="3761" class="Symbol">:</a> <a id="3763" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="3765" class="Symbol"></a> <a id="3767" href="Function.Construct.Composition.html#741" class="Generalizable">B</a><a id="3768" class="Symbol">}</a> <a id="3770" class="Symbol">{</a><a id="3771" href="Function.Construct.Composition.html#3771" class="Bound">g</a> <a id="3773" class="Symbol">:</a> <a id="3775" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="3777" class="Symbol"></a> <a id="3779" href="Function.Construct.Composition.html#743" class="Generalizable">C</a><a id="3780" class="Symbol">}</a> <a id="3782" class="Symbol">{</a><a id="3783" href="Function.Construct.Composition.html#3783" class="Bound">f⁻¹</a> <a id="3787" class="Symbol">:</a> <a id="3789" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="3791" class="Symbol"></a> <a id="3793" href="Function.Construct.Composition.html#739" class="Generalizable">A</a><a id="3794" class="Symbol">}</a> <a id="3796" class="Symbol">{</a><a id="3797" href="Function.Construct.Composition.html#3797" class="Bound">g⁻¹</a> <a id="3801" class="Symbol">:</a> <a id="3803" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="3805" class="Symbol"></a> <a id="3807" href="Function.Construct.Composition.html#741" class="Generalizable">B</a><a id="3808" class="Symbol">}</a>
<a id="3819" class="Keyword">where</a>
<a id="3828" href="Function.Construct.Composition.html#3828" class="Function">isLeftInverse</a> <a id="3842" class="Symbol">:</a> <a id="3844" href="Function.Structures.html#2598" class="Record">IsLeftInverse</a> <a id="3858" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="3861" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="3864" href="Function.Construct.Composition.html#3759" class="Bound">f</a> <a id="3866" href="Function.Construct.Composition.html#3783" class="Bound">f⁻¹</a> <a id="3870" class="Symbol"></a> <a id="3872" href="Function.Structures.html#2598" class="Record">IsLeftInverse</a> <a id="3886" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="3889" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="3892" href="Function.Construct.Composition.html#3771" class="Bound">g</a> <a id="3894" href="Function.Construct.Composition.html#3797" class="Bound">g⁻¹</a> <a id="3898" class="Symbol"></a>
<a id="3918" href="Function.Structures.html#2598" class="Record">IsLeftInverse</a> <a id="3932" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="3935" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="3938" class="Symbol">(</a><a id="3939" href="Function.Construct.Composition.html#3771" class="Bound">g</a> <a id="3941" href="Function.Base.html#1115" class="Function Operator"></a> <a id="3943" href="Function.Construct.Composition.html#3759" class="Bound">f</a><a id="3944" class="Symbol">)</a> <a id="3946" class="Symbol">(</a><a id="3947" href="Function.Construct.Composition.html#3783" class="Bound">f⁻¹</a> <a id="3951" href="Function.Base.html#1115" class="Function Operator"></a> <a id="3953" href="Function.Construct.Composition.html#3797" class="Bound">g⁻¹</a><a id="3956" class="Symbol">)</a>
<a id="3960" href="Function.Construct.Composition.html#3828" class="Function">isLeftInverse</a> <a id="3974" href="Function.Construct.Composition.html#3974" class="Bound">f-invˡ</a> <a id="3981" href="Function.Construct.Composition.html#3981" class="Bound">g-invˡ</a> <a id="3988" class="Symbol">=</a> <a id="3990" class="Keyword">record</a>
<a id="4001" class="Symbol">{</a> <a id="4003" href="Function.Structures.html#2682" class="Field">isCongruent</a> <a id="4015" class="Symbol">=</a> <a id="4017" href="Function.Construct.Composition.html#2348" class="Function">isCongruent</a> <a id="4029" href="Function.Structures.html#2682" class="Function">F.isCongruent</a> <a id="4043" href="Function.Structures.html#2682" class="Field">G.isCongruent</a>
<a id="4061" class="Symbol">;</a> <a id="4063" href="Function.Structures.html#2716" class="Field">from-cong</a> <a id="4075" class="Symbol">=</a> <a id="4077" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="4087" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="4090" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="4093" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="4096" href="Function.Structures.html#2716" class="Field">G.from-cong</a> <a id="4108" href="Function.Structures.html#2716" class="Function">F.from-cong</a>
<a id="4124" class="Symbol">;</a> <a id="4126" href="Function.Structures.html#2760" class="Field">inverseˡ</a> <a id="4138" class="Symbol">=</a> <a id="4140" href="Function.Construct.Composition.html#1708" class="Function">inverseˡ</a> <a id="4149" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="4152" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="4155" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="4158" href="Function.Structures.html#2760" class="Function">F.inverseˡ</a> <a id="4169" href="Function.Structures.html#2760" class="Field">G.inverseˡ</a>
<a id="4184" class="Symbol">}</a> <a id="4186" class="Keyword">where</a> <a id="4192" class="Keyword">module</a> <a id="4199" href="Function.Construct.Composition.html#4199" class="Module">F</a> <a id="4201" class="Symbol">=</a> <a id="4203" href="Function.Structures.html#2598" class="Module">IsLeftInverse</a> <a id="4217" href="Function.Construct.Composition.html#3974" class="Bound">f-invˡ</a><a id="4223" class="Symbol">;</a> <a id="4225" class="Keyword">module</a> <a id="4232" href="Function.Construct.Composition.html#4232" class="Module">G</a> <a id="4234" class="Symbol">=</a> <a id="4236" href="Function.Structures.html#2598" class="Module">IsLeftInverse</a> <a id="4250" href="Function.Construct.Composition.html#3981" class="Bound">g-invˡ</a>
<a id="4260" href="Function.Construct.Composition.html#4260" class="Function">isRightInverse</a> <a id="4275" class="Symbol">:</a> <a id="4277" href="Function.Structures.html#3113" class="Record">IsRightInverse</a> <a id="4292" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="4295" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="4298" href="Function.Construct.Composition.html#3759" class="Bound">f</a> <a id="4300" href="Function.Construct.Composition.html#3783" class="Bound">f⁻¹</a> <a id="4304" class="Symbol"></a> <a id="4306" href="Function.Structures.html#3113" class="Record">IsRightInverse</a> <a id="4321" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="4324" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="4327" href="Function.Construct.Composition.html#3771" class="Bound">g</a> <a id="4329" href="Function.Construct.Composition.html#3797" class="Bound">g⁻¹</a> <a id="4333" class="Symbol"></a>
<a id="4354" href="Function.Structures.html#3113" class="Record">IsRightInverse</a> <a id="4369" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="4372" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="4375" class="Symbol">(</a><a id="4376" href="Function.Construct.Composition.html#3771" class="Bound">g</a> <a id="4378" href="Function.Base.html#1115" class="Function Operator"></a> <a id="4380" href="Function.Construct.Composition.html#3759" class="Bound">f</a><a id="4381" class="Symbol">)</a> <a id="4383" class="Symbol">(</a><a id="4384" href="Function.Construct.Composition.html#3783" class="Bound">f⁻¹</a> <a id="4388" href="Function.Base.html#1115" class="Function Operator"></a> <a id="4390" href="Function.Construct.Composition.html#3797" class="Bound">g⁻¹</a><a id="4393" class="Symbol">)</a>
<a id="4397" href="Function.Construct.Composition.html#4260" class="Function">isRightInverse</a> <a id="4412" href="Function.Construct.Composition.html#4412" class="Bound">f-invʳ</a> <a id="4419" href="Function.Construct.Composition.html#4419" class="Bound">g-invʳ</a> <a id="4426" class="Symbol">=</a> <a id="4428" class="Keyword">record</a>
<a id="4439" class="Symbol">{</a> <a id="4441" href="Function.Structures.html#3198" class="Field">isCongruent</a> <a id="4453" class="Symbol">=</a> <a id="4455" href="Function.Construct.Composition.html#2348" class="Function">isCongruent</a> <a id="4467" href="Function.Structures.html#3198" class="Function">F.isCongruent</a> <a id="4481" href="Function.Structures.html#3198" class="Field">G.isCongruent</a>
<a id="4499" class="Symbol">;</a> <a id="4501" href="Function.Structures.html#3231" class="Field">from-cong</a> <a id="4513" class="Symbol">=</a> <a id="4515" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="4525" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="4528" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="4531" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="4534" href="Function.Structures.html#3231" class="Field">G.from-cong</a> <a id="4546" href="Function.Structures.html#3231" class="Function">F.from-cong</a>
<a id="4562" class="Symbol">;</a> <a id="4564" href="Function.Structures.html#3274" class="Field">inverseʳ</a> <a id="4576" class="Symbol">=</a> <a id="4578" href="Function.Construct.Composition.html#1855" class="Function">inverseʳ</a> <a id="4587" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="4590" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="4593" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="4596" href="Function.Structures.html#3274" class="Function">F.inverseʳ</a> <a id="4607" href="Function.Structures.html#3274" class="Field">G.inverseʳ</a>
<a id="4622" class="Symbol">}</a> <a id="4624" class="Keyword">where</a> <a id="4630" class="Keyword">module</a> <a id="4637" href="Function.Construct.Composition.html#4637" class="Module">F</a> <a id="4639" class="Symbol">=</a> <a id="4641" href="Function.Structures.html#3113" class="Module">IsRightInverse</a> <a id="4656" href="Function.Construct.Composition.html#4412" class="Bound">f-invʳ</a><a id="4662" class="Symbol">;</a> <a id="4664" class="Keyword">module</a> <a id="4671" href="Function.Construct.Composition.html#4671" class="Module">G</a> <a id="4673" class="Symbol">=</a> <a id="4675" href="Function.Structures.html#3113" class="Module">IsRightInverse</a> <a id="4690" href="Function.Construct.Composition.html#4419" class="Bound">g-invʳ</a>
<a id="4700" href="Function.Construct.Composition.html#4700" class="Function">isInverse</a> <a id="4710" class="Symbol">:</a> <a id="4712" href="Function.Structures.html#3487" class="Record">IsInverse</a> <a id="4722" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="4725" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="4728" href="Function.Construct.Composition.html#3759" class="Bound">f</a> <a id="4730" href="Function.Construct.Composition.html#3783" class="Bound">f⁻¹</a> <a id="4734" class="Symbol"></a> <a id="4736" href="Function.Structures.html#3487" class="Record">IsInverse</a> <a id="4746" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="4749" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="4752" href="Function.Construct.Composition.html#3771" class="Bound">g</a> <a id="4754" href="Function.Construct.Composition.html#3797" class="Bound">g⁻¹</a> <a id="4758" class="Symbol"></a>
<a id="4774" href="Function.Structures.html#3487" class="Record">IsInverse</a> <a id="4784" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="4787" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="4790" class="Symbol">(</a><a id="4791" href="Function.Construct.Composition.html#3771" class="Bound">g</a> <a id="4793" href="Function.Base.html#1115" class="Function Operator"></a> <a id="4795" href="Function.Construct.Composition.html#3759" class="Bound">f</a><a id="4796" class="Symbol">)</a> <a id="4798" class="Symbol">(</a><a id="4799" href="Function.Construct.Composition.html#3783" class="Bound">f⁻¹</a> <a id="4803" href="Function.Base.html#1115" class="Function Operator"></a> <a id="4805" href="Function.Construct.Composition.html#3797" class="Bound">g⁻¹</a><a id="4808" class="Symbol">)</a>
<a id="4812" href="Function.Construct.Composition.html#4700" class="Function">isInverse</a> <a id="4822" href="Function.Construct.Composition.html#4822" class="Bound">f-inv</a> <a id="4828" href="Function.Construct.Composition.html#4828" class="Bound">g-inv</a> <a id="4834" class="Symbol">=</a> <a id="4836" class="Keyword">record</a>
<a id="4847" class="Symbol">{</a> <a id="4849" href="Function.Structures.html#3567" class="Field">isLeftInverse</a> <a id="4863" class="Symbol">=</a> <a id="4865" href="Function.Construct.Composition.html#3828" class="Function">isLeftInverse</a> <a id="4879" href="Function.Structures.html#3567" class="Function">F.isLeftInverse</a> <a id="4895" href="Function.Structures.html#3567" class="Field">G.isLeftInverse</a>
<a id="4915" class="Symbol">;</a> <a id="4917" href="Function.Structures.html#3609" class="Field">inverseʳ</a> <a id="4931" class="Symbol">=</a> <a id="4933" href="Function.Construct.Composition.html#1855" class="Function">inverseʳ</a> <a id="4942" href="Function.Construct.Composition.html#3702" class="Bound">≈₁</a> <a id="4945" href="Function.Construct.Composition.html#3718" class="Bound">≈₂</a> <a id="4948" href="Function.Construct.Composition.html#3734" class="Bound">≈₃</a> <a id="4951" href="Function.Structures.html#3609" class="Function">F.inverseʳ</a> <a id="4962" href="Function.Structures.html#3609" class="Field">G.inverseʳ</a>
<a id="4977" class="Symbol">}</a> <a id="4979" class="Keyword">where</a> <a id="4985" class="Keyword">module</a> <a id="4992" href="Function.Construct.Composition.html#4992" class="Module">F</a> <a id="4994" class="Symbol">=</a> <a id="4996" href="Function.Structures.html#3487" class="Module">IsInverse</a> <a id="5006" href="Function.Construct.Composition.html#4822" class="Bound">f-inv</a><a id="5011" class="Symbol">;</a> <a id="5013" class="Keyword">module</a> <a id="5020" href="Function.Construct.Composition.html#5020" class="Module">G</a> <a id="5022" class="Symbol">=</a> <a id="5024" href="Function.Structures.html#3487" class="Module">IsInverse</a> <a id="5034" href="Function.Construct.Composition.html#4828" class="Bound">g-inv</a>
<a id="5041" class="Comment">------------------------------------------------------------------------</a>
<a id="5114" class="Comment">-- Setoid bundles</a>
<a id="5133" class="Keyword">module</a> <a id="5140" href="Function.Construct.Composition.html#5140" class="Module">_</a> <a id="5142" class="Symbol">{</a><a id="5143" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="5145" class="Symbol">:</a> <a id="5147" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="5154" href="Function.Construct.Composition.html#712" class="Generalizable">a</a> <a id="5156" href="Function.Construct.Composition.html#718" class="Generalizable">ℓ₁</a><a id="5158" class="Symbol">}</a> <a id="5160" class="Symbol">{</a><a id="5161" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="5163" class="Symbol">:</a> <a id="5165" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="5172" href="Function.Construct.Composition.html#714" class="Generalizable">b</a> <a id="5174" href="Function.Construct.Composition.html#721" class="Generalizable">ℓ₂</a><a id="5176" class="Symbol">}</a> <a id="5178" class="Symbol">{</a><a id="5179" href="Function.Construct.Composition.html#5179" class="Bound">T</a> <a id="5181" class="Symbol">:</a> <a id="5183" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="5190" href="Function.Construct.Composition.html#716" class="Generalizable">c</a> <a id="5192" href="Function.Construct.Composition.html#724" class="Generalizable">ℓ₃</a><a id="5194" class="Symbol">}</a> <a id="5196" class="Keyword">where</a>
<a id="5205" class="Keyword">open</a> <a id="5210" href="Relation.Binary.Bundles.html#1080" class="Module">Setoid</a> <a id="5217" class="Keyword">renaming</a> <a id="5226" class="Symbol">(</a><a id="5227" href="Relation.Binary.Bundles.html#1169" class="Field Operator">_≈_</a> <a id="5231" class="Symbol">to</a> <a id="5234" class="Field Operator"></a><a id="5235" class="Symbol">)</a>
<a id="5240" href="Function.Construct.Composition.html#5240" class="Function">function</a> <a id="5249" class="Symbol">:</a> <a id="5251" href="Function.Bundles.html#2043" class="Record">Func</a> <a id="5256" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="5258" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="5260" class="Symbol"></a> <a id="5262" href="Function.Bundles.html#2043" class="Record">Func</a> <a id="5267" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="5269" href="Function.Construct.Composition.html#5179" class="Bound">T</a> <a id="5271" class="Symbol"></a> <a id="5273" href="Function.Bundles.html#2043" class="Record">Func</a> <a id="5278" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="5280" href="Function.Construct.Composition.html#5179" class="Bound">T</a>
<a id="5284" href="Function.Construct.Composition.html#5240" class="Function">function</a> <a id="5293" href="Function.Construct.Composition.html#5293" class="Bound">f</a> <a id="5295" href="Function.Construct.Composition.html#5295" class="Bound">g</a> <a id="5297" class="Symbol">=</a> <a id="5299" class="Keyword">record</a>
<a id="5310" class="Symbol">{</a> <a id="5312" href="Function.Bundles.html#2094" class="Field">to</a> <a id="5317" class="Symbol">=</a> <a id="5319" href="Function.Bundles.html#2094" class="Field">G.to</a> <a id="5324" href="Function.Base.html#1115" class="Function Operator"></a> <a id="5326" href="Function.Bundles.html#2094" class="Function">F.to</a>
<a id="5335" class="Symbol">;</a> <a id="5337" href="Function.Bundles.html#2113" class="Field">cong</a> <a id="5342" class="Symbol">=</a> <a id="5344" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="5354" class="Symbol">(</a><a id="5355" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5357" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="5358" class="Symbol">)</a> <a id="5360" class="Symbol">(</a><a id="5361" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5363" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="5364" class="Symbol">)</a> <a id="5366" class="Symbol">(</a><a id="5367" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5369" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="5370" class="Symbol">)</a> <a id="5372" href="Function.Bundles.html#2113" class="Function">F.cong</a> <a id="5379" href="Function.Bundles.html#2113" class="Field">G.cong</a>
<a id="5390" class="Symbol">}</a> <a id="5392" class="Keyword">where</a> <a id="5398" class="Keyword">module</a> <a id="5405" href="Function.Construct.Composition.html#5405" class="Module">F</a> <a id="5407" class="Symbol">=</a> <a id="5409" href="Function.Bundles.html#2043" class="Module">Func</a> <a id="5414" href="Function.Construct.Composition.html#5293" class="Bound">f</a><a id="5415" class="Symbol">;</a> <a id="5417" class="Keyword">module</a> <a id="5424" href="Function.Construct.Composition.html#5424" class="Module">G</a> <a id="5426" class="Symbol">=</a> <a id="5428" href="Function.Bundles.html#2043" class="Module">Func</a> <a id="5433" href="Function.Construct.Composition.html#5295" class="Bound">g</a>
<a id="5438" href="Function.Construct.Composition.html#5438" class="Function">injection</a> <a id="5448" class="Symbol">:</a> <a id="5450" href="Function.Bundles.html#2415" class="Record">Injection</a> <a id="5460" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="5462" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="5464" class="Symbol"></a> <a id="5466" href="Function.Bundles.html#2415" class="Record">Injection</a> <a id="5476" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="5478" href="Function.Construct.Composition.html#5179" class="Bound">T</a> <a id="5480" class="Symbol"></a> <a id="5482" href="Function.Bundles.html#2415" class="Record">Injection</a> <a id="5492" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="5494" href="Function.Construct.Composition.html#5179" class="Bound">T</a>
<a id="5498" href="Function.Construct.Composition.html#5438" class="Function">injection</a> <a id="5508" href="Function.Construct.Composition.html#5508" class="Bound">inj₁</a> <a id="5513" href="Function.Construct.Composition.html#5513" class="Bound">inj₂</a> <a id="5518" class="Symbol">=</a> <a id="5520" class="Keyword">record</a>
<a id="5531" class="Symbol">{</a> <a id="5533" href="Function.Bundles.html#2471" class="Field">to</a> <a id="5543" class="Symbol">=</a> <a id="5545" href="Function.Bundles.html#2471" class="Field">G.to</a> <a id="5550" href="Function.Base.html#1115" class="Function Operator"></a> <a id="5552" href="Function.Bundles.html#2471" class="Function">F.to</a>
<a id="5561" class="Symbol">;</a> <a id="5563" href="Function.Bundles.html#2497" class="Field">cong</a> <a id="5573" class="Symbol">=</a> <a id="5575" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="5585" class="Symbol">(</a><a id="5586" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5588" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="5589" class="Symbol">)</a> <a id="5591" class="Symbol">(</a><a id="5592" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5594" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="5595" class="Symbol">)</a> <a id="5597" class="Symbol">(</a><a id="5598" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5600" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="5601" class="Symbol">)</a> <a id="5603" href="Function.Bundles.html#2497" class="Function">F.cong</a> <a id="5610" href="Function.Bundles.html#2497" class="Field">G.cong</a>
<a id="5621" class="Symbol">;</a> <a id="5623" href="Function.Bundles.html#2540" class="Field">injective</a> <a id="5633" class="Symbol">=</a> <a id="5635" href="Function.Construct.Composition.html#1087" class="Function">injective</a> <a id="5645" class="Symbol">(</a><a id="5646" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5648" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="5649" class="Symbol">)</a> <a id="5651" class="Symbol">(</a><a id="5652" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5654" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="5655" class="Symbol">)</a> <a id="5657" class="Symbol">(</a><a id="5658" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5660" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="5661" class="Symbol">)</a> <a id="5663" href="Function.Bundles.html#2540" class="Function">F.injective</a> <a id="5675" href="Function.Bundles.html#2540" class="Field">G.injective</a>
<a id="5691" class="Symbol">}</a> <a id="5693" class="Keyword">where</a> <a id="5699" class="Keyword">module</a> <a id="5706" href="Function.Construct.Composition.html#5706" class="Module">F</a> <a id="5708" class="Symbol">=</a> <a id="5710" href="Function.Bundles.html#2415" class="Module">Injection</a> <a id="5720" href="Function.Construct.Composition.html#5508" class="Bound">inj₁</a><a id="5724" class="Symbol">;</a> <a id="5726" class="Keyword">module</a> <a id="5733" href="Function.Construct.Composition.html#5733" class="Module">G</a> <a id="5735" class="Symbol">=</a> <a id="5737" href="Function.Bundles.html#2415" class="Module">Injection</a> <a id="5747" href="Function.Construct.Composition.html#5513" class="Bound">inj₂</a>
<a id="5755" href="Function.Construct.Composition.html#5755" class="Function">surjection</a> <a id="5766" class="Symbol">:</a> <a id="5768" href="Function.Bundles.html#2865" class="Record">Surjection</a> <a id="5779" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="5781" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="5783" class="Symbol"></a> <a id="5785" href="Function.Bundles.html#2865" class="Record">Surjection</a> <a id="5796" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="5798" href="Function.Construct.Composition.html#5179" class="Bound">T</a> <a id="5800" class="Symbol"></a> <a id="5802" href="Function.Bundles.html#2865" class="Record">Surjection</a> <a id="5813" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="5815" href="Function.Construct.Composition.html#5179" class="Bound">T</a>
<a id="5819" href="Function.Construct.Composition.html#5755" class="Function">surjection</a> <a id="5830" href="Function.Construct.Composition.html#5830" class="Bound">surj₁</a> <a id="5836" href="Function.Construct.Composition.html#5836" class="Bound">surj₂</a> <a id="5842" class="Symbol">=</a> <a id="5844" class="Keyword">record</a>
<a id="5855" class="Symbol">{</a> <a id="5857" href="Function.Bundles.html#2922" class="Field">to</a> <a id="5868" class="Symbol">=</a> <a id="5870" href="Function.Bundles.html#2922" class="Field">G.to</a> <a id="5875" href="Function.Base.html#1115" class="Function Operator"></a> <a id="5877" href="Function.Bundles.html#2922" class="Function">F.to</a>
<a id="5886" class="Symbol">;</a> <a id="5888" href="Function.Bundles.html#2947" class="Field">cong</a> <a id="5899" class="Symbol">=</a> <a id="5901" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="5912" class="Symbol">(</a><a id="5913" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5915" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="5916" class="Symbol">)</a> <a id="5918" class="Symbol">(</a><a id="5919" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5921" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="5922" class="Symbol">)</a> <a id="5924" class="Symbol">(</a><a id="5925" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5927" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="5928" class="Symbol">)</a> <a id="5930" href="Function.Bundles.html#2947" class="Function">F.cong</a> <a id="5937" href="Function.Bundles.html#2947" class="Field">G.cong</a>
<a id="5948" class="Symbol">;</a> <a id="5950" href="Function.Bundles.html#2989" class="Field">surjective</a> <a id="5961" class="Symbol">=</a> <a id="5963" href="Function.Construct.Composition.html#1220" class="Function">surjective</a> <a id="5974" class="Symbol">(</a><a id="5975" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5977" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="5978" class="Symbol">)</a> <a id="5980" class="Symbol">(</a><a id="5981" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5983" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="5984" class="Symbol">)</a> <a id="5986" class="Symbol">(</a><a id="5987" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="5989" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="5990" class="Symbol">)</a> <a id="5992" href="Function.Bundles.html#2989" class="Function">F.surjective</a> <a id="6005" href="Function.Bundles.html#2989" class="Field">G.surjective</a>
<a id="6022" class="Symbol">}</a> <a id="6024" class="Keyword">where</a> <a id="6030" class="Keyword">module</a> <a id="6037" href="Function.Construct.Composition.html#6037" class="Module">F</a> <a id="6039" class="Symbol">=</a> <a id="6041" href="Function.Bundles.html#2865" class="Module">Surjection</a> <a id="6052" href="Function.Construct.Composition.html#5830" class="Bound">surj₁</a><a id="6057" class="Symbol">;</a> <a id="6059" class="Keyword">module</a> <a id="6066" href="Function.Construct.Composition.html#6066" class="Module">G</a> <a id="6068" class="Symbol">=</a> <a id="6070" href="Function.Bundles.html#2865" class="Module">Surjection</a> <a id="6081" href="Function.Construct.Composition.html#5836" class="Bound">surj₂</a>
<a id="6090" href="Function.Construct.Composition.html#6090" class="Function">bijection</a> <a id="6100" class="Symbol">:</a> <a id="6102" href="Function.Bundles.html#3530" class="Record">Bijection</a> <a id="6112" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="6114" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="6116" class="Symbol"></a> <a id="6118" href="Function.Bundles.html#3530" class="Record">Bijection</a> <a id="6128" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="6130" href="Function.Construct.Composition.html#5179" class="Bound">T</a> <a id="6132" class="Symbol"></a> <a id="6134" href="Function.Bundles.html#3530" class="Record">Bijection</a> <a id="6144" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="6146" href="Function.Construct.Composition.html#5179" class="Bound">T</a>
<a id="6150" href="Function.Construct.Composition.html#6090" class="Function">bijection</a> <a id="6160" href="Function.Construct.Composition.html#6160" class="Bound">bij₁</a> <a id="6165" href="Function.Construct.Composition.html#6165" class="Bound">bij₂</a> <a id="6170" class="Symbol">=</a> <a id="6172" class="Keyword">record</a>
<a id="6183" class="Symbol">{</a> <a id="6185" href="Function.Bundles.html#3586" class="Field">to</a> <a id="6195" class="Symbol">=</a> <a id="6197" href="Function.Bundles.html#3586" class="Field">G.to</a> <a id="6202" href="Function.Base.html#1115" class="Function Operator"></a> <a id="6204" href="Function.Bundles.html#3586" class="Function">F.to</a>
<a id="6213" class="Symbol">;</a> <a id="6215" href="Function.Bundles.html#3610" class="Field">cong</a> <a id="6225" class="Symbol">=</a> <a id="6227" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="6237" class="Symbol">(</a><a id="6238" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6240" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="6241" class="Symbol">)</a> <a id="6243" class="Symbol">(</a><a id="6244" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6246" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="6247" class="Symbol">)</a> <a id="6249" class="Symbol">(</a><a id="6250" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6252" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="6253" class="Symbol">)</a> <a id="6255" href="Function.Bundles.html#3610" class="Function">F.cong</a> <a id="6262" href="Function.Bundles.html#3610" class="Field">G.cong</a>
<a id="6273" class="Symbol">;</a> <a id="6275" href="Function.Bundles.html#3651" class="Field">bijective</a> <a id="6285" class="Symbol">=</a> <a id="6287" href="Function.Construct.Composition.html#1433" class="Function">bijective</a> <a id="6297" class="Symbol">(</a><a id="6298" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6300" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="6301" class="Symbol">)</a> <a id="6303" class="Symbol">(</a><a id="6304" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6306" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="6307" class="Symbol">)</a> <a id="6309" class="Symbol">(</a><a id="6310" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6312" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="6313" class="Symbol">)</a> <a id="6315" href="Function.Bundles.html#3651" class="Function">F.bijective</a> <a id="6327" href="Function.Bundles.html#3651" class="Field">G.bijective</a>
<a id="6343" class="Symbol">}</a> <a id="6345" class="Keyword">where</a> <a id="6351" class="Keyword">module</a> <a id="6358" href="Function.Construct.Composition.html#6358" class="Module">F</a> <a id="6360" class="Symbol">=</a> <a id="6362" href="Function.Bundles.html#3530" class="Module">Bijection</a> <a id="6372" href="Function.Construct.Composition.html#6160" class="Bound">bij₁</a><a id="6376" class="Symbol">;</a> <a id="6378" class="Keyword">module</a> <a id="6385" href="Function.Construct.Composition.html#6385" class="Module">G</a> <a id="6387" class="Symbol">=</a> <a id="6389" href="Function.Bundles.html#3530" class="Module">Bijection</a> <a id="6399" href="Function.Construct.Composition.html#6165" class="Bound">bij₂</a>
<a id="6407" href="Function.Construct.Composition.html#6407" class="Function">equivalence</a> <a id="6419" class="Symbol">:</a> <a id="6421" href="Function.Bundles.html#4752" class="Record">Equivalence</a> <a id="6433" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="6435" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="6437" class="Symbol"></a> <a id="6439" href="Function.Bundles.html#4752" class="Record">Equivalence</a> <a id="6451" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="6453" href="Function.Construct.Composition.html#5179" class="Bound">T</a> <a id="6455" class="Symbol"></a> <a id="6457" href="Function.Bundles.html#4752" class="Record">Equivalence</a> <a id="6469" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="6471" href="Function.Construct.Composition.html#5179" class="Bound">T</a>
<a id="6475" href="Function.Construct.Composition.html#6407" class="Function">equivalence</a> <a id="6487" href="Function.Construct.Composition.html#6487" class="Bound">equiv₁</a> <a id="6494" href="Function.Construct.Composition.html#6494" class="Bound">equiv₂</a> <a id="6501" class="Symbol">=</a> <a id="6503" class="Keyword">record</a>
<a id="6514" class="Symbol">{</a> <a id="6516" href="Function.Bundles.html#4810" class="Field">to</a> <a id="6526" class="Symbol">=</a> <a id="6528" href="Function.Bundles.html#4810" class="Field">G.to</a> <a id="6533" href="Function.Base.html#1115" class="Function Operator"></a> <a id="6535" href="Function.Bundles.html#4810" class="Function">F.to</a>
<a id="6544" class="Symbol">;</a> <a id="6546" href="Function.Bundles.html#4834" class="Field">from</a> <a id="6556" class="Symbol">=</a> <a id="6558" href="Function.Bundles.html#4834" class="Function">F.from</a> <a id="6565" href="Function.Base.html#1115" class="Function Operator"></a> <a id="6567" href="Function.Bundles.html#4834" class="Field">G.from</a>
<a id="6578" class="Symbol">;</a> <a id="6580" href="Function.Bundles.html#4858" class="Field">to-cong</a> <a id="6590" class="Symbol">=</a> <a id="6592" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="6602" class="Symbol">(</a><a id="6603" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6605" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="6606" class="Symbol">)</a> <a id="6608" class="Symbol">(</a><a id="6609" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6611" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="6612" class="Symbol">)</a> <a id="6614" class="Symbol">(</a><a id="6615" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6617" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="6618" class="Symbol">)</a> <a id="6620" href="Function.Bundles.html#4858" class="Function">F.to-cong</a> <a id="6630" href="Function.Bundles.html#4858" class="Field">G.to-cong</a>
<a id="6644" class="Symbol">;</a> <a id="6646" href="Function.Bundles.html#4899" class="Field">from-cong</a> <a id="6656" class="Symbol">=</a> <a id="6658" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="6668" class="Symbol">(</a><a id="6669" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6671" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="6672" class="Symbol">)</a> <a id="6674" class="Symbol">(</a><a id="6675" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6677" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="6678" class="Symbol">)</a> <a id="6680" class="Symbol">(</a><a id="6681" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6683" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="6684" class="Symbol">)</a> <a id="6686" href="Function.Bundles.html#4899" class="Field">G.from-cong</a> <a id="6698" href="Function.Bundles.html#4899" class="Function">F.from-cong</a>
<a id="6714" class="Symbol">}</a> <a id="6716" class="Keyword">where</a> <a id="6722" class="Keyword">module</a> <a id="6729" href="Function.Construct.Composition.html#6729" class="Module">F</a> <a id="6731" class="Symbol">=</a> <a id="6733" href="Function.Bundles.html#4752" class="Module">Equivalence</a> <a id="6745" href="Function.Construct.Composition.html#6487" class="Bound">equiv₁</a><a id="6751" class="Symbol">;</a> <a id="6753" class="Keyword">module</a> <a id="6760" href="Function.Construct.Composition.html#6760" class="Module">G</a> <a id="6762" class="Symbol">=</a> <a id="6764" href="Function.Bundles.html#4752" class="Module">Equivalence</a> <a id="6776" href="Function.Construct.Composition.html#6494" class="Bound">equiv₂</a>
<a id="6786" href="Function.Construct.Composition.html#6786" class="Function">leftInverse</a> <a id="6798" class="Symbol">:</a> <a id="6800" href="Function.Bundles.html#5375" class="Record">LeftInverse</a> <a id="6812" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="6814" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="6816" class="Symbol"></a> <a id="6818" href="Function.Bundles.html#5375" class="Record">LeftInverse</a> <a id="6830" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="6832" href="Function.Construct.Composition.html#5179" class="Bound">T</a> <a id="6834" class="Symbol"></a> <a id="6836" href="Function.Bundles.html#5375" class="Record">LeftInverse</a> <a id="6848" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="6850" href="Function.Construct.Composition.html#5179" class="Bound">T</a>
<a id="6854" href="Function.Construct.Composition.html#6786" class="Function">leftInverse</a> <a id="6866" href="Function.Construct.Composition.html#6866" class="Bound">invˡ₁</a> <a id="6872" href="Function.Construct.Composition.html#6872" class="Bound">invˡ₂</a> <a id="6878" class="Symbol">=</a> <a id="6880" class="Keyword">record</a>
<a id="6891" class="Symbol">{</a> <a id="6893" href="Function.Bundles.html#5433" class="Field">to</a> <a id="6903" class="Symbol">=</a> <a id="6905" href="Function.Bundles.html#5433" class="Field">G.to</a> <a id="6910" href="Function.Base.html#1115" class="Function Operator"></a> <a id="6912" href="Function.Bundles.html#5433" class="Function">F.to</a>
<a id="6921" class="Symbol">;</a> <a id="6923" href="Function.Bundles.html#5457" class="Field">from</a> <a id="6933" class="Symbol">=</a> <a id="6935" href="Function.Bundles.html#5457" class="Function">F.from</a> <a id="6942" href="Function.Base.html#1115" class="Function Operator"></a> <a id="6944" href="Function.Bundles.html#5457" class="Field">G.from</a>
<a id="6955" class="Symbol">;</a> <a id="6957" href="Function.Bundles.html#5481" class="Field">to-cong</a> <a id="6967" class="Symbol">=</a> <a id="6969" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="6979" class="Symbol">(</a><a id="6980" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6982" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="6983" class="Symbol">)</a> <a id="6985" class="Symbol">(</a><a id="6986" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6988" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="6989" class="Symbol">)</a> <a id="6991" class="Symbol">(</a><a id="6992" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="6994" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="6995" class="Symbol">)</a> <a id="6997" href="Function.Bundles.html#5481" class="Function">F.to-cong</a> <a id="7007" href="Function.Bundles.html#5481" class="Field">G.to-cong</a>
<a id="7021" class="Symbol">;</a> <a id="7023" href="Function.Bundles.html#5522" class="Field">from-cong</a> <a id="7033" class="Symbol">=</a> <a id="7035" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="7045" class="Symbol">(</a><a id="7046" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7048" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="7049" class="Symbol">)</a> <a id="7051" class="Symbol">(</a><a id="7052" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7054" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="7055" class="Symbol">)</a> <a id="7057" class="Symbol">(</a><a id="7058" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7060" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="7061" class="Symbol">)</a> <a id="7063" href="Function.Bundles.html#5522" class="Field">G.from-cong</a> <a id="7075" href="Function.Bundles.html#5522" class="Function">F.from-cong</a>
<a id="7091" class="Symbol">;</a> <a id="7093" href="Function.Bundles.html#5565" class="Field">inverseˡ</a> <a id="7103" class="Symbol">=</a> <a id="7105" href="Function.Construct.Composition.html#1708" class="Function">inverseˡ</a> <a id="7115" class="Symbol">(</a><a id="7116" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7118" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="7119" class="Symbol">)</a> <a id="7121" class="Symbol">(</a><a id="7122" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7124" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="7125" class="Symbol">)</a> <a id="7127" class="Symbol">(</a><a id="7128" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7130" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="7131" class="Symbol">)</a> <a id="7133" href="Function.Bundles.html#5565" class="Function">F.inverseˡ</a> <a id="7144" href="Function.Bundles.html#5565" class="Field">G.inverseˡ</a>
<a id="7159" class="Symbol">}</a> <a id="7161" class="Keyword">where</a> <a id="7167" class="Keyword">module</a> <a id="7174" href="Function.Construct.Composition.html#7174" class="Module">F</a> <a id="7176" class="Symbol">=</a> <a id="7178" href="Function.Bundles.html#5375" class="Module">LeftInverse</a> <a id="7190" href="Function.Construct.Composition.html#6866" class="Bound">invˡ₁</a><a id="7195" class="Symbol">;</a> <a id="7197" class="Keyword">module</a> <a id="7204" href="Function.Construct.Composition.html#7204" class="Module">G</a> <a id="7206" class="Symbol">=</a> <a id="7208" href="Function.Bundles.html#5375" class="Module">LeftInverse</a> <a id="7220" href="Function.Construct.Composition.html#6872" class="Bound">invˡ₂</a>
<a id="7229" href="Function.Construct.Composition.html#7229" class="Function">rightInverse</a> <a id="7242" class="Symbol">:</a> <a id="7244" href="Function.Bundles.html#6509" class="Record">RightInverse</a> <a id="7257" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="7259" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="7261" class="Symbol"></a> <a id="7263" href="Function.Bundles.html#6509" class="Record">RightInverse</a> <a id="7276" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="7278" href="Function.Construct.Composition.html#5179" class="Bound">T</a> <a id="7280" class="Symbol"></a> <a id="7282" href="Function.Bundles.html#6509" class="Record">RightInverse</a> <a id="7295" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="7297" href="Function.Construct.Composition.html#5179" class="Bound">T</a>
<a id="7301" href="Function.Construct.Composition.html#7229" class="Function">rightInverse</a> <a id="7314" href="Function.Construct.Composition.html#7314" class="Bound">invʳ₁</a> <a id="7320" href="Function.Construct.Composition.html#7320" class="Bound">invʳ₂</a> <a id="7326" class="Symbol">=</a> <a id="7328" class="Keyword">record</a>
<a id="7339" class="Symbol">{</a> <a id="7341" href="Function.Bundles.html#6568" class="Field">to</a> <a id="7351" class="Symbol">=</a> <a id="7353" href="Function.Bundles.html#6568" class="Field">G.to</a> <a id="7358" href="Function.Base.html#1115" class="Function Operator"></a> <a id="7360" href="Function.Bundles.html#6568" class="Function">F.to</a>
<a id="7369" class="Symbol">;</a> <a id="7371" href="Function.Bundles.html#6592" class="Field">from</a> <a id="7381" class="Symbol">=</a> <a id="7383" href="Function.Bundles.html#6592" class="Function">F.from</a> <a id="7390" href="Function.Base.html#1115" class="Function Operator"></a> <a id="7392" href="Function.Bundles.html#6592" class="Field">G.from</a>
<a id="7403" class="Symbol">;</a> <a id="7405" href="Function.Bundles.html#6616" class="Field">to-cong</a> <a id="7415" class="Symbol">=</a> <a id="7417" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="7427" class="Symbol">(</a><a id="7428" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7430" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="7431" class="Symbol">)</a> <a id="7433" class="Symbol">(</a><a id="7434" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7436" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="7437" class="Symbol">)</a> <a id="7439" class="Symbol">(</a><a id="7440" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7442" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="7443" class="Symbol">)</a> <a id="7445" href="Function.Bundles.html#6616" class="Function">F.to-cong</a> <a id="7455" href="Function.Bundles.html#6616" class="Field">G.to-cong</a>
<a id="7469" class="Symbol">;</a> <a id="7471" href="Function.Bundles.html#6657" class="Field">from-cong</a> <a id="7481" class="Symbol">=</a> <a id="7483" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="7493" class="Symbol">(</a><a id="7494" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7496" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="7497" class="Symbol">)</a> <a id="7499" class="Symbol">(</a><a id="7500" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7502" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="7503" class="Symbol">)</a> <a id="7505" class="Symbol">(</a><a id="7506" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7508" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="7509" class="Symbol">)</a> <a id="7511" href="Function.Bundles.html#6657" class="Field">G.from-cong</a> <a id="7523" href="Function.Bundles.html#6657" class="Function">F.from-cong</a>
<a id="7539" class="Symbol">;</a> <a id="7541" href="Function.Bundles.html#6702" class="Field">inverseʳ</a> <a id="7551" class="Symbol">=</a> <a id="7553" href="Function.Construct.Composition.html#1855" class="Function">inverseʳ</a> <a id="7563" class="Symbol">(</a><a id="7564" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7566" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="7567" class="Symbol">)</a> <a id="7569" class="Symbol">(</a><a id="7570" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7572" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="7573" class="Symbol">)</a> <a id="7575" class="Symbol">(</a><a id="7576" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7578" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="7579" class="Symbol">)</a> <a id="7581" href="Function.Bundles.html#6702" class="Function">F.inverseʳ</a> <a id="7592" href="Function.Bundles.html#6702" class="Field">G.inverseʳ</a>
<a id="7607" class="Symbol">}</a> <a id="7609" class="Keyword">where</a> <a id="7615" class="Keyword">module</a> <a id="7622" href="Function.Construct.Composition.html#7622" class="Module">F</a> <a id="7624" class="Symbol">=</a> <a id="7626" href="Function.Bundles.html#6509" class="Module">RightInverse</a> <a id="7639" href="Function.Construct.Composition.html#7314" class="Bound">invʳ₁</a><a id="7644" class="Symbol">;</a> <a id="7646" class="Keyword">module</a> <a id="7653" href="Function.Construct.Composition.html#7653" class="Module">G</a> <a id="7655" class="Symbol">=</a> <a id="7657" href="Function.Bundles.html#6509" class="Module">RightInverse</a> <a id="7670" href="Function.Construct.Composition.html#7320" class="Bound">invʳ₂</a>
<a id="7679" href="Function.Construct.Composition.html#7679" class="Function">inverse</a> <a id="7687" class="Symbol">:</a> <a id="7689" href="Function.Bundles.html#7340" class="Record">Inverse</a> <a id="7697" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="7699" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="7701" class="Symbol"></a> <a id="7703" href="Function.Bundles.html#7340" class="Record">Inverse</a> <a id="7711" href="Function.Construct.Composition.html#5161" class="Bound">S</a> <a id="7713" href="Function.Construct.Composition.html#5179" class="Bound">T</a> <a id="7715" class="Symbol"></a> <a id="7717" href="Function.Bundles.html#7340" class="Record">Inverse</a> <a id="7725" href="Function.Construct.Composition.html#5143" class="Bound">R</a> <a id="7727" href="Function.Construct.Composition.html#5179" class="Bound">T</a>
<a id="7731" href="Function.Construct.Composition.html#7679" class="Function">inverse</a> <a id="7739" href="Function.Construct.Composition.html#7739" class="Bound">inv₁</a> <a id="7744" href="Function.Construct.Composition.html#7744" class="Bound">inv₂</a> <a id="7749" class="Symbol">=</a> <a id="7751" class="Keyword">record</a>
<a id="7762" class="Symbol">{</a> <a id="7764" href="Function.Bundles.html#7394" class="Field">to</a> <a id="7774" class="Symbol">=</a> <a id="7776" href="Function.Bundles.html#7394" class="Field">G.to</a> <a id="7781" href="Function.Base.html#1115" class="Function Operator"></a> <a id="7783" href="Function.Bundles.html#7394" class="Function">F.to</a>
<a id="7792" class="Symbol">;</a> <a id="7794" href="Function.Bundles.html#7418" class="Field">from</a> <a id="7804" class="Symbol">=</a> <a id="7806" href="Function.Bundles.html#7418" class="Function">F.from</a> <a id="7813" href="Function.Base.html#1115" class="Function Operator"></a> <a id="7815" href="Function.Bundles.html#7418" class="Field">G.from</a>
<a id="7826" class="Symbol">;</a> <a id="7828" href="Function.Bundles.html#7442" class="Field">to-cong</a> <a id="7838" class="Symbol">=</a> <a id="7840" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="7850" class="Symbol">(</a><a id="7851" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7853" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="7854" class="Symbol">)</a> <a id="7856" class="Symbol">(</a><a id="7857" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7859" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="7860" class="Symbol">)</a> <a id="7862" class="Symbol">(</a><a id="7863" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7865" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="7866" class="Symbol">)</a> <a id="7868" href="Function.Bundles.html#7442" class="Function">F.to-cong</a> <a id="7878" href="Function.Bundles.html#7442" class="Field">G.to-cong</a>
<a id="7892" class="Symbol">;</a> <a id="7894" href="Function.Bundles.html#7483" class="Field">from-cong</a> <a id="7904" class="Symbol">=</a> <a id="7906" href="Function.Construct.Composition.html#950" class="Function">congruent</a> <a id="7916" class="Symbol">(</a><a id="7917" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7919" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="7920" class="Symbol">)</a> <a id="7922" class="Symbol">(</a><a id="7923" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7925" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="7926" class="Symbol">)</a> <a id="7928" class="Symbol">(</a><a id="7929" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7931" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="7932" class="Symbol">)</a> <a id="7934" href="Function.Bundles.html#7483" class="Field">G.from-cong</a> <a id="7946" href="Function.Bundles.html#7483" class="Function">F.from-cong</a>
<a id="7962" class="Symbol">;</a> <a id="7964" href="Function.Bundles.html#7526" class="Field">inverse</a> <a id="7974" class="Symbol">=</a> <a id="7976" href="Function.Construct.Composition.html#2002" class="Function">inverseᵇ</a> <a id="7986" class="Symbol">(</a><a id="7987" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7989" href="Function.Construct.Composition.html#5143" class="Bound">R</a><a id="7990" class="Symbol">)</a> <a id="7992" class="Symbol">(</a><a id="7993" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="7995" href="Function.Construct.Composition.html#5161" class="Bound">S</a><a id="7996" class="Symbol">)</a> <a id="7998" class="Symbol">(</a><a id="7999" href="Function.Construct.Composition.html#5234" class="Field"></a> <a id="8001" href="Function.Construct.Composition.html#5179" class="Bound">T</a><a id="8002" class="Symbol">)</a> <a id="8004" href="Function.Bundles.html#7526" class="Function">F.inverse</a> <a id="8014" href="Function.Bundles.html#7526" class="Field">G.inverse</a>
<a id="8028" class="Symbol">}</a> <a id="8030" class="Keyword">where</a> <a id="8036" class="Keyword">module</a> <a id="8043" href="Function.Construct.Composition.html#8043" class="Module">F</a> <a id="8045" class="Symbol">=</a> <a id="8047" href="Function.Bundles.html#7340" class="Module">Inverse</a> <a id="8055" href="Function.Construct.Composition.html#7739" class="Bound">inv₁</a><a id="8059" class="Symbol">;</a> <a id="8061" class="Keyword">module</a> <a id="8068" href="Function.Construct.Composition.html#8068" class="Module">G</a> <a id="8070" class="Symbol">=</a> <a id="8072" href="Function.Bundles.html#7340" class="Module">Inverse</a> <a id="8080" href="Function.Construct.Composition.html#7744" class="Bound">inv₂</a>
<a id="8086" class="Comment">------------------------------------------------------------------------</a>
<a id="8159" class="Comment">-- Propositional bundles</a>
<a id="8185" class="Comment">-- Notice the flipped order of the arguments to mirror composition.</a>
<a id="8254" class="Keyword">infix</a> <a id="8260" class="Number">8</a> <a id="8262" href="Function.Construct.Composition.html#8311" class="Function Operator">_⟶-∘_</a> <a id="8268" href="Function.Construct.Composition.html#8370" class="Function Operator">_↣-∘_</a> <a id="8274" href="Function.Construct.Composition.html#8424" class="Function Operator">_↠-∘_</a> <a id="8280" href="Function.Construct.Composition.html#8479" class="Function Operator">_⤖-∘_</a> <a id="8286" href="Function.Construct.Composition.html#8533" class="Function Operator">_⇔-∘_</a> <a id="8292" href="Function.Construct.Composition.html#8589" class="Function Operator">_↩-∘_</a> <a id="8298" href="Function.Construct.Composition.html#8645" class="Function Operator">_↪-∘_</a> <a id="8304" href="Function.Construct.Composition.html#8703" class="Function Operator">_↔-∘_</a>
<a id="_⟶-∘_"></a><a id="8311" href="Function.Construct.Composition.html#8311" class="Function Operator">_⟶-∘_</a> <a id="8317" class="Symbol">:</a> <a id="8319" class="Symbol">(</a><a id="8320" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8322" href="Function.Bundles.html#11751" class="Function Operator"></a> <a id="8324" href="Function.Construct.Composition.html#743" class="Generalizable">C</a><a id="8325" class="Symbol">)</a> <a id="8327" class="Symbol"></a> <a id="8329" class="Symbol">(</a><a id="8330" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8332" href="Function.Bundles.html#11751" class="Function Operator"></a> <a id="8334" href="Function.Construct.Composition.html#741" class="Generalizable">B</a><a id="8335" class="Symbol">)</a> <a id="8337" class="Symbol"></a> <a id="8339" class="Symbol">(</a><a id="8340" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8342" href="Function.Bundles.html#11751" class="Function Operator"></a> <a id="8344" href="Function.Construct.Composition.html#743" class="Generalizable">C</a><a id="8345" class="Symbol">)</a>
<a id="8347" href="Function.Construct.Composition.html#8311" class="Function Operator">_⟶-∘_</a> <a id="8353" class="Symbol">=</a> <a id="8355" href="Function.Base.html#1638" class="Function">flip</a> <a id="8360" href="Function.Construct.Composition.html#5240" class="Function">function</a>
<a id="_↣-∘_"></a><a id="8370" href="Function.Construct.Composition.html#8370" class="Function Operator">_↣-∘_</a> <a id="8376" class="Symbol">:</a> <a id="8378" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8380" href="Function.Bundles.html#11819" class="Function Operator"></a> <a id="8382" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="8384" class="Symbol"></a> <a id="8386" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8388" href="Function.Bundles.html#11819" class="Function Operator"></a> <a id="8390" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8392" class="Symbol"></a> <a id="8394" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8396" href="Function.Bundles.html#11819" class="Function Operator"></a> <a id="8398" href="Function.Construct.Composition.html#743" class="Generalizable">C</a>
<a id="8400" href="Function.Construct.Composition.html#8370" class="Function Operator">_↣-∘_</a> <a id="8406" class="Symbol">=</a> <a id="8408" href="Function.Base.html#1638" class="Function">flip</a> <a id="8413" href="Function.Construct.Composition.html#5438" class="Function">injection</a>
<a id="_↠-∘_"></a><a id="8424" href="Function.Construct.Composition.html#8424" class="Function Operator">_↠-∘_</a> <a id="8430" class="Symbol">:</a> <a id="8432" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8434" href="Function.Bundles.html#11892" class="Function Operator"></a> <a id="8436" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="8438" class="Symbol"></a> <a id="8440" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8442" href="Function.Bundles.html#11892" class="Function Operator"></a> <a id="8444" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8446" class="Symbol"></a> <a id="8448" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8450" href="Function.Bundles.html#11892" class="Function Operator"></a> <a id="8452" href="Function.Construct.Composition.html#743" class="Generalizable">C</a>
<a id="8454" href="Function.Construct.Composition.html#8424" class="Function Operator">_↠-∘_</a> <a id="8460" class="Symbol">=</a> <a id="8462" href="Function.Base.html#1638" class="Function">flip</a> <a id="8467" href="Function.Construct.Composition.html#5755" class="Function">surjection</a>
<a id="_⤖-∘_"></a><a id="8479" href="Function.Construct.Composition.html#8479" class="Function Operator">_⤖-∘_</a> <a id="8485" class="Symbol">:</a> <a id="8487" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8489" href="Function.Bundles.html#11966" class="Function Operator"></a> <a id="8491" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="8493" class="Symbol"></a> <a id="8495" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8497" href="Function.Bundles.html#11966" class="Function Operator"></a> <a id="8499" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8501" class="Symbol"></a> <a id="8503" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8505" href="Function.Bundles.html#11966" class="Function Operator"></a> <a id="8507" href="Function.Construct.Composition.html#743" class="Generalizable">C</a>
<a id="8509" href="Function.Construct.Composition.html#8479" class="Function Operator">_⤖-∘_</a> <a id="8515" class="Symbol">=</a> <a id="8517" href="Function.Base.html#1638" class="Function">flip</a> <a id="8522" href="Function.Construct.Composition.html#6090" class="Function">bijection</a>
<a id="_⇔-∘_"></a><a id="8533" href="Function.Construct.Composition.html#8533" class="Function Operator">_⇔-∘_</a> <a id="8539" class="Symbol">:</a> <a id="8541" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8543" href="Function.Bundles.html#12039" class="Function Operator"></a> <a id="8545" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="8547" class="Symbol"></a> <a id="8549" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8551" href="Function.Bundles.html#12039" class="Function Operator"></a> <a id="8553" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8555" class="Symbol"></a> <a id="8557" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8559" href="Function.Bundles.html#12039" class="Function Operator"></a> <a id="8561" href="Function.Construct.Composition.html#743" class="Generalizable">C</a>
<a id="8563" href="Function.Construct.Composition.html#8533" class="Function Operator">_⇔-∘_</a> <a id="8569" class="Symbol">=</a> <a id="8571" href="Function.Base.html#1638" class="Function">flip</a> <a id="8576" href="Function.Construct.Composition.html#6407" class="Function">equivalence</a>
<a id="_↩-∘_"></a><a id="8589" href="Function.Construct.Composition.html#8589" class="Function Operator">_↩-∘_</a> <a id="8595" class="Symbol">:</a> <a id="8597" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8599" href="Function.Bundles.html#12114" class="Function Operator"></a> <a id="8601" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="8603" class="Symbol"></a> <a id="8605" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8607" href="Function.Bundles.html#12114" class="Function Operator"></a> <a id="8609" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8611" class="Symbol"></a> <a id="8613" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8615" href="Function.Bundles.html#12114" class="Function Operator"></a> <a id="8617" href="Function.Construct.Composition.html#743" class="Generalizable">C</a>
<a id="8619" href="Function.Construct.Composition.html#8589" class="Function Operator">_↩-∘_</a> <a id="8625" class="Symbol">=</a> <a id="8627" href="Function.Base.html#1638" class="Function">flip</a> <a id="8632" href="Function.Construct.Composition.html#6786" class="Function">leftInverse</a>
<a id="_↪-∘_"></a><a id="8645" href="Function.Construct.Composition.html#8645" class="Function Operator">_↪-∘_</a> <a id="8652" class="Symbol">:</a> <a id="8654" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8656" href="Function.Bundles.html#12189" class="Function Operator"></a> <a id="8658" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="8660" class="Symbol"></a> <a id="8662" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8664" href="Function.Bundles.html#12189" class="Function Operator"></a> <a id="8666" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8668" class="Symbol"></a> <a id="8670" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8672" href="Function.Bundles.html#12189" class="Function Operator"></a> <a id="8674" href="Function.Construct.Composition.html#743" class="Generalizable">C</a>
<a id="8676" href="Function.Construct.Composition.html#8645" class="Function Operator">_↪-∘_</a> <a id="8682" class="Symbol">=</a> <a id="8684" href="Function.Base.html#1638" class="Function">flip</a> <a id="8689" href="Function.Construct.Composition.html#7229" class="Function">rightInverse</a>
<a id="_↔-∘_"></a><a id="8703" href="Function.Construct.Composition.html#8703" class="Function Operator">_↔-∘_</a> <a id="8709" class="Symbol">:</a> <a id="8711" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8713" href="Function.Bundles.html#12340" class="Function Operator"></a> <a id="8715" href="Function.Construct.Composition.html#743" class="Generalizable">C</a> <a id="8717" class="Symbol"></a> <a id="8719" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8721" href="Function.Bundles.html#12340" class="Function Operator"></a> <a id="8723" href="Function.Construct.Composition.html#741" class="Generalizable">B</a> <a id="8725" class="Symbol"></a> <a id="8727" href="Function.Construct.Composition.html#739" class="Generalizable">A</a> <a id="8729" href="Function.Bundles.html#12340" class="Function Operator"></a> <a id="8731" href="Function.Construct.Composition.html#743" class="Generalizable">C</a>
<a id="8733" href="Function.Construct.Composition.html#8703" class="Function Operator">_↔-∘_</a> <a id="8739" class="Symbol">=</a> <a id="8741" href="Function.Base.html#1638" class="Function">flip</a> <a id="8746" href="Function.Construct.Composition.html#7679" class="Function">inverse</a>
<a id="8756" class="Comment">------------------------------------------------------------------------</a>
<a id="8829" class="Comment">-- DEPRECATED NAMES</a>
<a id="8849" class="Comment">------------------------------------------------------------------------</a>
<a id="8922" class="Comment">-- Please use the new names as continuing support for the old names is</a>
<a id="8993" class="Comment">-- not guaranteed.</a>
<a id="9013" class="Comment">-- Version v2.0</a>
<a id="9030" class="Keyword">infix</a> <a id="9036" class="Number">8</a> <a id="9038" href="Function.Construct.Composition.html#9087" class="Function Operator">_∘-⟶_</a> <a id="9044" href="Function.Construct.Composition.html#9200" class="Function Operator">_∘-↣_</a> <a id="9050" href="Function.Construct.Composition.html#9313" class="Function Operator">_∘-↠_</a> <a id="9056" href="Function.Construct.Composition.html#9426" class="Function Operator">_∘-⤖_</a> <a id="9062" href="Function.Construct.Composition.html#9539" class="Function Operator">_∘-⇔_</a> <a id="9068" href="Function.Construct.Composition.html#9652" class="Function Operator">_∘-↩_</a> <a id="9074" href="Function.Construct.Composition.html#9765" class="Function Operator">_∘-↪_</a> <a id="9080" href="Function.Construct.Composition.html#9878" class="Function Operator">_∘-↔_</a>
<a id="_∘-⟶_"></a><a id="9087" href="Function.Construct.Composition.html#9087" class="Function Operator">_∘-⟶_</a> <a id="9093" class="Symbol">=</a> <a id="9095" href="Function.Construct.Composition.html#8311" class="Function Operator">_⟶-∘_</a>
<a id="9101" class="Symbol">{-#</a> <a id="9105" class="Keyword">WARNING_ON_USAGE</a> <a id="9122" class="Pragma">_∘-⟶_</a>
<a id="9128" class="String">&quot;Warning: _∘-⟶_ was deprecated in v2.0.
Please use _⟶-∘_ instead.&quot;</a>
<a id="9195" class="Symbol">#-}</a>
<a id="_∘-↣_"></a><a id="9200" href="Function.Construct.Composition.html#9200" class="Function Operator">_∘-↣_</a> <a id="9206" class="Symbol">=</a> <a id="9208" href="Function.Construct.Composition.html#8370" class="Function Operator">_↣-∘_</a>
<a id="9214" class="Symbol">{-#</a> <a id="9218" class="Keyword">WARNING_ON_USAGE</a> <a id="9235" class="Pragma">_∘-↣_</a>
<a id="9241" class="String">&quot;Warning: _∘-↣_ was deprecated in v2.0.
Please use _↣-∘_ instead.&quot;</a>
<a id="9308" class="Symbol">#-}</a>
<a id="_∘-↠_"></a><a id="9313" href="Function.Construct.Composition.html#9313" class="Function Operator">_∘-↠_</a> <a id="9319" class="Symbol">=</a> <a id="9321" href="Function.Construct.Composition.html#8424" class="Function Operator">_↠-∘_</a>
<a id="9327" class="Symbol">{-#</a> <a id="9331" class="Keyword">WARNING_ON_USAGE</a> <a id="9348" class="Pragma">_∘-↠_</a>
<a id="9354" class="String">&quot;Warning: _∘-↠_ was deprecated in v2.0.
Please use _↠-∘_ instead.&quot;</a>
<a id="9421" class="Symbol">#-}</a>
<a id="_∘-⤖_"></a><a id="9426" href="Function.Construct.Composition.html#9426" class="Function Operator">_∘-⤖_</a> <a id="9432" class="Symbol">=</a> <a id="9434" href="Function.Construct.Composition.html#8479" class="Function Operator">_⤖-∘_</a>
<a id="9440" class="Symbol">{-#</a> <a id="9444" class="Keyword">WARNING_ON_USAGE</a> <a id="9461" class="Pragma">_∘-⤖_</a>
<a id="9467" class="String">&quot;Warning: _∘-⤖_ was deprecated in v2.0.
Please use _⤖-∘_ instead.&quot;</a>
<a id="9534" class="Symbol">#-}</a>
<a id="_∘-⇔_"></a><a id="9539" href="Function.Construct.Composition.html#9539" class="Function Operator">_∘-⇔_</a> <a id="9545" class="Symbol">=</a> <a id="9547" href="Function.Construct.Composition.html#8533" class="Function Operator">_⇔-∘_</a>
<a id="9553" class="Symbol">{-#</a> <a id="9557" class="Keyword">WARNING_ON_USAGE</a> <a id="9574" class="Pragma">_∘-⇔_</a>
<a id="9580" class="String">&quot;Warning: _∘-⇔_ was deprecated in v2.0.
Please use _⇔-∘_ instead.&quot;</a>
<a id="9647" class="Symbol">#-}</a>
<a id="_∘-↩_"></a><a id="9652" href="Function.Construct.Composition.html#9652" class="Function Operator">_∘-↩_</a> <a id="9658" class="Symbol">=</a> <a id="9660" href="Function.Construct.Composition.html#8589" class="Function Operator">_↩-∘_</a>
<a id="9666" class="Symbol">{-#</a> <a id="9670" class="Keyword">WARNING_ON_USAGE</a> <a id="9687" class="Pragma">_∘-↩_</a>
<a id="9693" class="String">&quot;Warning: _∘-↩_ was deprecated in v2.0.
Please use _↩-∘_ instead.&quot;</a>
<a id="9760" class="Symbol">#-}</a>
<a id="_∘-↪_"></a><a id="9765" href="Function.Construct.Composition.html#9765" class="Function Operator">_∘-↪_</a> <a id="9771" class="Symbol">=</a> <a id="9773" href="Function.Construct.Composition.html#8645" class="Function Operator">_↪-∘_</a>
<a id="9779" class="Symbol">{-#</a> <a id="9783" class="Keyword">WARNING_ON_USAGE</a> <a id="9800" class="Pragma">_∘-↪_</a>
<a id="9806" class="String">&quot;Warning: _∘-↪_ was deprecated in v2.0.
Please use _↪-∘_ instead.&quot;</a>
<a id="9873" class="Symbol">#-}</a>
<a id="_∘-↔_"></a><a id="9878" href="Function.Construct.Composition.html#9878" class="Function Operator">_∘-↔_</a> <a id="9884" class="Symbol">=</a> <a id="9886" href="Function.Construct.Composition.html#8703" class="Function Operator">_↔-∘_</a>
<a id="9892" class="Symbol">{-#</a> <a id="9896" class="Keyword">WARNING_ON_USAGE</a> <a id="9913" class="Pragma">_∘-↔_</a>
<a id="9919" class="String">&quot;Warning: _∘-↔_ was deprecated in v2.0.
Please use _↔-∘_ instead.&quot;</a>
<a id="9986" class="Symbol">#-}</a>
</pre></body></html>