bsc-leon-vatthauer/public/Function.Injection.html

80 lines
No EOL
22 KiB
HTML

<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Function.Injection</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">-- Injections</a>
<a id="120" class="Comment">------------------------------------------------------------------------</a>
<a id="194" class="Symbol">{-#</a> <a id="198" class="Keyword">OPTIONS</a> <a id="206" class="Pragma">--cubical-compatible</a> <a id="227" class="Pragma">--safe</a> <a id="234" class="Symbol">#-}</a>
<a id="239" class="Comment">-- Note: use of the standard function hierarchy is encouraged. The</a>
<a id="306" class="Comment">-- module `Function` re-exports `Injective`, `IsInjection` and</a>
<a id="369" class="Comment">-- `Injection`. The alternative definitions found in this file will</a>
<a id="437" class="Comment">-- eventually be deprecated.</a>
<a id="467" class="Keyword">module</a> <a id="474" href="Function.Injection.html" class="Module">Function.Injection</a> <a id="493" class="Keyword">where</a>
<a id="500" class="Keyword">open</a> <a id="505" class="Keyword">import</a> <a id="512" href="Function.html" class="Module">Function</a> <a id="521" class="Symbol">as</a> <a id="524" class="Module">Fun</a> <a id="528" class="Keyword">using</a> <a id="534" class="Symbol">()</a> <a id="537" class="Keyword">renaming</a> <a id="546" class="Symbol">(</a><a id="547" href="Function.Base.html#1040" class="Function Operator">_∘_</a> <a id="551" class="Symbol">to</a> <a id="554" class="Function Operator">_⟨∘⟩_</a><a id="559" class="Symbol">)</a>
<a id="561" class="Keyword">open</a> <a id="566" class="Keyword">import</a> <a id="573" href="Level.html" class="Module">Level</a>
<a id="579" class="Keyword">open</a> <a id="584" class="Keyword">import</a> <a id="591" href="Relation.Binary.html" class="Module">Relation.Binary</a>
<a id="607" class="Keyword">open</a> <a id="612" class="Keyword">import</a> <a id="619" href="Function.Equality.html" class="Module">Function.Equality</a> <a id="637" class="Symbol">as</a> <a id="640" class="Module">F</a>
<a id="644" class="Keyword">using</a> <a id="650" class="Symbol">(</a><a id="651" href="Function.Equality.html#1227" class="Function Operator">_⟶_</a><a id="654" class="Symbol">;</a> <a id="656" href="Function.Equality.html#1073" class="Field Operator">_⟨$⟩_</a> <a id="662" class="Symbol">;</a> <a id="664" href="Function.Equality.html#898" class="Record">Π</a><a id="665" class="Symbol">)</a> <a id="667" class="Keyword">renaming</a> <a id="676" class="Symbol">(</a><a id="677" href="Function.Equality.html#1540" class="Function Operator">_∘_</a> <a id="681" class="Symbol">to</a> <a id="684" class="Function Operator">_⟪∘⟫_</a><a id="689" class="Symbol">)</a>
<a id="691" class="Keyword">open</a> <a id="696" class="Keyword">import</a> <a id="703" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a> <a id="741" class="Symbol">as</a> <a id="744" class="Module">P</a> <a id="746" class="Keyword">using</a> <a id="752" class="Symbol">(</a><a id="753" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a><a id="756" class="Symbol">)</a>
<a id="759" class="Comment">------------------------------------------------------------------------</a>
<a id="832" class="Comment">-- Injective functions</a>
<a id="Injective"></a><a id="856" href="Function.Injection.html#856" class="Function">Injective</a> <a id="866" class="Symbol">:</a> <a id="868" class="Symbol"></a> <a id="870" class="Symbol">{</a><a id="871" href="Function.Injection.html#871" class="Bound">a₁</a> <a id="874" href="Function.Injection.html#874" class="Bound">a₂</a> <a id="877" href="Function.Injection.html#877" class="Bound">b₁</a> <a id="880" href="Function.Injection.html#880" class="Bound">b₂</a><a id="882" class="Symbol">}</a> <a id="884" class="Symbol">{</a><a id="885" href="Function.Injection.html#885" class="Bound">A</a> <a id="887" class="Symbol">:</a> <a id="889" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="896" href="Function.Injection.html#871" class="Bound">a₁</a> <a id="899" href="Function.Injection.html#874" class="Bound">a₂</a><a id="901" class="Symbol">}</a> <a id="903" class="Symbol">{</a><a id="904" href="Function.Injection.html#904" class="Bound">B</a> <a id="906" class="Symbol">:</a> <a id="908" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="915" href="Function.Injection.html#877" class="Bound">b₁</a> <a id="918" href="Function.Injection.html#880" class="Bound">b₂</a><a id="920" class="Symbol">}</a> <a id="922" class="Symbol"></a>
<a id="936" href="Function.Injection.html#885" class="Bound">A</a> <a id="938" href="Function.Equality.html#1227" class="Function Operator"></a> <a id="940" href="Function.Injection.html#904" class="Bound">B</a> <a id="942" class="Symbol"></a> <a id="944" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="948" class="Symbol">_</a>
<a id="950" href="Function.Injection.html#856" class="Function">Injective</a> <a id="960" class="Symbol">{</a><a id="961" class="Argument">A</a> <a id="963" class="Symbol">=</a> <a id="965" href="Function.Injection.html#965" class="Bound">A</a><a id="966" class="Symbol">}</a> <a id="968" class="Symbol">{</a><a id="969" href="Function.Injection.html#969" class="Bound">B</a><a id="970" class="Symbol">}</a> <a id="972" href="Function.Injection.html#972" class="Bound">f</a> <a id="974" class="Symbol">=</a> <a id="976" class="Symbol"></a> <a id="978" class="Symbol">{</a><a id="979" href="Function.Injection.html#979" class="Bound">x</a> <a id="981" href="Function.Injection.html#981" class="Bound">y</a><a id="982" class="Symbol">}</a> <a id="984" class="Symbol"></a> <a id="986" href="Function.Injection.html#972" class="Bound">f</a> <a id="988" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="992" href="Function.Injection.html#979" class="Bound">x</a> <a id="994" href="Function.Injection.html#1094" class="Function Operator">≈₂</a> <a id="997" href="Function.Injection.html#972" class="Bound">f</a> <a id="999" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="1003" href="Function.Injection.html#981" class="Bound">y</a> <a id="1005" class="Symbol"></a> <a id="1007" href="Function.Injection.html#979" class="Bound">x</a> <a id="1009" href="Function.Injection.html#1055" class="Function Operator">≈₁</a> <a id="1012" href="Function.Injection.html#981" class="Bound">y</a>
<a id="1016" class="Keyword">where</a>
<a id="1024" class="Keyword">open</a> <a id="1029" href="Relation.Binary.Bundles.html#1018" class="Module">Setoid</a> <a id="1036" href="Function.Injection.html#965" class="Bound">A</a> <a id="1038" class="Keyword">renaming</a> <a id="1047" class="Symbol">(</a><a id="1048" href="Relation.Binary.Bundles.html#1107" class="Field Operator">_≈_</a> <a id="1052" class="Symbol">to</a> <a id="1055" class="Field Operator">_≈₁_</a><a id="1059" class="Symbol">)</a>
<a id="1063" class="Keyword">open</a> <a id="1068" href="Relation.Binary.Bundles.html#1018" class="Module">Setoid</a> <a id="1075" href="Function.Injection.html#969" class="Bound">B</a> <a id="1077" class="Keyword">renaming</a> <a id="1086" class="Symbol">(</a><a id="1087" href="Relation.Binary.Bundles.html#1107" class="Field Operator">_≈_</a> <a id="1091" class="Symbol">to</a> <a id="1094" class="Field Operator">_≈₂_</a><a id="1098" class="Symbol">)</a>
<a id="1101" class="Comment">------------------------------------------------------------------------</a>
<a id="1174" class="Comment">-- The set of all injections between two setoids</a>
<a id="1224" class="Keyword">record</a> <a id="Injection"></a><a id="1231" href="Function.Injection.html#1231" class="Record">Injection</a> <a id="1241" class="Symbol">{</a><a id="1242" href="Function.Injection.html#1242" class="Bound">f₁</a> <a id="1245" href="Function.Injection.html#1245" class="Bound">f₂</a> <a id="1248" href="Function.Injection.html#1248" class="Bound">t₁</a> <a id="1251" href="Function.Injection.html#1251" class="Bound">t₂</a><a id="1253" class="Symbol">}</a>
<a id="1272" class="Symbol">(</a><a id="1273" href="Function.Injection.html#1273" class="Bound">From</a> <a id="1278" class="Symbol">:</a> <a id="1280" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="1287" href="Function.Injection.html#1242" class="Bound">f₁</a> <a id="1290" href="Function.Injection.html#1245" class="Bound">f₂</a><a id="1292" class="Symbol">)</a> <a id="1294" class="Symbol">(</a><a id="1295" href="Function.Injection.html#1295" class="Bound">To</a> <a id="1298" class="Symbol">:</a> <a id="1300" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="1307" href="Function.Injection.html#1248" class="Bound">t₁</a> <a id="1310" href="Function.Injection.html#1251" class="Bound">t₂</a><a id="1312" class="Symbol">)</a> <a id="1314" class="Symbol">:</a>
<a id="1333" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1337" class="Symbol">(</a><a id="1338" href="Function.Injection.html#1242" class="Bound">f₁</a> <a id="1341" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1343" href="Function.Injection.html#1245" class="Bound">f₂</a> <a id="1346" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1348" href="Function.Injection.html#1248" class="Bound">t₁</a> <a id="1351" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1353" href="Function.Injection.html#1251" class="Bound">t₂</a><a id="1355" class="Symbol">)</a> <a id="1357" class="Keyword">where</a>
<a id="1365" class="Keyword">field</a>
<a id="Injection.to"></a><a id="1375" href="Function.Injection.html#1375" class="Field">to</a> <a id="1385" class="Symbol">:</a> <a id="1387" href="Function.Injection.html#1273" class="Bound">From</a> <a id="1392" href="Function.Equality.html#1227" class="Function Operator"></a> <a id="1394" href="Function.Injection.html#1295" class="Bound">To</a>
<a id="Injection.injective"></a><a id="1401" href="Function.Injection.html#1401" class="Field">injective</a> <a id="1411" class="Symbol">:</a> <a id="1413" href="Function.Injection.html#856" class="Function">Injective</a> <a id="1423" href="Function.Injection.html#1375" class="Field">to</a>
<a id="1429" class="Keyword">open</a> <a id="1434" href="Function.Equality.html#898" class="Module">Π</a> <a id="1436" href="Function.Injection.html#1375" class="Field">to</a> <a id="1439" class="Keyword">public</a>
<a id="1447" class="Comment">------------------------------------------------------------------------</a>
<a id="1520" class="Comment">-- The set of all injections from one set to another (i.e. injections</a>
<a id="1590" class="Comment">-- with propositional equality)</a>
<a id="1623" class="Keyword">infix</a> <a id="1629" class="Number">3</a> <a id="1631" href="Function.Injection.html#1636" class="Function Operator">_↣_</a>
<a id="_↣_"></a><a id="1636" href="Function.Injection.html#1636" class="Function Operator">_↣_</a> <a id="1640" class="Symbol">:</a> <a id="1642" class="Symbol"></a> <a id="1644" class="Symbol">{</a><a id="1645" href="Function.Injection.html#1645" class="Bound">f</a> <a id="1647" href="Function.Injection.html#1647" class="Bound">t</a><a id="1648" class="Symbol">}</a> <a id="1650" class="Symbol"></a> <a id="1652" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1656" href="Function.Injection.html#1645" class="Bound">f</a> <a id="1658" class="Symbol"></a> <a id="1660" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1664" href="Function.Injection.html#1647" class="Bound">t</a> <a id="1666" class="Symbol"></a> <a id="1668" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1672" class="Symbol">_</a>
<a id="1674" href="Function.Injection.html#1674" class="Bound">From</a> <a id="1679" href="Function.Injection.html#1636" class="Function Operator"></a> <a id="1681" href="Function.Injection.html#1681" class="Bound">To</a> <a id="1684" class="Symbol">=</a> <a id="1686" href="Function.Injection.html#1231" class="Record">Injection</a> <a id="1696" class="Symbol">(</a><a id="1697" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">P.setoid</a> <a id="1706" href="Function.Injection.html#1674" class="Bound">From</a><a id="1710" class="Symbol">)</a> <a id="1712" class="Symbol">(</a><a id="1713" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">P.setoid</a> <a id="1722" href="Function.Injection.html#1681" class="Bound">To</a><a id="1724" class="Symbol">)</a>
<a id="injection"></a><a id="1727" href="Function.Injection.html#1727" class="Function">injection</a> <a id="1737" class="Symbol">:</a> <a id="1739" class="Symbol"></a> <a id="1741" class="Symbol">{</a><a id="1742" href="Function.Injection.html#1742" class="Bound">f</a> <a id="1744" href="Function.Injection.html#1744" class="Bound">t</a><a id="1745" class="Symbol">}</a> <a id="1747" class="Symbol">{</a><a id="1748" href="Function.Injection.html#1748" class="Bound">From</a> <a id="1753" class="Symbol">:</a> <a id="1755" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1759" href="Function.Injection.html#1742" class="Bound">f</a><a id="1760" class="Symbol">}</a> <a id="1762" class="Symbol">{</a><a id="1763" href="Function.Injection.html#1763" class="Bound">To</a> <a id="1766" class="Symbol">:</a> <a id="1768" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1772" href="Function.Injection.html#1744" class="Bound">t</a><a id="1773" class="Symbol">}</a> <a id="1775" class="Symbol"></a> <a id="1777" class="Symbol">(</a><a id="1778" href="Function.Injection.html#1778" class="Bound">to</a> <a id="1781" class="Symbol">:</a> <a id="1783" href="Function.Injection.html#1748" class="Bound">From</a> <a id="1788" class="Symbol"></a> <a id="1790" href="Function.Injection.html#1763" class="Bound">To</a><a id="1792" class="Symbol">)</a> <a id="1794" class="Symbol"></a>
<a id="1808" class="Symbol">(∀</a> <a id="1811" class="Symbol">{</a><a id="1812" href="Function.Injection.html#1812" class="Bound">x</a> <a id="1814" href="Function.Injection.html#1814" class="Bound">y</a><a id="1815" class="Symbol">}</a> <a id="1817" class="Symbol"></a> <a id="1819" href="Function.Injection.html#1778" class="Bound">to</a> <a id="1822" href="Function.Injection.html#1812" class="Bound">x</a> <a id="1824" href="Agda.Builtin.Equality.html#133" class="Datatype Operator"></a> <a id="1826" href="Function.Injection.html#1778" class="Bound">to</a> <a id="1829" href="Function.Injection.html#1814" class="Bound">y</a> <a id="1831" class="Symbol"></a> <a id="1833" href="Function.Injection.html#1812" class="Bound">x</a> <a id="1835" href="Agda.Builtin.Equality.html#133" class="Datatype Operator"></a> <a id="1837" href="Function.Injection.html#1814" class="Bound">y</a><a id="1838" class="Symbol">)</a> <a id="1840" class="Symbol"></a> <a id="1842" href="Function.Injection.html#1748" class="Bound">From</a> <a id="1847" href="Function.Injection.html#1636" class="Function Operator"></a> <a id="1849" href="Function.Injection.html#1763" class="Bound">To</a>
<a id="1852" href="Function.Injection.html#1727" class="Function">injection</a> <a id="1862" href="Function.Injection.html#1862" class="Bound">to</a> <a id="1865" href="Function.Injection.html#1865" class="Bound">injective</a> <a id="1875" class="Symbol">=</a> <a id="1877" class="Keyword">record</a>
<a id="1886" class="Symbol">{</a> <a id="1888" href="Function.Injection.html#1375" class="Field">to</a> <a id="1898" class="Symbol">=</a> <a id="1900" href="Relation.Binary.PropositionalEquality.html#1807" class="Function">P.→-to-⟶</a> <a id="1909" href="Function.Injection.html#1862" class="Bound">to</a>
<a id="1914" class="Symbol">;</a> <a id="1916" href="Function.Injection.html#1401" class="Field">injective</a> <a id="1926" class="Symbol">=</a> <a id="1928" href="Function.Injection.html#1865" class="Bound">injective</a>
<a id="1940" class="Symbol">}</a>
<a id="1943" class="Comment">------------------------------------------------------------------------</a>
<a id="2016" class="Comment">-- Identity and composition.</a>
<a id="2046" class="Keyword">infixr</a> <a id="2053" class="Number">9</a> <a id="2055" href="Function.Injection.html#2171" class="Function Operator">_∘_</a>
<a id="id"></a><a id="2060" href="Function.Injection.html#2060" class="Function">id</a> <a id="2063" class="Symbol">:</a> <a id="2065" class="Symbol"></a> <a id="2067" class="Symbol">{</a><a id="2068" href="Function.Injection.html#2068" class="Bound">s₁</a> <a id="2071" href="Function.Injection.html#2071" class="Bound">s₂</a><a id="2073" class="Symbol">}</a> <a id="2075" class="Symbol">{</a><a id="2076" href="Function.Injection.html#2076" class="Bound">S</a> <a id="2078" class="Symbol">:</a> <a id="2080" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="2087" href="Function.Injection.html#2068" class="Bound">s₁</a> <a id="2090" href="Function.Injection.html#2071" class="Bound">s₂</a><a id="2092" class="Symbol">}</a> <a id="2094" class="Symbol"></a> <a id="2096" href="Function.Injection.html#1231" class="Record">Injection</a> <a id="2106" href="Function.Injection.html#2076" class="Bound">S</a> <a id="2108" href="Function.Injection.html#2076" class="Bound">S</a>
<a id="2110" href="Function.Injection.html#2060" class="Function">id</a> <a id="2113" class="Symbol">=</a> <a id="2115" class="Keyword">record</a>
<a id="2124" class="Symbol">{</a> <a id="2126" href="Function.Injection.html#1375" class="Field">to</a> <a id="2136" class="Symbol">=</a> <a id="2138" href="Function.Equality.html#1437" class="Function">F.id</a>
<a id="2145" class="Symbol">;</a> <a id="2147" href="Function.Injection.html#1401" class="Field">injective</a> <a id="2157" class="Symbol">=</a> <a id="2159" href="Function.Base.html#624" class="Function">Fun.id</a>
<a id="2168" class="Symbol">}</a>
<a id="_∘_"></a><a id="2171" href="Function.Injection.html#2171" class="Function Operator">_∘_</a> <a id="2175" class="Symbol">:</a> <a id="2177" class="Symbol"></a> <a id="2179" class="Symbol">{</a><a id="2180" href="Function.Injection.html#2180" class="Bound">f₁</a> <a id="2183" href="Function.Injection.html#2183" class="Bound">f₂</a> <a id="2186" href="Function.Injection.html#2186" class="Bound">m₁</a> <a id="2189" href="Function.Injection.html#2189" class="Bound">m₂</a> <a id="2192" href="Function.Injection.html#2192" class="Bound">t₁</a> <a id="2195" href="Function.Injection.html#2195" class="Bound">t₂</a><a id="2197" class="Symbol">}</a>
<a id="2207" class="Symbol">{</a><a id="2208" href="Function.Injection.html#2208" class="Bound">F</a> <a id="2210" class="Symbol">:</a> <a id="2212" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="2219" href="Function.Injection.html#2180" class="Bound">f₁</a> <a id="2222" href="Function.Injection.html#2183" class="Bound">f₂</a><a id="2224" class="Symbol">}</a> <a id="2226" class="Symbol">{</a><a id="2227" href="Function.Injection.html#2227" class="Bound">M</a> <a id="2229" class="Symbol">:</a> <a id="2231" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="2238" href="Function.Injection.html#2186" class="Bound">m₁</a> <a id="2241" href="Function.Injection.html#2189" class="Bound">m₂</a><a id="2243" class="Symbol">}</a> <a id="2245" class="Symbol">{</a><a id="2246" href="Function.Injection.html#2246" class="Bound">T</a> <a id="2248" class="Symbol">:</a> <a id="2250" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="2257" href="Function.Injection.html#2192" class="Bound">t₁</a> <a id="2260" href="Function.Injection.html#2195" class="Bound">t₂</a><a id="2262" class="Symbol">}</a> <a id="2264" class="Symbol"></a>
<a id="2272" href="Function.Injection.html#1231" class="Record">Injection</a> <a id="2282" href="Function.Injection.html#2227" class="Bound">M</a> <a id="2284" href="Function.Injection.html#2246" class="Bound">T</a> <a id="2286" class="Symbol"></a> <a id="2288" href="Function.Injection.html#1231" class="Record">Injection</a> <a id="2298" href="Function.Injection.html#2208" class="Bound">F</a> <a id="2300" href="Function.Injection.html#2227" class="Bound">M</a> <a id="2302" class="Symbol"></a> <a id="2304" href="Function.Injection.html#1231" class="Record">Injection</a> <a id="2314" href="Function.Injection.html#2208" class="Bound">F</a> <a id="2316" href="Function.Injection.html#2246" class="Bound">T</a>
<a id="2318" href="Function.Injection.html#2318" class="Bound">f</a> <a id="2320" href="Function.Injection.html#2171" class="Function Operator"></a> <a id="2322" href="Function.Injection.html#2322" class="Bound">g</a> <a id="2324" class="Symbol">=</a> <a id="2326" class="Keyword">record</a>
<a id="2335" class="Symbol">{</a> <a id="2337" href="Function.Injection.html#1375" class="Field">to</a> <a id="2347" class="Symbol">=</a> <a id="2358" href="Function.Injection.html#1375" class="Field">to</a> <a id="2368" href="Function.Injection.html#2318" class="Bound">f</a> <a id="2371" href="Function.Injection.html#684" class="Function Operator">⟪∘⟫</a> <a id="2375" href="Function.Injection.html#1375" class="Field">to</a> <a id="2385" href="Function.Injection.html#2322" class="Bound">g</a>
<a id="2389" class="Symbol">;</a> <a id="2391" href="Function.Injection.html#1401" class="Field">injective</a> <a id="2401" class="Symbol">=</a> <a id="2403" class="Symbol"></a> <a id="2406" class="Symbol">{</a><a id="2407" href="Function.Injection.html#2407" class="Bound">_</a><a id="2408" class="Symbol">}</a> <a id="2410" class="Symbol"></a> <a id="2412" href="Function.Injection.html#1401" class="Field">injective</a> <a id="2422" href="Function.Injection.html#2322" class="Bound">g</a><a id="2423" class="Symbol">)</a> <a id="2425" href="Function.Injection.html#554" class="Function Operator">⟨∘⟩</a> <a id="2429" href="Function.Injection.html#1401" class="Field">injective</a> <a id="2439" href="Function.Injection.html#2318" class="Bound">f</a>
<a id="2443" class="Symbol">}</a> <a id="2445" class="Keyword">where</a> <a id="2451" class="Keyword">open</a> <a id="2456" href="Function.Injection.html#1231" class="Module">Injection</a>
</pre></body></html>