mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
424 lines
105 KiB
HTML
424 lines
105 KiB
HTML
|
<!DOCTYPE HTML>
|
|||
|
<html><head><meta charset="utf-8"><title>Function.Bundles</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">-- Bundles for types of functions</a>
|
|||
|
<a id="140" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="214" class="Comment">-- The contents of this file should usually be accessed from `Function`.</a>
|
|||
|
|
|||
|
<a id="288" class="Comment">-- Note that these bundles differ from those found elsewhere in other</a>
|
|||
|
<a id="358" class="Comment">-- library hierarchies as they take Setoids as parameters. This is</a>
|
|||
|
<a id="425" class="Comment">-- because a function is of no use without knowing what its domain and</a>
|
|||
|
<a id="496" class="Comment">-- codomain is, as well which equalities are being considered over them.</a>
|
|||
|
<a id="569" class="Comment">-- One consequence of this is that they are not built from the</a>
|
|||
|
<a id="632" class="Comment">-- definitions found in `Function.Structures` as is usually the case in</a>
|
|||
|
<a id="704" class="Comment">-- other library hierarchies, as this would duplicate the equality</a>
|
|||
|
<a id="771" class="Comment">-- axioms.</a>
|
|||
|
|
|||
|
<a id="783" class="Symbol">{-#</a> <a id="787" class="Keyword">OPTIONS</a> <a id="795" class="Pragma">--cubical-compatible</a> <a id="816" class="Pragma">--safe</a> <a id="823" class="Symbol">#-}</a>
|
|||
|
|
|||
|
<a id="828" class="Keyword">module</a> <a id="835" href="Function.Bundles.html" class="Module">Function.Bundles</a> <a id="852" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="859" class="Keyword">import</a> <a id="866" href="Function.Definitions.html" class="Module">Function.Definitions</a> <a id="887" class="Symbol">as</a> <a id="890" class="Module">FunctionDefinitions</a>
|
|||
|
<a id="910" class="Keyword">import</a> <a id="917" href="Function.Structures.html" class="Module">Function.Structures</a> <a id="937" class="Symbol">as</a> <a id="940" class="Module">FunctionStructures</a>
|
|||
|
<a id="959" class="Keyword">open</a> <a id="964" class="Keyword">import</a> <a id="971" href="Level.html" class="Module">Level</a> <a id="977" class="Keyword">using</a> <a id="983" class="Symbol">(</a><a id="984" href="Agda.Primitive.html#591" class="Postulate">Level</a><a id="989" class="Symbol">;</a> <a id="991" href="Agda.Primitive.html#804" class="Primitive Operator">_⊔_</a><a id="994" class="Symbol">;</a> <a id="996" href="Agda.Primitive.html#774" class="Primitive">suc</a><a id="999" class="Symbol">)</a>
|
|||
|
<a id="1001" class="Keyword">open</a> <a id="1006" class="Keyword">import</a> <a id="1013" href="Data.Product.html" class="Module">Data.Product</a> <a id="1026" class="Keyword">using</a> <a id="1032" class="Symbol">(</a><a id="1033" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="1036" class="Symbol">;</a> <a id="1038" href="Agda.Builtin.Sigma.html#234" class="Field">proj₁</a><a id="1043" class="Symbol">;</a> <a id="1045" href="Agda.Builtin.Sigma.html#246" class="Field">proj₂</a><a id="1050" class="Symbol">)</a>
|
|||
|
<a id="1052" class="Keyword">open</a> <a id="1057" class="Keyword">import</a> <a id="1064" href="Relation.Binary.html" class="Module">Relation.Binary</a> <a id="1080" class="Keyword">hiding</a> <a id="1087" class="Symbol">(</a><a id="1088" href="Relation.Binary.Core.html#1334" class="Function Operator">_⇔_</a><a id="1091" class="Symbol">)</a>
|
|||
|
<a id="1093" class="Keyword">open</a> <a id="1098" class="Keyword">import</a> <a id="1105" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a> <a id="1143" class="Symbol">as</a> <a id="1146" class="Module">≡</a>
|
|||
|
<a id="1150" class="Keyword">using</a> <a id="1156" class="Symbol">(</a><a id="1157" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a><a id="1160" class="Symbol">)</a>
|
|||
|
<a id="1162" class="Keyword">open</a> <a id="1167" href="Relation.Binary.Bundles.html#1018" class="Module">Setoid</a> <a id="1174" class="Keyword">using</a> <a id="1180" class="Symbol">(</a><a id="1181" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a><a id="1194" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="1197" class="Keyword">private</a>
|
|||
|
<a id="1207" class="Keyword">variable</a>
|
|||
|
<a id="1220" href="Function.Bundles.html#1220" class="Generalizable">a</a> <a id="1222" href="Function.Bundles.html#1222" class="Generalizable">b</a> <a id="1224" href="Function.Bundles.html#1224" class="Generalizable">ℓ₁</a> <a id="1227" href="Function.Bundles.html#1227" class="Generalizable">ℓ₂</a> <a id="1230" class="Symbol">:</a> <a id="1232" href="Agda.Primitive.html#591" class="Postulate">Level</a>
|
|||
|
|
|||
|
<a id="1239" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1312" class="Comment">-- Setoid bundles</a>
|
|||
|
<a id="1330" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="1404" class="Keyword">module</a> <a id="1411" href="Function.Bundles.html#1411" class="Module">_</a> <a id="1413" class="Symbol">(</a><a id="1414" href="Function.Bundles.html#1414" class="Bound">From</a> <a id="1419" class="Symbol">:</a> <a id="1421" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="1428" href="Function.Bundles.html#1220" class="Generalizable">a</a> <a id="1430" href="Function.Bundles.html#1224" class="Generalizable">ℓ₁</a><a id="1432" class="Symbol">)</a> <a id="1434" class="Symbol">(</a><a id="1435" href="Function.Bundles.html#1435" class="Bound">To</a> <a id="1438" class="Symbol">:</a> <a id="1440" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="1447" href="Function.Bundles.html#1222" class="Generalizable">b</a> <a id="1449" href="Function.Bundles.html#1227" class="Generalizable">ℓ₂</a><a id="1451" class="Symbol">)</a> <a id="1453" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="1462" class="Keyword">open</a> <a id="1467" href="Relation.Binary.Bundles.html#1018" class="Module">Setoid</a> <a id="1474" href="Function.Bundles.html#1414" class="Bound">From</a> <a id="1479" class="Keyword">using</a> <a id="1485" class="Symbol">()</a> <a id="1488" class="Keyword">renaming</a> <a id="1497" class="Symbol">(</a><a id="1498" href="Relation.Binary.Bundles.html#1081" class="Field">Carrier</a> <a id="1506" class="Symbol">to</a> <a id="1509" class="Field">A</a><a id="1510" class="Symbol">;</a> <a id="1512" href="Relation.Binary.Bundles.html#1107" class="Field Operator">_≈_</a> <a id="1516" class="Symbol">to</a> <a id="1519" class="Field Operator">_≈₁_</a><a id="1523" class="Symbol">)</a>
|
|||
|
<a id="1527" class="Keyword">open</a> <a id="1532" href="Relation.Binary.Bundles.html#1018" class="Module">Setoid</a> <a id="1539" href="Function.Bundles.html#1435" class="Bound">To</a> <a id="1544" class="Keyword">using</a> <a id="1550" class="Symbol">()</a> <a id="1553" class="Keyword">renaming</a> <a id="1562" class="Symbol">(</a><a id="1563" href="Relation.Binary.Bundles.html#1081" class="Field">Carrier</a> <a id="1571" class="Symbol">to</a> <a id="1574" class="Field">B</a><a id="1575" class="Symbol">;</a> <a id="1577" href="Relation.Binary.Bundles.html#1107" class="Field Operator">_≈_</a> <a id="1581" class="Symbol">to</a> <a id="1584" class="Field Operator">_≈₂_</a><a id="1588" class="Symbol">)</a>
|
|||
|
<a id="1592" class="Keyword">open</a> <a id="1597" href="Function.Definitions.html" class="Module">FunctionDefinitions</a> <a id="1617" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="1622" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
<a id="1629" class="Keyword">open</a> <a id="1634" href="Function.Structures.html" class="Module">FunctionStructures</a> <a id="1654" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="1659" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
|
|||
|
<a id="1665" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1738" class="Comment">-- Bundles with one element</a>
|
|||
|
|
|||
|
<a id="1769" class="Comment">-- Called `Func` rather than `Function` in order to avoid clashing</a>
|
|||
|
<a id="1838" class="Comment">-- with the top-level module.</a>
|
|||
|
<a id="1870" class="Keyword">record</a> <a id="1877" href="Function.Bundles.html#1877" class="Record">Func</a> <a id="1882" class="Symbol">:</a> <a id="1884" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1888" class="Symbol">(</a><a id="1889" href="Function.Bundles.html#1428" class="Bound">a</a> <a id="1891" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1893" href="Function.Bundles.html#1447" class="Bound">b</a> <a id="1895" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1897" href="Function.Bundles.html#1430" class="Bound">ℓ₁</a> <a id="1900" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1902" href="Function.Bundles.html#1449" class="Bound">ℓ₂</a><a id="1904" class="Symbol">)</a> <a id="1906" class="Keyword">where</a>
|
|||
|
<a id="1916" class="Keyword">field</a>
|
|||
|
<a id="1928" href="Function.Bundles.html#1928" class="Field">f</a> <a id="1933" class="Symbol">:</a> <a id="1935" href="Function.Bundles.html#1509" class="Function">A</a> <a id="1937" class="Symbol">→</a> <a id="1939" href="Function.Bundles.html#1574" class="Field">B</a>
|
|||
|
<a id="1947" href="Function.Bundles.html#1947" class="Field">cong</a> <a id="1952" class="Symbol">:</a> <a id="1954" href="Function.Bundles.html#1928" class="Field">f</a> <a id="1956" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="1966" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="1971" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="1973" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
|
|||
|
<a id="1983" href="Function.Bundles.html#1983" class="Function">isCongruent</a> <a id="1995" class="Symbol">:</a> <a id="1997" href="Function.Structures.html#850" class="Record">IsCongruent</a> <a id="2009" href="Function.Bundles.html#1928" class="Field">f</a>
|
|||
|
<a id="2015" href="Function.Bundles.html#1983" class="Function">isCongruent</a> <a id="2027" class="Symbol">=</a> <a id="2029" class="Keyword">record</a>
|
|||
|
<a id="2042" class="Symbol">{</a> <a id="2044" href="Function.Structures.html#916" class="Field">cong</a> <a id="2059" class="Symbol">=</a> <a id="2061" href="Function.Bundles.html#1947" class="Field">cong</a>
|
|||
|
<a id="2072" class="Symbol">;</a> <a id="2074" href="Function.Structures.html#959" class="Field">isEquivalence₁</a> <a id="2089" class="Symbol">=</a> <a id="2091" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="2105" href="Function.Bundles.html#1414" class="Bound">From</a>
|
|||
|
<a id="2116" class="Symbol">;</a> <a id="2118" href="Function.Structures.html#999" class="Field">isEquivalence₂</a> <a id="2133" class="Symbol">=</a> <a id="2135" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="2149" href="Function.Bundles.html#1435" class="Bound">To</a>
|
|||
|
<a id="2158" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="2165" class="Keyword">open</a> <a id="2170" href="Function.Structures.html#850" class="Module">IsCongruent</a> <a id="2182" href="Function.Bundles.html#1983" class="Function">isCongruent</a> <a id="2194" class="Keyword">public</a>
|
|||
|
<a id="2207" class="Keyword">using</a> <a id="2213" class="Symbol">(</a><a id="2214" class="Keyword">module</a> <a id="2221" href="Function.Structures.html#1045" class="Module">Eq₁</a><a id="2224" class="Symbol">;</a> <a id="2226" class="Keyword">module</a> <a id="2233" href="Function.Structures.html#1189" class="Module">Eq₂</a><a id="2236" class="Symbol">)</a>
|
|||
|
|
|||
|
|
|||
|
<a id="2242" class="Keyword">record</a> <a id="2249" href="Function.Bundles.html#2249" class="Record">Injection</a> <a id="2259" class="Symbol">:</a> <a id="2261" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2265" class="Symbol">(</a><a id="2266" href="Function.Bundles.html#1428" class="Bound">a</a> <a id="2268" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="2270" href="Function.Bundles.html#1447" class="Bound">b</a> <a id="2272" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="2274" href="Function.Bundles.html#1430" class="Bound">ℓ₁</a> <a id="2277" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="2279" href="Function.Bundles.html#1449" class="Bound">ℓ₂</a><a id="2281" class="Symbol">)</a> <a id="2283" class="Keyword">where</a>
|
|||
|
<a id="2293" class="Keyword">field</a>
|
|||
|
<a id="2305" href="Function.Bundles.html#2305" class="Field">f</a> <a id="2317" class="Symbol">:</a> <a id="2319" href="Function.Bundles.html#1509" class="Function">A</a> <a id="2321" class="Symbol">→</a> <a id="2323" href="Function.Bundles.html#1574" class="Field">B</a>
|
|||
|
<a id="2331" href="Function.Bundles.html#2331" class="Field">cong</a> <a id="2343" class="Symbol">:</a> <a id="2345" href="Function.Bundles.html#2305" class="Field">f</a> <a id="2347" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="2357" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="2362" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="2364" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
<a id="2375" href="Function.Bundles.html#2375" class="Field">injective</a> <a id="2387" class="Symbol">:</a> <a id="2389" href="Function.Definitions.html#898" class="Function">Injective</a> <a id="2399" href="Function.Bundles.html#2305" class="Field">f</a>
|
|||
|
|
|||
|
<a id="2406" href="Function.Bundles.html#2406" class="Function">function</a> <a id="2415" class="Symbol">:</a> <a id="2417" href="Function.Bundles.html#1877" class="Record">Func</a>
|
|||
|
<a id="2426" href="Function.Bundles.html#2406" class="Function">function</a> <a id="2435" class="Symbol">=</a> <a id="2437" class="Keyword">record</a>
|
|||
|
<a id="2450" class="Symbol">{</a> <a id="2452" href="Function.Bundles.html#1928" class="Field">f</a> <a id="2457" class="Symbol">=</a> <a id="2459" href="Function.Bundles.html#2305" class="Field">f</a>
|
|||
|
<a id="2467" class="Symbol">;</a> <a id="2469" href="Function.Bundles.html#1947" class="Field">cong</a> <a id="2474" class="Symbol">=</a> <a id="2476" href="Function.Bundles.html#2331" class="Field">cong</a>
|
|||
|
<a id="2487" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="2494" class="Keyword">open</a> <a id="2499" href="Function.Bundles.html#1877" class="Module">Func</a> <a id="2504" href="Function.Bundles.html#2406" class="Function">function</a> <a id="2513" class="Keyword">public</a>
|
|||
|
<a id="2526" class="Keyword">hiding</a> <a id="2533" class="Symbol">(</a><a id="2534" href="Function.Bundles.html#1928" class="Field">f</a><a id="2535" class="Symbol">;</a> <a id="2537" href="Function.Bundles.html#1947" class="Field">cong</a><a id="2541" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="2548" href="Function.Bundles.html#2548" class="Function">isInjection</a> <a id="2560" class="Symbol">:</a> <a id="2562" href="Function.Structures.html#1332" class="Record">IsInjection</a> <a id="2574" href="Function.Bundles.html#2305" class="Field">f</a>
|
|||
|
<a id="2580" href="Function.Bundles.html#2548" class="Function">isInjection</a> <a id="2592" class="Symbol">=</a> <a id="2594" class="Keyword">record</a>
|
|||
|
<a id="2607" class="Symbol">{</a> <a id="2609" href="Function.Structures.html#1398" class="Field">isCongruent</a> <a id="2621" class="Symbol">=</a> <a id="2623" href="Function.Bundles.html#1983" class="Function">isCongruent</a>
|
|||
|
<a id="2641" class="Symbol">;</a> <a id="2643" href="Function.Structures.html#1430" class="Field">injective</a> <a id="2655" class="Symbol">=</a> <a id="2657" href="Function.Bundles.html#2375" class="Field">injective</a>
|
|||
|
<a id="2673" class="Symbol">}</a>
|
|||
|
|
|||
|
|
|||
|
<a id="2679" class="Keyword">record</a> <a id="2686" href="Function.Bundles.html#2686" class="Record">Surjection</a> <a id="2697" class="Symbol">:</a> <a id="2699" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2703" class="Symbol">(</a><a id="2704" href="Function.Bundles.html#1428" class="Bound">a</a> <a id="2706" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="2708" href="Function.Bundles.html#1447" class="Bound">b</a> <a id="2710" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="2712" href="Function.Bundles.html#1430" class="Bound">ℓ₁</a> <a id="2715" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="2717" href="Function.Bundles.html#1449" class="Bound">ℓ₂</a><a id="2719" class="Symbol">)</a> <a id="2721" class="Keyword">where</a>
|
|||
|
<a id="2731" class="Keyword">field</a>
|
|||
|
<a id="2743" href="Function.Bundles.html#2743" class="Field">f</a> <a id="2754" class="Symbol">:</a> <a id="2756" href="Function.Bundles.html#1509" class="Function">A</a> <a id="2758" class="Symbol">→</a> <a id="2760" href="Function.Bundles.html#1574" class="Field">B</a>
|
|||
|
<a id="2768" href="Function.Bundles.html#2768" class="Field">cong</a> <a id="2779" class="Symbol">:</a> <a id="2781" href="Function.Bundles.html#2743" class="Field">f</a> <a id="2783" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="2793" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="2798" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="2800" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
<a id="2811" href="Function.Bundles.html#2811" class="Field">surjective</a> <a id="2822" class="Symbol">:</a> <a id="2824" href="Function.Definitions.Core2.html#672" class="Function">Surjective</a> <a id="2835" href="Function.Bundles.html#2743" class="Field">f</a>
|
|||
|
|
|||
|
<a id="2842" href="Function.Bundles.html#2842" class="Function">isCongruent</a> <a id="2854" class="Symbol">:</a> <a id="2856" href="Function.Structures.html#850" class="Record">IsCongruent</a> <a id="2868" href="Function.Bundles.html#2743" class="Field">f</a>
|
|||
|
<a id="2874" href="Function.Bundles.html#2842" class="Function">isCongruent</a> <a id="2886" class="Symbol">=</a> <a id="2888" class="Keyword">record</a>
|
|||
|
<a id="2901" class="Symbol">{</a> <a id="2903" href="Function.Structures.html#916" class="Field">cong</a> <a id="2918" class="Symbol">=</a> <a id="2920" href="Function.Bundles.html#2768" class="Field">cong</a>
|
|||
|
<a id="2931" class="Symbol">;</a> <a id="2933" href="Function.Structures.html#959" class="Field">isEquivalence₁</a> <a id="2948" class="Symbol">=</a> <a id="2950" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="2964" href="Function.Bundles.html#1414" class="Bound">From</a>
|
|||
|
<a id="2975" class="Symbol">;</a> <a id="2977" href="Function.Structures.html#999" class="Field">isEquivalence₂</a> <a id="2992" class="Symbol">=</a> <a id="2994" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="3008" href="Function.Bundles.html#1435" class="Bound">To</a>
|
|||
|
<a id="3017" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3024" class="Keyword">open</a> <a id="3029" href="Function.Structures.html#850" class="Module">IsCongruent</a> <a id="3041" href="Function.Bundles.html#2842" class="Function">isCongruent</a> <a id="3053" class="Keyword">public</a> <a id="3060" class="Keyword">using</a> <a id="3066" class="Symbol">(</a><a id="3067" class="Keyword">module</a> <a id="3074" href="Function.Structures.html#1045" class="Module">Eq₁</a><a id="3077" class="Symbol">;</a> <a id="3079" class="Keyword">module</a> <a id="3086" href="Function.Structures.html#1189" class="Module">Eq₂</a><a id="3089" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="3096" href="Function.Bundles.html#3096" class="Function">isSurjection</a> <a id="3109" class="Symbol">:</a> <a id="3111" href="Function.Structures.html#1514" class="Record">IsSurjection</a> <a id="3124" href="Function.Bundles.html#2743" class="Field">f</a>
|
|||
|
<a id="3130" href="Function.Bundles.html#3096" class="Function">isSurjection</a> <a id="3143" class="Symbol">=</a> <a id="3145" class="Keyword">record</a>
|
|||
|
<a id="3158" class="Symbol">{</a> <a id="3160" href="Function.Structures.html#1581" class="Field">isCongruent</a> <a id="3172" class="Symbol">=</a> <a id="3174" href="Function.Bundles.html#2842" class="Function">isCongruent</a>
|
|||
|
<a id="3192" class="Symbol">;</a> <a id="3194" href="Function.Structures.html#1613" class="Field">surjective</a> <a id="3206" class="Symbol">=</a> <a id="3208" href="Function.Bundles.html#2811" class="Field">surjective</a>
|
|||
|
<a id="3225" class="Symbol">}</a>
|
|||
|
|
|||
|
|
|||
|
<a id="3231" class="Keyword">record</a> <a id="3238" href="Function.Bundles.html#3238" class="Record">Bijection</a> <a id="3248" class="Symbol">:</a> <a id="3250" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="3254" class="Symbol">(</a><a id="3255" href="Function.Bundles.html#1428" class="Bound">a</a> <a id="3257" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="3259" href="Function.Bundles.html#1447" class="Bound">b</a> <a id="3261" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="3263" href="Function.Bundles.html#1430" class="Bound">ℓ₁</a> <a id="3266" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="3268" href="Function.Bundles.html#1449" class="Bound">ℓ₂</a><a id="3270" class="Symbol">)</a> <a id="3272" class="Keyword">where</a>
|
|||
|
<a id="3282" class="Keyword">field</a>
|
|||
|
<a id="3294" href="Function.Bundles.html#3294" class="Field">f</a> <a id="3304" class="Symbol">:</a> <a id="3306" href="Function.Bundles.html#1509" class="Function">A</a> <a id="3308" class="Symbol">→</a> <a id="3310" href="Function.Bundles.html#1574" class="Field">B</a>
|
|||
|
<a id="3318" href="Function.Bundles.html#3318" class="Field">cong</a> <a id="3328" class="Symbol">:</a> <a id="3330" href="Function.Bundles.html#3294" class="Field">f</a> <a id="3332" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="3342" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="3347" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="3349" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
<a id="3360" href="Function.Bundles.html#3360" class="Field">bijective</a> <a id="3370" class="Symbol">:</a> <a id="3372" href="Function.Definitions.html#1028" class="Function">Bijective</a> <a id="3382" href="Function.Bundles.html#3294" class="Field">f</a>
|
|||
|
|
|||
|
<a id="3389" href="Function.Bundles.html#3389" class="Function">injective</a> <a id="3399" class="Symbol">:</a> <a id="3401" href="Function.Definitions.html#898" class="Function">Injective</a> <a id="3411" href="Function.Bundles.html#3294" class="Field">f</a>
|
|||
|
<a id="3417" href="Function.Bundles.html#3389" class="Function">injective</a> <a id="3427" class="Symbol">=</a> <a id="3429" href="Agda.Builtin.Sigma.html#234" class="Field">proj₁</a> <a id="3435" href="Function.Bundles.html#3360" class="Field">bijective</a>
|
|||
|
|
|||
|
<a id="3450" href="Function.Bundles.html#3450" class="Function">surjective</a> <a id="3461" class="Symbol">:</a> <a id="3463" href="Function.Definitions.Core2.html#672" class="Function">Surjective</a> <a id="3474" href="Function.Bundles.html#3294" class="Field">f</a>
|
|||
|
<a id="3480" href="Function.Bundles.html#3450" class="Function">surjective</a> <a id="3491" class="Symbol">=</a> <a id="3493" href="Agda.Builtin.Sigma.html#246" class="Field">proj₂</a> <a id="3499" href="Function.Bundles.html#3360" class="Field">bijective</a>
|
|||
|
|
|||
|
<a id="3514" href="Function.Bundles.html#3514" class="Function">injection</a> <a id="3524" class="Symbol">:</a> <a id="3526" href="Function.Bundles.html#2249" class="Record">Injection</a>
|
|||
|
<a id="3540" href="Function.Bundles.html#3514" class="Function">injection</a> <a id="3550" class="Symbol">=</a> <a id="3552" class="Keyword">record</a>
|
|||
|
<a id="3565" class="Symbol">{</a> <a id="3567" href="Function.Bundles.html#2331" class="Field">cong</a> <a id="3577" class="Symbol">=</a> <a id="3579" href="Function.Bundles.html#3318" class="Field">cong</a>
|
|||
|
<a id="3590" class="Symbol">;</a> <a id="3592" href="Function.Bundles.html#2375" class="Field">injective</a> <a id="3602" class="Symbol">=</a> <a id="3604" href="Function.Bundles.html#3389" class="Function">injective</a>
|
|||
|
<a id="3620" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3627" href="Function.Bundles.html#3627" class="Function">surjection</a> <a id="3638" class="Symbol">:</a> <a id="3640" href="Function.Bundles.html#2686" class="Record">Surjection</a>
|
|||
|
<a id="3655" href="Function.Bundles.html#3627" class="Function">surjection</a> <a id="3666" class="Symbol">=</a> <a id="3668" class="Keyword">record</a>
|
|||
|
<a id="3681" class="Symbol">{</a> <a id="3683" href="Function.Bundles.html#2768" class="Field">cong</a> <a id="3694" class="Symbol">=</a> <a id="3696" href="Function.Bundles.html#3318" class="Field">cong</a>
|
|||
|
<a id="3707" class="Symbol">;</a> <a id="3709" href="Function.Bundles.html#2811" class="Field">surjective</a> <a id="3720" class="Symbol">=</a> <a id="3722" href="Function.Bundles.html#3450" class="Function">surjective</a>
|
|||
|
<a id="3739" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3746" class="Keyword">open</a> <a id="3751" href="Function.Bundles.html#2249" class="Module">Injection</a> <a id="3762" href="Function.Bundles.html#3514" class="Function">injection</a> <a id="3773" class="Keyword">public</a> <a id="3780" class="Keyword">using</a> <a id="3786" class="Symbol">(</a><a id="3787" href="Function.Bundles.html#2548" class="Function">isInjection</a><a id="3798" class="Symbol">)</a>
|
|||
|
<a id="3804" class="Keyword">open</a> <a id="3809" href="Function.Bundles.html#2686" class="Module">Surjection</a> <a id="3820" href="Function.Bundles.html#3627" class="Function">surjection</a> <a id="3831" class="Keyword">public</a> <a id="3838" class="Keyword">using</a> <a id="3844" class="Symbol">(</a><a id="3845" href="Function.Bundles.html#3096" class="Function">isSurjection</a><a id="3857" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="3864" href="Function.Bundles.html#3864" class="Function">isBijection</a> <a id="3876" class="Symbol">:</a> <a id="3878" href="Function.Structures.html#1698" class="Record">IsBijection</a> <a id="3890" href="Function.Bundles.html#3294" class="Field">f</a>
|
|||
|
<a id="3896" href="Function.Bundles.html#3864" class="Function">isBijection</a> <a id="3908" class="Symbol">=</a> <a id="3910" class="Keyword">record</a>
|
|||
|
<a id="3923" class="Symbol">{</a> <a id="3925" href="Function.Structures.html#1764" class="Field">isInjection</a> <a id="3937" class="Symbol">=</a> <a id="3939" href="Function.Bundles.html#2548" class="Function">isInjection</a>
|
|||
|
<a id="3957" class="Symbol">;</a> <a id="3959" href="Function.Structures.html#1796" class="Field">surjective</a> <a id="3971" class="Symbol">=</a> <a id="3973" href="Function.Bundles.html#3450" class="Function">surjective</a>
|
|||
|
<a id="3990" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3997" class="Keyword">open</a> <a id="4002" href="Function.Structures.html#1698" class="Module">IsBijection</a> <a id="4014" href="Function.Bundles.html#3864" class="Function">isBijection</a> <a id="4026" class="Keyword">public</a> <a id="4033" class="Keyword">using</a> <a id="4039" class="Symbol">(</a><a id="4040" class="Keyword">module</a> <a id="4047" href="Function.Structures.html#1045" class="Module">Eq₁</a><a id="4050" class="Symbol">;</a> <a id="4052" class="Keyword">module</a> <a id="4059" href="Function.Structures.html#1189" class="Module">Eq₂</a><a id="4062" class="Symbol">)</a>
|
|||
|
|
|||
|
|
|||
|
<a id="4066" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="4139" class="Comment">-- Bundles with two elements</a>
|
|||
|
|
|||
|
<a id="4171" class="Keyword">record</a> <a id="4178" href="Function.Bundles.html#4178" class="Record">Equivalence</a> <a id="4190" class="Symbol">:</a> <a id="4192" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="4196" class="Symbol">(</a><a id="4197" href="Function.Bundles.html#1428" class="Bound">a</a> <a id="4199" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="4201" href="Function.Bundles.html#1447" class="Bound">b</a> <a id="4203" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="4205" href="Function.Bundles.html#1430" class="Bound">ℓ₁</a> <a id="4208" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="4210" href="Function.Bundles.html#1449" class="Bound">ℓ₂</a><a id="4212" class="Symbol">)</a> <a id="4214" class="Keyword">where</a>
|
|||
|
<a id="4224" class="Keyword">field</a>
|
|||
|
<a id="4236" href="Function.Bundles.html#4236" class="Field">f</a> <a id="4242" class="Symbol">:</a> <a id="4244" href="Function.Bundles.html#1509" class="Function">A</a> <a id="4246" class="Symbol">→</a> <a id="4248" href="Function.Bundles.html#1574" class="Field">B</a>
|
|||
|
<a id="4256" href="Function.Bundles.html#4256" class="Field">g</a> <a id="4262" class="Symbol">:</a> <a id="4264" href="Function.Bundles.html#1574" class="Field">B</a> <a id="4266" class="Symbol">→</a> <a id="4268" href="Function.Bundles.html#1509" class="Function">A</a>
|
|||
|
<a id="4276" href="Function.Bundles.html#4276" class="Field">cong₁</a> <a id="4282" class="Symbol">:</a> <a id="4284" href="Function.Bundles.html#4236" class="Field">f</a> <a id="4286" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="4296" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="4301" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="4303" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
<a id="4314" href="Function.Bundles.html#4314" class="Field">cong₂</a> <a id="4320" class="Symbol">:</a> <a id="4322" href="Function.Bundles.html#4256" class="Field">g</a> <a id="4324" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="4334" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a> <a id="4339" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="4341" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a>
|
|||
|
|
|||
|
|
|||
|
<a id="4350" class="Keyword">record</a> <a id="4357" href="Function.Bundles.html#4357" class="Record">LeftInverse</a> <a id="4369" class="Symbol">:</a> <a id="4371" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="4375" class="Symbol">(</a><a id="4376" href="Function.Bundles.html#1428" class="Bound">a</a> <a id="4378" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="4380" href="Function.Bundles.html#1447" class="Bound">b</a> <a id="4382" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="4384" href="Function.Bundles.html#1430" class="Bound">ℓ₁</a> <a id="4387" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="4389" href="Function.Bundles.html#1449" class="Bound">ℓ₂</a><a id="4391" class="Symbol">)</a> <a id="4393" class="Keyword">where</a>
|
|||
|
<a id="4403" class="Keyword">field</a>
|
|||
|
<a id="4415" href="Function.Bundles.html#4415" class="Field">f</a> <a id="4425" class="Symbol">:</a> <a id="4427" href="Function.Bundles.html#1509" class="Function">A</a> <a id="4429" class="Symbol">→</a> <a id="4431" href="Function.Bundles.html#1574" class="Field">B</a>
|
|||
|
<a id="4439" href="Function.Bundles.html#4439" class="Field">g</a> <a id="4449" class="Symbol">:</a> <a id="4451" href="Function.Bundles.html#1574" class="Field">B</a> <a id="4453" class="Symbol">→</a> <a id="4455" href="Function.Bundles.html#1509" class="Function">A</a>
|
|||
|
<a id="4463" href="Function.Bundles.html#4463" class="Field">cong₁</a> <a id="4473" class="Symbol">:</a> <a id="4475" href="Function.Bundles.html#4415" class="Field">f</a> <a id="4477" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="4487" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="4492" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="4494" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
<a id="4505" href="Function.Bundles.html#4505" class="Field">cong₂</a> <a id="4515" class="Symbol">:</a> <a id="4517" href="Function.Bundles.html#4439" class="Field">g</a> <a id="4519" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="4529" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a> <a id="4534" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="4536" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a>
|
|||
|
<a id="4547" href="Function.Bundles.html#4547" class="Field">inverseˡ</a> <a id="4557" class="Symbol">:</a> <a id="4559" href="Function.Definitions.Core2.html#827" class="Function">Inverseˡ</a> <a id="4568" href="Function.Bundles.html#4415" class="Field">f</a> <a id="4570" href="Function.Bundles.html#4439" class="Field">g</a>
|
|||
|
|
|||
|
<a id="4577" href="Function.Bundles.html#4577" class="Function">isCongruent</a> <a id="4589" class="Symbol">:</a> <a id="4591" href="Function.Structures.html#850" class="Record">IsCongruent</a> <a id="4603" href="Function.Bundles.html#4415" class="Field">f</a>
|
|||
|
<a id="4609" href="Function.Bundles.html#4577" class="Function">isCongruent</a> <a id="4621" class="Symbol">=</a> <a id="4623" class="Keyword">record</a>
|
|||
|
<a id="4636" class="Symbol">{</a> <a id="4638" href="Function.Structures.html#916" class="Field">cong</a> <a id="4653" class="Symbol">=</a> <a id="4655" href="Function.Bundles.html#4463" class="Field">cong₁</a>
|
|||
|
<a id="4667" class="Symbol">;</a> <a id="4669" href="Function.Structures.html#959" class="Field">isEquivalence₁</a> <a id="4684" class="Symbol">=</a> <a id="4686" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="4700" href="Function.Bundles.html#1414" class="Bound">From</a>
|
|||
|
<a id="4711" class="Symbol">;</a> <a id="4713" href="Function.Structures.html#999" class="Field">isEquivalence₂</a> <a id="4728" class="Symbol">=</a> <a id="4730" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="4744" href="Function.Bundles.html#1435" class="Bound">To</a>
|
|||
|
<a id="4753" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="4760" class="Keyword">open</a> <a id="4765" href="Function.Structures.html#850" class="Module">IsCongruent</a> <a id="4777" href="Function.Bundles.html#4577" class="Function">isCongruent</a> <a id="4789" class="Keyword">public</a> <a id="4796" class="Keyword">using</a> <a id="4802" class="Symbol">(</a><a id="4803" class="Keyword">module</a> <a id="4810" href="Function.Structures.html#1045" class="Module">Eq₁</a><a id="4813" class="Symbol">;</a> <a id="4815" class="Keyword">module</a> <a id="4822" href="Function.Structures.html#1189" class="Module">Eq₂</a><a id="4825" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="4832" href="Function.Bundles.html#4832" class="Function">isLeftInverse</a> <a id="4846" class="Symbol">:</a> <a id="4848" href="Function.Structures.html#2254" class="Record">IsLeftInverse</a> <a id="4862" href="Function.Bundles.html#4415" class="Field">f</a> <a id="4864" href="Function.Bundles.html#4439" class="Field">g</a>
|
|||
|
<a id="4870" href="Function.Bundles.html#4832" class="Function">isLeftInverse</a> <a id="4884" class="Symbol">=</a> <a id="4886" class="Keyword">record</a>
|
|||
|
<a id="4899" class="Symbol">{</a> <a id="4901" href="Function.Structures.html#2334" class="Field">isCongruent</a> <a id="4913" class="Symbol">=</a> <a id="4915" href="Function.Bundles.html#4577" class="Function">isCongruent</a>
|
|||
|
<a id="4933" class="Symbol">;</a> <a id="4935" href="Function.Structures.html#2367" class="Field">cong₂</a> <a id="4947" class="Symbol">=</a> <a id="4949" href="Function.Bundles.html#4505" class="Field">cong₂</a>
|
|||
|
<a id="4961" class="Symbol">;</a> <a id="4963" href="Function.Structures.html#2408" class="Field">inverseˡ</a> <a id="4975" class="Symbol">=</a> <a id="4977" href="Function.Bundles.html#4547" class="Field">inverseˡ</a>
|
|||
|
<a id="4992" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="4999" href="Function.Bundles.html#4999" class="Function">equivalence</a> <a id="5011" class="Symbol">:</a> <a id="5013" href="Function.Bundles.html#4178" class="Record">Equivalence</a>
|
|||
|
<a id="5029" href="Function.Bundles.html#4999" class="Function">equivalence</a> <a id="5041" class="Symbol">=</a> <a id="5043" class="Keyword">record</a>
|
|||
|
<a id="5056" class="Symbol">{</a> <a id="5058" href="Function.Bundles.html#4276" class="Field">cong₁</a> <a id="5064" class="Symbol">=</a> <a id="5066" href="Function.Bundles.html#4463" class="Field">cong₁</a>
|
|||
|
<a id="5078" class="Symbol">;</a> <a id="5080" href="Function.Bundles.html#4314" class="Field">cong₂</a> <a id="5086" class="Symbol">=</a> <a id="5088" href="Function.Bundles.html#4505" class="Field">cong₂</a>
|
|||
|
<a id="5100" class="Symbol">}</a>
|
|||
|
|
|||
|
|
|||
|
<a id="5106" class="Keyword">record</a> <a id="5113" href="Function.Bundles.html#5113" class="Record">RightInverse</a> <a id="5126" class="Symbol">:</a> <a id="5128" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="5132" class="Symbol">(</a><a id="5133" href="Function.Bundles.html#1428" class="Bound">a</a> <a id="5135" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="5137" href="Function.Bundles.html#1447" class="Bound">b</a> <a id="5139" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="5141" href="Function.Bundles.html#1430" class="Bound">ℓ₁</a> <a id="5144" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="5146" href="Function.Bundles.html#1449" class="Bound">ℓ₂</a><a id="5148" class="Symbol">)</a> <a id="5150" class="Keyword">where</a>
|
|||
|
<a id="5160" class="Keyword">field</a>
|
|||
|
<a id="5172" href="Function.Bundles.html#5172" class="Field">f</a> <a id="5182" class="Symbol">:</a> <a id="5184" href="Function.Bundles.html#1509" class="Function">A</a> <a id="5186" class="Symbol">→</a> <a id="5188" href="Function.Bundles.html#1574" class="Field">B</a>
|
|||
|
<a id="5196" href="Function.Bundles.html#5196" class="Field">g</a> <a id="5206" class="Symbol">:</a> <a id="5208" href="Function.Bundles.html#1574" class="Field">B</a> <a id="5210" class="Symbol">→</a> <a id="5212" href="Function.Bundles.html#1509" class="Function">A</a>
|
|||
|
<a id="5220" href="Function.Bundles.html#5220" class="Field">cong₁</a> <a id="5230" class="Symbol">:</a> <a id="5232" href="Function.Bundles.html#5172" class="Field">f</a> <a id="5234" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="5244" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="5249" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="5251" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
<a id="5262" href="Function.Bundles.html#5262" class="Field">cong₂</a> <a id="5272" class="Symbol">:</a> <a id="5274" href="Function.Bundles.html#5196" class="Field">g</a> <a id="5276" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="5286" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a> <a id="5291" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="5293" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a>
|
|||
|
<a id="5304" href="Function.Bundles.html#5304" class="Field">inverseʳ</a> <a id="5314" class="Symbol">:</a> <a id="5316" href="Function.Definitions.Core1.html#684" class="Function">Inverseʳ</a> <a id="5325" href="Function.Bundles.html#5172" class="Field">f</a> <a id="5327" href="Function.Bundles.html#5196" class="Field">g</a>
|
|||
|
|
|||
|
<a id="5334" href="Function.Bundles.html#5334" class="Function">isCongruent</a> <a id="5346" class="Symbol">:</a> <a id="5348" href="Function.Structures.html#850" class="Record">IsCongruent</a> <a id="5360" href="Function.Bundles.html#5172" class="Field">f</a>
|
|||
|
<a id="5366" href="Function.Bundles.html#5334" class="Function">isCongruent</a> <a id="5378" class="Symbol">=</a> <a id="5380" class="Keyword">record</a>
|
|||
|
<a id="5393" class="Symbol">{</a> <a id="5395" href="Function.Structures.html#916" class="Field">cong</a> <a id="5410" class="Symbol">=</a> <a id="5412" href="Function.Bundles.html#5220" class="Field">cong₁</a>
|
|||
|
<a id="5424" class="Symbol">;</a> <a id="5426" href="Function.Structures.html#959" class="Field">isEquivalence₁</a> <a id="5441" class="Symbol">=</a> <a id="5443" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="5457" href="Function.Bundles.html#1414" class="Bound">From</a>
|
|||
|
<a id="5468" class="Symbol">;</a> <a id="5470" href="Function.Structures.html#999" class="Field">isEquivalence₂</a> <a id="5485" class="Symbol">=</a> <a id="5487" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="5501" href="Function.Bundles.html#1435" class="Bound">To</a>
|
|||
|
<a id="5510" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="5517" href="Function.Bundles.html#5517" class="Function">isRightInverse</a> <a id="5532" class="Symbol">:</a> <a id="5534" href="Function.Structures.html#2523" class="Record">IsRightInverse</a> <a id="5549" href="Function.Bundles.html#5172" class="Field">f</a> <a id="5551" href="Function.Bundles.html#5196" class="Field">g</a>
|
|||
|
<a id="5557" href="Function.Bundles.html#5517" class="Function">isRightInverse</a> <a id="5572" class="Symbol">=</a> <a id="5574" class="Keyword">record</a>
|
|||
|
<a id="5587" class="Symbol">{</a> <a id="5589" href="Function.Structures.html#2604" class="Field">isCongruent</a> <a id="5601" class="Symbol">=</a> <a id="5603" href="Function.Bundles.html#5334" class="Function">isCongruent</a>
|
|||
|
<a id="5621" class="Symbol">;</a> <a id="5623" href="Function.Structures.html#2636" class="Field">cong₂</a> <a id="5635" class="Symbol">=</a> <a id="5637" href="Function.Bundles.html#5262" class="Field">cong₂</a>
|
|||
|
<a id="5649" class="Symbol">;</a> <a id="5651" href="Function.Structures.html#2676" class="Field">inverseʳ</a> <a id="5663" class="Symbol">=</a> <a id="5665" href="Function.Bundles.html#5304" class="Field">inverseʳ</a>
|
|||
|
<a id="5680" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="5687" href="Function.Bundles.html#5687" class="Function">equivalence</a> <a id="5699" class="Symbol">:</a> <a id="5701" href="Function.Bundles.html#4178" class="Record">Equivalence</a>
|
|||
|
<a id="5717" href="Function.Bundles.html#5687" class="Function">equivalence</a> <a id="5729" class="Symbol">=</a> <a id="5731" class="Keyword">record</a>
|
|||
|
<a id="5744" class="Symbol">{</a> <a id="5746" href="Function.Bundles.html#4276" class="Field">cong₁</a> <a id="5752" class="Symbol">=</a> <a id="5754" href="Function.Bundles.html#5220" class="Field">cong₁</a>
|
|||
|
<a id="5766" class="Symbol">;</a> <a id="5768" href="Function.Bundles.html#4314" class="Field">cong₂</a> <a id="5774" class="Symbol">=</a> <a id="5776" href="Function.Bundles.html#5262" class="Field">cong₂</a>
|
|||
|
<a id="5788" class="Symbol">}</a>
|
|||
|
|
|||
|
|
|||
|
<a id="5794" class="Keyword">record</a> <a id="5801" href="Function.Bundles.html#5801" class="Record">Inverse</a> <a id="5809" class="Symbol">:</a> <a id="5811" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="5815" class="Symbol">(</a><a id="5816" href="Function.Bundles.html#1428" class="Bound">a</a> <a id="5818" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="5820" href="Function.Bundles.html#1447" class="Bound">b</a> <a id="5822" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="5824" href="Function.Bundles.html#1430" class="Bound">ℓ₁</a> <a id="5827" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="5829" href="Function.Bundles.html#1449" class="Bound">ℓ₂</a><a id="5831" class="Symbol">)</a> <a id="5833" class="Keyword">where</a>
|
|||
|
<a id="5843" class="Keyword">field</a>
|
|||
|
<a id="5855" href="Function.Bundles.html#5855" class="Field">f</a> <a id="5865" class="Symbol">:</a> <a id="5867" href="Function.Bundles.html#1509" class="Function">A</a> <a id="5869" class="Symbol">→</a> <a id="5871" href="Function.Bundles.html#1574" class="Field">B</a>
|
|||
|
<a id="5879" href="Function.Bundles.html#5879" class="Field">f⁻¹</a> <a id="5889" class="Symbol">:</a> <a id="5891" href="Function.Bundles.html#1574" class="Field">B</a> <a id="5893" class="Symbol">→</a> <a id="5895" href="Function.Bundles.html#1509" class="Function">A</a>
|
|||
|
<a id="5903" href="Function.Bundles.html#5903" class="Field">cong₁</a> <a id="5913" class="Symbol">:</a> <a id="5915" href="Function.Bundles.html#5855" class="Field">f</a> <a id="5917" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="5927" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="5932" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="5934" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
<a id="5945" href="Function.Bundles.html#5945" class="Field">cong₂</a> <a id="5955" class="Symbol">:</a> <a id="5957" href="Function.Bundles.html#5879" class="Field">f⁻¹</a> <a id="5961" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="5971" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a> <a id="5976" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="5978" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a>
|
|||
|
<a id="5989" href="Function.Bundles.html#5989" class="Field">inverse</a> <a id="5999" class="Symbol">:</a> <a id="6001" href="Function.Definitions.html#1200" class="Function">Inverseᵇ</a> <a id="6010" href="Function.Bundles.html#5855" class="Field">f</a> <a id="6012" href="Function.Bundles.html#5879" class="Field">f⁻¹</a>
|
|||
|
|
|||
|
<a id="6021" href="Function.Bundles.html#6021" class="Function">inverseˡ</a> <a id="6030" class="Symbol">:</a> <a id="6032" href="Function.Definitions.Core2.html#827" class="Function">Inverseˡ</a> <a id="6041" href="Function.Bundles.html#5855" class="Field">f</a> <a id="6043" href="Function.Bundles.html#5879" class="Field">f⁻¹</a>
|
|||
|
<a id="6051" href="Function.Bundles.html#6021" class="Function">inverseˡ</a> <a id="6060" class="Symbol">=</a> <a id="6062" href="Agda.Builtin.Sigma.html#234" class="Field">proj₁</a> <a id="6068" href="Function.Bundles.html#5989" class="Field">inverse</a>
|
|||
|
|
|||
|
<a id="6081" href="Function.Bundles.html#6081" class="Function">inverseʳ</a> <a id="6090" class="Symbol">:</a> <a id="6092" href="Function.Definitions.Core1.html#684" class="Function">Inverseʳ</a> <a id="6101" href="Function.Bundles.html#5855" class="Field">f</a> <a id="6103" href="Function.Bundles.html#5879" class="Field">f⁻¹</a>
|
|||
|
<a id="6111" href="Function.Bundles.html#6081" class="Function">inverseʳ</a> <a id="6120" class="Symbol">=</a> <a id="6122" href="Agda.Builtin.Sigma.html#246" class="Field">proj₂</a> <a id="6128" href="Function.Bundles.html#5989" class="Field">inverse</a>
|
|||
|
|
|||
|
<a id="6141" href="Function.Bundles.html#6141" class="Function">leftInverse</a> <a id="6153" class="Symbol">:</a> <a id="6155" href="Function.Bundles.html#4357" class="Record">LeftInverse</a>
|
|||
|
<a id="6171" href="Function.Bundles.html#6141" class="Function">leftInverse</a> <a id="6183" class="Symbol">=</a> <a id="6185" class="Keyword">record</a>
|
|||
|
<a id="6198" class="Symbol">{</a> <a id="6200" href="Function.Bundles.html#4463" class="Field">cong₁</a> <a id="6209" class="Symbol">=</a> <a id="6211" href="Function.Bundles.html#5903" class="Field">cong₁</a>
|
|||
|
<a id="6223" class="Symbol">;</a> <a id="6225" href="Function.Bundles.html#4505" class="Field">cong₂</a> <a id="6234" class="Symbol">=</a> <a id="6236" href="Function.Bundles.html#5945" class="Field">cong₂</a>
|
|||
|
<a id="6248" class="Symbol">;</a> <a id="6250" href="Function.Bundles.html#4547" class="Field">inverseˡ</a> <a id="6259" class="Symbol">=</a> <a id="6261" href="Function.Bundles.html#6021" class="Function">inverseˡ</a>
|
|||
|
<a id="6276" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="6283" href="Function.Bundles.html#6283" class="Function">rightInverse</a> <a id="6296" class="Symbol">:</a> <a id="6298" href="Function.Bundles.html#5113" class="Record">RightInverse</a>
|
|||
|
<a id="6315" href="Function.Bundles.html#6283" class="Function">rightInverse</a> <a id="6328" class="Symbol">=</a> <a id="6330" class="Keyword">record</a>
|
|||
|
<a id="6343" class="Symbol">{</a> <a id="6345" href="Function.Bundles.html#5220" class="Field">cong₁</a> <a id="6354" class="Symbol">=</a> <a id="6356" href="Function.Bundles.html#5903" class="Field">cong₁</a>
|
|||
|
<a id="6368" class="Symbol">;</a> <a id="6370" href="Function.Bundles.html#5262" class="Field">cong₂</a> <a id="6379" class="Symbol">=</a> <a id="6381" href="Function.Bundles.html#5945" class="Field">cong₂</a>
|
|||
|
<a id="6393" class="Symbol">;</a> <a id="6395" href="Function.Bundles.html#5304" class="Field">inverseʳ</a> <a id="6404" class="Symbol">=</a> <a id="6406" href="Function.Bundles.html#6081" class="Function">inverseʳ</a>
|
|||
|
<a id="6421" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="6428" class="Keyword">open</a> <a id="6433" href="Function.Bundles.html#4357" class="Module">LeftInverse</a> <a id="6445" href="Function.Bundles.html#6141" class="Function">leftInverse</a> <a id="6459" class="Keyword">public</a> <a id="6466" class="Keyword">using</a> <a id="6472" class="Symbol">(</a><a id="6473" href="Function.Bundles.html#4832" class="Function">isLeftInverse</a><a id="6486" class="Symbol">)</a>
|
|||
|
<a id="6492" class="Keyword">open</a> <a id="6497" href="Function.Bundles.html#5113" class="Module">RightInverse</a> <a id="6510" href="Function.Bundles.html#6283" class="Function">rightInverse</a> <a id="6523" class="Keyword">public</a> <a id="6530" class="Keyword">using</a> <a id="6536" class="Symbol">(</a><a id="6537" href="Function.Bundles.html#5517" class="Function">isRightInverse</a><a id="6551" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="6558" href="Function.Bundles.html#6558" class="Function">isInverse</a> <a id="6568" class="Symbol">:</a> <a id="6570" href="Function.Structures.html#2790" class="Record">IsInverse</a> <a id="6580" href="Function.Bundles.html#5855" class="Field">f</a> <a id="6582" href="Function.Bundles.html#5879" class="Field">f⁻¹</a>
|
|||
|
<a id="6590" href="Function.Bundles.html#6558" class="Function">isInverse</a> <a id="6600" class="Symbol">=</a> <a id="6602" class="Keyword">record</a>
|
|||
|
<a id="6615" class="Symbol">{</a> <a id="6617" href="Function.Structures.html#2866" class="Field">isLeftInverse</a> <a id="6631" class="Symbol">=</a> <a id="6633" href="Function.Bundles.html#4832" class="Function">isLeftInverse</a>
|
|||
|
<a id="6653" class="Symbol">;</a> <a id="6655" href="Function.Structures.html#2904" class="Field">inverseʳ</a> <a id="6669" class="Symbol">=</a> <a id="6671" href="Function.Bundles.html#6081" class="Function">inverseʳ</a>
|
|||
|
<a id="6686" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="6693" class="Keyword">open</a> <a id="6698" href="Function.Structures.html#2790" class="Module">IsInverse</a> <a id="6708" href="Function.Bundles.html#6558" class="Function">isInverse</a> <a id="6718" class="Keyword">public</a> <a id="6725" class="Keyword">using</a> <a id="6731" class="Symbol">(</a><a id="6732" class="Keyword">module</a> <a id="6739" href="Function.Structures.html#1045" class="Module">Eq₁</a><a id="6742" class="Symbol">;</a> <a id="6744" class="Keyword">module</a> <a id="6751" href="Function.Structures.html#1189" class="Module">Eq₂</a><a id="6754" class="Symbol">)</a>
|
|||
|
|
|||
|
|
|||
|
<a id="6758" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="6831" class="Comment">-- Bundles with three elements</a>
|
|||
|
|
|||
|
<a id="6865" class="Keyword">record</a> <a id="6872" href="Function.Bundles.html#6872" class="Record">BiEquivalence</a> <a id="6886" class="Symbol">:</a> <a id="6888" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="6892" class="Symbol">(</a><a id="6893" href="Function.Bundles.html#1428" class="Bound">a</a> <a id="6895" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="6897" href="Function.Bundles.html#1447" class="Bound">b</a> <a id="6899" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="6901" href="Function.Bundles.html#1430" class="Bound">ℓ₁</a> <a id="6904" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="6906" href="Function.Bundles.html#1449" class="Bound">ℓ₂</a><a id="6908" class="Symbol">)</a> <a id="6910" class="Keyword">where</a>
|
|||
|
<a id="6920" class="Keyword">field</a>
|
|||
|
<a id="6932" href="Function.Bundles.html#6932" class="Field">f</a> <a id="6938" class="Symbol">:</a> <a id="6940" href="Function.Bundles.html#1509" class="Function">A</a> <a id="6942" class="Symbol">→</a> <a id="6944" href="Function.Bundles.html#1574" class="Field">B</a>
|
|||
|
<a id="6952" href="Function.Bundles.html#6952" class="Field">g₁</a> <a id="6958" class="Symbol">:</a> <a id="6960" href="Function.Bundles.html#1574" class="Field">B</a> <a id="6962" class="Symbol">→</a> <a id="6964" href="Function.Bundles.html#1509" class="Function">A</a>
|
|||
|
<a id="6972" href="Function.Bundles.html#6972" class="Field">g₂</a> <a id="6978" class="Symbol">:</a> <a id="6980" href="Function.Bundles.html#1574" class="Field">B</a> <a id="6982" class="Symbol">→</a> <a id="6984" href="Function.Bundles.html#1509" class="Function">A</a>
|
|||
|
<a id="6992" href="Function.Bundles.html#6992" class="Field">cong₁</a> <a id="6998" class="Symbol">:</a> <a id="7000" href="Function.Bundles.html#6932" class="Field">f</a> <a id="7002" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="7012" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="7017" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="7019" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
<a id="7030" href="Function.Bundles.html#7030" class="Field">cong₂</a> <a id="7036" class="Symbol">:</a> <a id="7038" href="Function.Bundles.html#6952" class="Field">g₁</a> <a id="7041" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="7051" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a> <a id="7056" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="7058" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a>
|
|||
|
<a id="7069" href="Function.Bundles.html#7069" class="Field">cong₃</a> <a id="7075" class="Symbol">:</a> <a id="7077" href="Function.Bundles.html#6972" class="Field">g₂</a> <a id="7080" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="7090" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a> <a id="7095" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="7097" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a>
|
|||
|
|
|||
|
|
|||
|
<a id="7106" class="Keyword">record</a> <a id="7113" href="Function.Bundles.html#7113" class="Record">BiInverse</a> <a id="7123" class="Symbol">:</a> <a id="7125" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="7129" class="Symbol">(</a><a id="7130" href="Function.Bundles.html#1428" class="Bound">a</a> <a id="7132" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="7134" href="Function.Bundles.html#1447" class="Bound">b</a> <a id="7136" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="7138" href="Function.Bundles.html#1430" class="Bound">ℓ₁</a> <a id="7141" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="7143" href="Function.Bundles.html#1449" class="Bound">ℓ₂</a><a id="7145" class="Symbol">)</a> <a id="7147" class="Keyword">where</a>
|
|||
|
<a id="7157" class="Keyword">field</a>
|
|||
|
<a id="7169" href="Function.Bundles.html#7169" class="Field">f</a> <a id="7179" class="Symbol">:</a> <a id="7181" href="Function.Bundles.html#1509" class="Function">A</a> <a id="7183" class="Symbol">→</a> <a id="7185" href="Function.Bundles.html#1574" class="Field">B</a>
|
|||
|
<a id="7193" href="Function.Bundles.html#7193" class="Field">g₁</a> <a id="7203" class="Symbol">:</a> <a id="7205" href="Function.Bundles.html#1574" class="Field">B</a> <a id="7207" class="Symbol">→</a> <a id="7209" href="Function.Bundles.html#1509" class="Function">A</a>
|
|||
|
<a id="7217" href="Function.Bundles.html#7217" class="Field">g₂</a> <a id="7227" class="Symbol">:</a> <a id="7229" href="Function.Bundles.html#1574" class="Field">B</a> <a id="7231" class="Symbol">→</a> <a id="7233" href="Function.Bundles.html#1509" class="Function">A</a>
|
|||
|
<a id="7241" href="Function.Bundles.html#7241" class="Field">cong₁</a> <a id="7251" class="Symbol">:</a> <a id="7253" href="Function.Bundles.html#7169" class="Field">f</a> <a id="7255" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="7265" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a> <a id="7270" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="7272" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a>
|
|||
|
<a id="7283" href="Function.Bundles.html#7283" class="Field">cong₂</a> <a id="7293" class="Symbol">:</a> <a id="7295" href="Function.Bundles.html#7193" class="Field">g₁</a> <a id="7298" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="7308" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a> <a id="7313" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="7315" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a>
|
|||
|
<a id="7326" href="Function.Bundles.html#7326" class="Field">cong₃</a> <a id="7336" class="Symbol">:</a> <a id="7338" href="Function.Bundles.html#7217" class="Field">g₂</a> <a id="7341" href="Relation.Binary.Core.html#1572" class="Function Operator">Preserves</a> <a id="7351" href="Function.Bundles.html#1584" class="Field Operator">_≈₂_</a> <a id="7356" href="Relation.Binary.Core.html#1572" class="Function Operator">⟶</a> <a id="7358" href="Function.Bundles.html#1519" class="Function Operator">_≈₁_</a>
|
|||
|
<a id="7369" href="Function.Bundles.html#7369" class="Field">inverseˡ</a> <a id="7379" class="Symbol">:</a> <a id="7381" href="Function.Definitions.Core2.html#827" class="Function">Inverseˡ</a> <a id="7390" href="Function.Bundles.html#7169" class="Field">f</a> <a id="7392" href="Function.Bundles.html#7193" class="Field">g₁</a>
|
|||
|
<a id="7401" href="Function.Bundles.html#7401" class="Field">inverseʳ</a> <a id="7411" class="Symbol">:</a> <a id="7413" href="Function.Definitions.Core1.html#684" class="Function">Inverseʳ</a> <a id="7422" href="Function.Bundles.html#7169" class="Field">f</a> <a id="7424" href="Function.Bundles.html#7217" class="Field">g₂</a>
|
|||
|
|
|||
|
<a id="7432" href="Function.Bundles.html#7432" class="Function">f-isCongruent</a> <a id="7446" class="Symbol">:</a> <a id="7448" href="Function.Structures.html#850" class="Record">IsCongruent</a> <a id="7460" href="Function.Bundles.html#7169" class="Field">f</a>
|
|||
|
<a id="7466" href="Function.Bundles.html#7432" class="Function">f-isCongruent</a> <a id="7480" class="Symbol">=</a> <a id="7482" class="Keyword">record</a>
|
|||
|
<a id="7495" class="Symbol">{</a> <a id="7497" href="Function.Structures.html#916" class="Field">cong</a> <a id="7512" class="Symbol">=</a> <a id="7514" href="Function.Bundles.html#7241" class="Field">cong₁</a>
|
|||
|
<a id="7526" class="Symbol">;</a> <a id="7528" href="Function.Structures.html#959" class="Field">isEquivalence₁</a> <a id="7543" class="Symbol">=</a> <a id="7545" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="7559" href="Function.Bundles.html#1414" class="Bound">From</a>
|
|||
|
<a id="7570" class="Symbol">;</a> <a id="7572" href="Function.Structures.html#999" class="Field">isEquivalence₂</a> <a id="7587" class="Symbol">=</a> <a id="7589" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="7603" href="Function.Bundles.html#1435" class="Bound">To</a>
|
|||
|
<a id="7612" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="7619" href="Function.Bundles.html#7619" class="Function">isBiInverse</a> <a id="7631" class="Symbol">:</a> <a id="7633" href="Function.Structures.html#3689" class="Record">IsBiInverse</a> <a id="7645" href="Function.Bundles.html#7169" class="Field">f</a> <a id="7647" href="Function.Bundles.html#7193" class="Field">g₁</a> <a id="7650" href="Function.Bundles.html#7217" class="Field">g₂</a>
|
|||
|
<a id="7657" href="Function.Bundles.html#7619" class="Function">isBiInverse</a> <a id="7669" class="Symbol">=</a> <a id="7671" class="Keyword">record</a>
|
|||
|
<a id="7684" class="Symbol">{</a> <a id="7686" href="Function.Structures.html#3783" class="Field">f-isCongruent</a> <a id="7700" class="Symbol">=</a> <a id="7702" href="Function.Bundles.html#7432" class="Function">f-isCongruent</a>
|
|||
|
<a id="7722" class="Symbol">;</a> <a id="7724" href="Function.Structures.html#3817" class="Field">cong₂</a> <a id="7738" class="Symbol">=</a> <a id="7740" href="Function.Bundles.html#7283" class="Field">cong₂</a>
|
|||
|
<a id="7752" class="Symbol">;</a> <a id="7754" href="Function.Structures.html#3860" class="Field">inverseˡ</a> <a id="7768" class="Symbol">=</a> <a id="7770" href="Function.Bundles.html#7369" class="Field">inverseˡ</a>
|
|||
|
<a id="7785" class="Symbol">;</a> <a id="7787" href="Function.Structures.html#3904" class="Field">cong₃</a> <a id="7801" class="Symbol">=</a> <a id="7803" href="Function.Bundles.html#7326" class="Field">cong₃</a>
|
|||
|
<a id="7815" class="Symbol">;</a> <a id="7817" href="Function.Structures.html#3947" class="Field">inverseʳ</a> <a id="7831" class="Symbol">=</a> <a id="7833" href="Function.Bundles.html#7401" class="Field">inverseʳ</a>
|
|||
|
<a id="7848" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="7855" href="Function.Bundles.html#7855" class="Function">biEquivalence</a> <a id="7869" class="Symbol">:</a> <a id="7871" href="Function.Bundles.html#6872" class="Record">BiEquivalence</a>
|
|||
|
<a id="7889" href="Function.Bundles.html#7855" class="Function">biEquivalence</a> <a id="7903" class="Symbol">=</a> <a id="7905" class="Keyword">record</a>
|
|||
|
<a id="7918" class="Symbol">{</a> <a id="7920" href="Function.Bundles.html#6992" class="Field">cong₁</a> <a id="7926" class="Symbol">=</a> <a id="7928" href="Function.Bundles.html#7241" class="Field">cong₁</a>
|
|||
|
<a id="7940" class="Symbol">;</a> <a id="7942" href="Function.Bundles.html#7030" class="Field">cong₂</a> <a id="7948" class="Symbol">=</a> <a id="7950" href="Function.Bundles.html#7283" class="Field">cong₂</a>
|
|||
|
<a id="7962" class="Symbol">;</a> <a id="7964" href="Function.Bundles.html#7069" class="Field">cong₃</a> <a id="7970" class="Symbol">=</a> <a id="7972" href="Function.Bundles.html#7326" class="Field">cong₃</a>
|
|||
|
<a id="7984" class="Symbol">}</a>
|
|||
|
|
|||
|
|
|||
|
<a id="7988" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="8061" class="Comment">-- Bundles specialised for propositional equality</a>
|
|||
|
<a id="8111" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="8185" class="Keyword">infix</a> <a id="8191" class="Number">3</a> <a id="8193" href="Function.Bundles.html#8230" class="Function Operator">_⟶_</a> <a id="8197" href="Function.Bundles.html#8298" class="Function Operator">_↣_</a> <a id="8201" href="Function.Bundles.html#8371" class="Function Operator">_↠_</a> <a id="8205" href="Function.Bundles.html#8445" class="Function Operator">_⤖_</a> <a id="8209" href="Function.Bundles.html#8518" class="Function Operator">_⇔_</a> <a id="8213" href="Function.Bundles.html#8593" class="Function Operator">_↩_</a> <a id="8217" href="Function.Bundles.html#8668" class="Function Operator">_↪_</a> <a id="8221" href="Function.Bundles.html#8744" class="Function Operator">_↩↪_</a> <a id="8226" href="Function.Bundles.html#8819" class="Function Operator">_↔_</a>
|
|||
|
<a id="_⟶_"></a><a id="8230" href="Function.Bundles.html#8230" class="Function Operator">_⟶_</a> <a id="8234" class="Symbol">:</a> <a id="8236" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8240" href="Function.Bundles.html#1220" class="Generalizable">a</a> <a id="8242" class="Symbol">→</a> <a id="8244" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8248" href="Function.Bundles.html#1222" class="Generalizable">b</a> <a id="8250" class="Symbol">→</a> <a id="8252" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8256" class="Symbol">_</a>
|
|||
|
<a id="8258" href="Function.Bundles.html#8258" class="Bound">A</a> <a id="8260" href="Function.Bundles.html#8230" class="Function Operator">⟶</a> <a id="8262" href="Function.Bundles.html#8262" class="Bound">B</a> <a id="8264" class="Symbol">=</a> <a id="8266" href="Function.Bundles.html#1877" class="Record">Func</a> <a id="8271" class="Symbol">(</a><a id="8272" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8281" href="Function.Bundles.html#8258" class="Bound">A</a><a id="8282" class="Symbol">)</a> <a id="8284" class="Symbol">(</a><a id="8285" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8294" href="Function.Bundles.html#8262" class="Bound">B</a><a id="8295" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="_↣_"></a><a id="8298" href="Function.Bundles.html#8298" class="Function Operator">_↣_</a> <a id="8302" class="Symbol">:</a> <a id="8304" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8308" href="Function.Bundles.html#1220" class="Generalizable">a</a> <a id="8310" class="Symbol">→</a> <a id="8312" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8316" href="Function.Bundles.html#1222" class="Generalizable">b</a> <a id="8318" class="Symbol">→</a> <a id="8320" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8324" class="Symbol">_</a>
|
|||
|
<a id="8326" href="Function.Bundles.html#8326" class="Bound">A</a> <a id="8328" href="Function.Bundles.html#8298" class="Function Operator">↣</a> <a id="8330" href="Function.Bundles.html#8330" class="Bound">B</a> <a id="8332" class="Symbol">=</a> <a id="8334" href="Function.Bundles.html#2249" class="Record">Injection</a> <a id="8344" class="Symbol">(</a><a id="8345" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8354" href="Function.Bundles.html#8326" class="Bound">A</a><a id="8355" class="Symbol">)</a> <a id="8357" class="Symbol">(</a><a id="8358" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8367" href="Function.Bundles.html#8330" class="Bound">B</a><a id="8368" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="_↠_"></a><a id="8371" href="Function.Bundles.html#8371" class="Function Operator">_↠_</a> <a id="8375" class="Symbol">:</a> <a id="8377" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8381" href="Function.Bundles.html#1220" class="Generalizable">a</a> <a id="8383" class="Symbol">→</a> <a id="8385" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8389" href="Function.Bundles.html#1222" class="Generalizable">b</a> <a id="8391" class="Symbol">→</a> <a id="8393" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8397" class="Symbol">_</a>
|
|||
|
<a id="8399" href="Function.Bundles.html#8399" class="Bound">A</a> <a id="8401" href="Function.Bundles.html#8371" class="Function Operator">↠</a> <a id="8403" href="Function.Bundles.html#8403" class="Bound">B</a> <a id="8405" class="Symbol">=</a> <a id="8407" href="Function.Bundles.html#2686" class="Record">Surjection</a> <a id="8418" class="Symbol">(</a><a id="8419" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8428" href="Function.Bundles.html#8399" class="Bound">A</a><a id="8429" class="Symbol">)</a> <a id="8431" class="Symbol">(</a><a id="8432" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8441" href="Function.Bundles.html#8403" class="Bound">B</a><a id="8442" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="_⤖_"></a><a id="8445" href="Function.Bundles.html#8445" class="Function Operator">_⤖_</a> <a id="8449" class="Symbol">:</a> <a id="8451" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8455" href="Function.Bundles.html#1220" class="Generalizable">a</a> <a id="8457" class="Symbol">→</a> <a id="8459" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8463" href="Function.Bundles.html#1222" class="Generalizable">b</a> <a id="8465" class="Symbol">→</a> <a id="8467" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8471" class="Symbol">_</a>
|
|||
|
<a id="8473" href="Function.Bundles.html#8473" class="Bound">A</a> <a id="8475" href="Function.Bundles.html#8445" class="Function Operator">⤖</a> <a id="8477" href="Function.Bundles.html#8477" class="Bound">B</a> <a id="8479" class="Symbol">=</a> <a id="8481" href="Function.Bundles.html#3238" class="Record">Bijection</a> <a id="8491" class="Symbol">(</a><a id="8492" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8501" href="Function.Bundles.html#8473" class="Bound">A</a><a id="8502" class="Symbol">)</a> <a id="8504" class="Symbol">(</a><a id="8505" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8514" href="Function.Bundles.html#8477" class="Bound">B</a><a id="8515" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="_⇔_"></a><a id="8518" href="Function.Bundles.html#8518" class="Function Operator">_⇔_</a> <a id="8522" class="Symbol">:</a> <a id="8524" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8528" href="Function.Bundles.html#1220" class="Generalizable">a</a> <a id="8530" class="Symbol">→</a> <a id="8532" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8536" href="Function.Bundles.html#1222" class="Generalizable">b</a> <a id="8538" class="Symbol">→</a> <a id="8540" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8544" class="Symbol">_</a>
|
|||
|
<a id="8546" href="Function.Bundles.html#8546" class="Bound">A</a> <a id="8548" href="Function.Bundles.html#8518" class="Function Operator">⇔</a> <a id="8550" href="Function.Bundles.html#8550" class="Bound">B</a> <a id="8552" class="Symbol">=</a> <a id="8554" href="Function.Bundles.html#4178" class="Record">Equivalence</a> <a id="8566" class="Symbol">(</a><a id="8567" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8576" href="Function.Bundles.html#8546" class="Bound">A</a><a id="8577" class="Symbol">)</a> <a id="8579" class="Symbol">(</a><a id="8580" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8589" href="Function.Bundles.html#8550" class="Bound">B</a><a id="8590" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="_↩_"></a><a id="8593" href="Function.Bundles.html#8593" class="Function Operator">_↩_</a> <a id="8597" class="Symbol">:</a> <a id="8599" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8603" href="Function.Bundles.html#1220" class="Generalizable">a</a> <a id="8605" class="Symbol">→</a> <a id="8607" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8611" href="Function.Bundles.html#1222" class="Generalizable">b</a> <a id="8613" class="Symbol">→</a> <a id="8615" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8619" class="Symbol">_</a>
|
|||
|
<a id="8621" href="Function.Bundles.html#8621" class="Bound">A</a> <a id="8623" href="Function.Bundles.html#8593" class="Function Operator">↩</a> <a id="8625" href="Function.Bundles.html#8625" class="Bound">B</a> <a id="8627" class="Symbol">=</a> <a id="8629" href="Function.Bundles.html#4357" class="Record">LeftInverse</a> <a id="8641" class="Symbol">(</a><a id="8642" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8651" href="Function.Bundles.html#8621" class="Bound">A</a><a id="8652" class="Symbol">)</a> <a id="8654" class="Symbol">(</a><a id="8655" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8664" href="Function.Bundles.html#8625" class="Bound">B</a><a id="8665" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="_↪_"></a><a id="8668" href="Function.Bundles.html#8668" class="Function Operator">_↪_</a> <a id="8672" class="Symbol">:</a> <a id="8674" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8678" href="Function.Bundles.html#1220" class="Generalizable">a</a> <a id="8680" class="Symbol">→</a> <a id="8682" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8686" href="Function.Bundles.html#1222" class="Generalizable">b</a> <a id="8688" class="Symbol">→</a> <a id="8690" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8694" class="Symbol">_</a>
|
|||
|
<a id="8696" href="Function.Bundles.html#8696" class="Bound">A</a> <a id="8698" href="Function.Bundles.html#8668" class="Function Operator">↪</a> <a id="8700" href="Function.Bundles.html#8700" class="Bound">B</a> <a id="8702" class="Symbol">=</a> <a id="8704" href="Function.Bundles.html#5113" class="Record">RightInverse</a> <a id="8717" class="Symbol">(</a><a id="8718" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8727" href="Function.Bundles.html#8696" class="Bound">A</a><a id="8728" class="Symbol">)</a> <a id="8730" class="Symbol">(</a><a id="8731" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8740" href="Function.Bundles.html#8700" class="Bound">B</a><a id="8741" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="_↩↪_"></a><a id="8744" href="Function.Bundles.html#8744" class="Function Operator">_↩↪_</a> <a id="8749" class="Symbol">:</a> <a id="8751" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8755" href="Function.Bundles.html#1220" class="Generalizable">a</a> <a id="8757" class="Symbol">→</a> <a id="8759" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8763" href="Function.Bundles.html#1222" class="Generalizable">b</a> <a id="8765" class="Symbol">→</a> <a id="8767" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8771" class="Symbol">_</a>
|
|||
|
<a id="8773" href="Function.Bundles.html#8773" class="Bound">A</a> <a id="8775" href="Function.Bundles.html#8744" class="Function Operator">↩↪</a> <a id="8778" href="Function.Bundles.html#8778" class="Bound">B</a> <a id="8780" class="Symbol">=</a> <a id="8782" href="Function.Bundles.html#7113" class="Record">BiInverse</a> <a id="8792" class="Symbol">(</a><a id="8793" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8802" href="Function.Bundles.html#8773" class="Bound">A</a><a id="8803" class="Symbol">)</a> <a id="8805" class="Symbol">(</a><a id="8806" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8815" href="Function.Bundles.html#8778" class="Bound">B</a><a id="8816" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="_↔_"></a><a id="8819" href="Function.Bundles.html#8819" class="Function Operator">_↔_</a> <a id="8823" class="Symbol">:</a> <a id="8825" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8829" href="Function.Bundles.html#1220" class="Generalizable">a</a> <a id="8831" class="Symbol">→</a> <a id="8833" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8837" href="Function.Bundles.html#1222" class="Generalizable">b</a> <a id="8839" class="Symbol">→</a> <a id="8841" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="8845" class="Symbol">_</a>
|
|||
|
<a id="8847" href="Function.Bundles.html#8847" class="Bound">A</a> <a id="8849" href="Function.Bundles.html#8819" class="Function Operator">↔</a> <a id="8851" href="Function.Bundles.html#8851" class="Bound">B</a> <a id="8853" class="Symbol">=</a> <a id="8855" href="Function.Bundles.html#5801" class="Record">Inverse</a> <a id="8863" class="Symbol">(</a><a id="8864" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8873" href="Function.Bundles.html#8847" class="Bound">A</a><a id="8874" class="Symbol">)</a> <a id="8876" class="Symbol">(</a><a id="8877" href="Relation.Binary.PropositionalEquality.Properties.html#3981" class="Function">≡.setoid</a> <a id="8886" href="Function.Bundles.html#8851" class="Bound">B</a><a id="8887" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="8890" class="Comment">-- We now define some constructors for the above that</a>
|
|||
|
<a id="8944" class="Comment">-- automatically provide the required congruency proofs.</a>
|
|||
|
|
|||
|
<a id="9002" class="Keyword">module</a> <a id="9009" href="Function.Bundles.html#9009" class="Module">_</a> <a id="9011" class="Symbol">{</a><a id="9012" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9014" class="Symbol">:</a> <a id="9016" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="9020" href="Function.Bundles.html#1220" class="Generalizable">a</a><a id="9021" class="Symbol">}</a> <a id="9023" class="Symbol">{</a><a id="9024" href="Function.Bundles.html#9024" class="Bound">B</a> <a id="9026" class="Symbol">:</a> <a id="9028" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="9032" href="Function.Bundles.html#1222" class="Generalizable">b</a><a id="9033" class="Symbol">}</a> <a id="9035" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="9044" class="Keyword">open</a> <a id="9049" href="Function.Definitions.html" class="Module">FunctionDefinitions</a> <a id="9069" class="Symbol">{</a><a id="9070" class="Argument">A</a> <a id="9072" class="Symbol">=</a> <a id="9074" href="Function.Bundles.html#9012" class="Bound">A</a><a id="9075" class="Symbol">}</a> <a id="9077" class="Symbol">{</a><a id="9078" href="Function.Bundles.html#9024" class="Bound">B</a><a id="9079" class="Symbol">}</a> <a id="9081" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a> <a id="9085" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a>
|
|||
|
|
|||
|
<a id="9092" href="Function.Bundles.html#9092" class="Function">mk⟶</a> <a id="9096" class="Symbol">:</a> <a id="9098" class="Symbol">(</a><a id="9099" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9101" class="Symbol">→</a> <a id="9103" href="Function.Bundles.html#9024" class="Bound">B</a><a id="9104" class="Symbol">)</a> <a id="9106" class="Symbol">→</a> <a id="9108" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9110" href="Function.Bundles.html#8230" class="Function Operator">⟶</a> <a id="9112" href="Function.Bundles.html#9024" class="Bound">B</a>
|
|||
|
<a id="9116" href="Function.Bundles.html#9092" class="Function">mk⟶</a> <a id="9120" href="Function.Bundles.html#9120" class="Bound">f</a> <a id="9122" class="Symbol">=</a> <a id="9124" class="Keyword">record</a>
|
|||
|
<a id="9135" class="Symbol">{</a> <a id="9137" href="Function.Bundles.html#1928" class="Field">f</a> <a id="9147" class="Symbol">=</a> <a id="9149" href="Function.Bundles.html#9120" class="Bound">f</a>
|
|||
|
<a id="9155" class="Symbol">;</a> <a id="9157" href="Function.Bundles.html#1947" class="Field">cong</a> <a id="9167" class="Symbol">=</a> <a id="9169" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="9176" href="Function.Bundles.html#9120" class="Bound">f</a>
|
|||
|
<a id="9182" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="9187" href="Function.Bundles.html#9187" class="Function">mk↣</a> <a id="9191" class="Symbol">:</a> <a id="9193" class="Symbol">∀</a> <a id="9195" class="Symbol">{</a><a id="9196" href="Function.Bundles.html#9196" class="Bound">f</a> <a id="9198" class="Symbol">:</a> <a id="9200" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9202" class="Symbol">→</a> <a id="9204" href="Function.Bundles.html#9024" class="Bound">B</a><a id="9205" class="Symbol">}</a> <a id="9207" class="Symbol">→</a> <a id="9209" href="Function.Definitions.html#898" class="Function">Injective</a> <a id="9219" href="Function.Bundles.html#9196" class="Bound">f</a> <a id="9221" class="Symbol">→</a> <a id="9223" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9225" href="Function.Bundles.html#8298" class="Function Operator">↣</a> <a id="9227" href="Function.Bundles.html#9024" class="Bound">B</a>
|
|||
|
<a id="9231" href="Function.Bundles.html#9187" class="Function">mk↣</a> <a id="9235" class="Symbol">{</a><a id="9236" href="Function.Bundles.html#9236" class="Bound">f</a><a id="9237" class="Symbol">}</a> <a id="9239" href="Function.Bundles.html#9239" class="Bound">inj</a> <a id="9243" class="Symbol">=</a> <a id="9245" class="Keyword">record</a>
|
|||
|
<a id="9256" class="Symbol">{</a> <a id="9258" href="Function.Bundles.html#2305" class="Field">f</a> <a id="9268" class="Symbol">=</a> <a id="9270" href="Function.Bundles.html#9236" class="Bound">f</a>
|
|||
|
<a id="9276" class="Symbol">;</a> <a id="9278" href="Function.Bundles.html#2331" class="Field">cong</a> <a id="9288" class="Symbol">=</a> <a id="9290" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="9297" href="Function.Bundles.html#9236" class="Bound">f</a>
|
|||
|
<a id="9303" class="Symbol">;</a> <a id="9305" href="Function.Bundles.html#2375" class="Field">injective</a> <a id="9315" class="Symbol">=</a> <a id="9317" href="Function.Bundles.html#9239" class="Bound">inj</a>
|
|||
|
<a id="9325" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="9330" href="Function.Bundles.html#9330" class="Function">mk↠</a> <a id="9334" class="Symbol">:</a> <a id="9336" class="Symbol">∀</a> <a id="9338" class="Symbol">{</a><a id="9339" href="Function.Bundles.html#9339" class="Bound">f</a> <a id="9341" class="Symbol">:</a> <a id="9343" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9345" class="Symbol">→</a> <a id="9347" href="Function.Bundles.html#9024" class="Bound">B</a><a id="9348" class="Symbol">}</a> <a id="9350" class="Symbol">→</a> <a id="9352" href="Function.Definitions.Core2.html#672" class="Function">Surjective</a> <a id="9363" href="Function.Bundles.html#9339" class="Bound">f</a> <a id="9365" class="Symbol">→</a> <a id="9367" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9369" href="Function.Bundles.html#8371" class="Function Operator">↠</a> <a id="9371" href="Function.Bundles.html#9024" class="Bound">B</a>
|
|||
|
<a id="9375" href="Function.Bundles.html#9330" class="Function">mk↠</a> <a id="9379" class="Symbol">{</a><a id="9380" href="Function.Bundles.html#9380" class="Bound">f</a><a id="9381" class="Symbol">}</a> <a id="9383" href="Function.Bundles.html#9383" class="Bound">surj</a> <a id="9388" class="Symbol">=</a> <a id="9390" class="Keyword">record</a>
|
|||
|
<a id="9401" class="Symbol">{</a> <a id="9403" href="Function.Bundles.html#2743" class="Field">f</a> <a id="9414" class="Symbol">=</a> <a id="9416" href="Function.Bundles.html#9380" class="Bound">f</a>
|
|||
|
<a id="9422" class="Symbol">;</a> <a id="9424" href="Function.Bundles.html#2768" class="Field">cong</a> <a id="9435" class="Symbol">=</a> <a id="9437" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="9444" href="Function.Bundles.html#9380" class="Bound">f</a>
|
|||
|
<a id="9450" class="Symbol">;</a> <a id="9452" href="Function.Bundles.html#2811" class="Field">surjective</a> <a id="9463" class="Symbol">=</a> <a id="9465" href="Function.Bundles.html#9383" class="Bound">surj</a>
|
|||
|
<a id="9474" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="9479" href="Function.Bundles.html#9479" class="Function">mk⤖</a> <a id="9483" class="Symbol">:</a> <a id="9485" class="Symbol">∀</a> <a id="9487" class="Symbol">{</a><a id="9488" href="Function.Bundles.html#9488" class="Bound">f</a> <a id="9490" class="Symbol">:</a> <a id="9492" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9494" class="Symbol">→</a> <a id="9496" href="Function.Bundles.html#9024" class="Bound">B</a><a id="9497" class="Symbol">}</a> <a id="9499" class="Symbol">→</a> <a id="9501" href="Function.Definitions.html#1028" class="Function">Bijective</a> <a id="9511" href="Function.Bundles.html#9488" class="Bound">f</a> <a id="9513" class="Symbol">→</a> <a id="9515" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9517" href="Function.Bundles.html#8445" class="Function Operator">⤖</a> <a id="9519" href="Function.Bundles.html#9024" class="Bound">B</a>
|
|||
|
<a id="9523" href="Function.Bundles.html#9479" class="Function">mk⤖</a> <a id="9527" class="Symbol">{</a><a id="9528" href="Function.Bundles.html#9528" class="Bound">f</a><a id="9529" class="Symbol">}</a> <a id="9531" href="Function.Bundles.html#9531" class="Bound">bij</a> <a id="9535" class="Symbol">=</a> <a id="9537" class="Keyword">record</a>
|
|||
|
<a id="9548" class="Symbol">{</a> <a id="9550" href="Function.Bundles.html#3294" class="Field">f</a> <a id="9560" class="Symbol">=</a> <a id="9562" href="Function.Bundles.html#9528" class="Bound">f</a>
|
|||
|
<a id="9568" class="Symbol">;</a> <a id="9570" href="Function.Bundles.html#3318" class="Field">cong</a> <a id="9580" class="Symbol">=</a> <a id="9582" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="9589" href="Function.Bundles.html#9528" class="Bound">f</a>
|
|||
|
<a id="9595" class="Symbol">;</a> <a id="9597" href="Function.Bundles.html#3360" class="Field">bijective</a> <a id="9607" class="Symbol">=</a> <a id="9609" href="Function.Bundles.html#9531" class="Bound">bij</a>
|
|||
|
<a id="9617" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="9622" href="Function.Bundles.html#9622" class="Function">mk⇔</a> <a id="9626" class="Symbol">:</a> <a id="9628" class="Symbol">∀</a> <a id="9630" class="Symbol">(</a><a id="9631" href="Function.Bundles.html#9631" class="Bound">f</a> <a id="9633" class="Symbol">:</a> <a id="9635" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9637" class="Symbol">→</a> <a id="9639" href="Function.Bundles.html#9024" class="Bound">B</a><a id="9640" class="Symbol">)</a> <a id="9642" class="Symbol">(</a><a id="9643" href="Function.Bundles.html#9643" class="Bound">g</a> <a id="9645" class="Symbol">:</a> <a id="9647" href="Function.Bundles.html#9024" class="Bound">B</a> <a id="9649" class="Symbol">→</a> <a id="9651" href="Function.Bundles.html#9012" class="Bound">A</a><a id="9652" class="Symbol">)</a> <a id="9654" class="Symbol">→</a> <a id="9656" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9658" href="Function.Bundles.html#8518" class="Function Operator">⇔</a> <a id="9660" href="Function.Bundles.html#9024" class="Bound">B</a>
|
|||
|
<a id="9664" href="Function.Bundles.html#9622" class="Function">mk⇔</a> <a id="9668" href="Function.Bundles.html#9668" class="Bound">f</a> <a id="9670" href="Function.Bundles.html#9670" class="Bound">g</a> <a id="9672" class="Symbol">=</a> <a id="9674" class="Keyword">record</a>
|
|||
|
<a id="9685" class="Symbol">{</a> <a id="9687" href="Function.Bundles.html#4236" class="Field">f</a> <a id="9693" class="Symbol">=</a> <a id="9695" href="Function.Bundles.html#9668" class="Bound">f</a>
|
|||
|
<a id="9701" class="Symbol">;</a> <a id="9703" href="Function.Bundles.html#4256" class="Field">g</a> <a id="9709" class="Symbol">=</a> <a id="9711" href="Function.Bundles.html#9670" class="Bound">g</a>
|
|||
|
<a id="9717" class="Symbol">;</a> <a id="9719" href="Function.Bundles.html#4276" class="Field">cong₁</a> <a id="9725" class="Symbol">=</a> <a id="9727" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="9734" href="Function.Bundles.html#9668" class="Bound">f</a>
|
|||
|
<a id="9740" class="Symbol">;</a> <a id="9742" href="Function.Bundles.html#4314" class="Field">cong₂</a> <a id="9748" class="Symbol">=</a> <a id="9750" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="9757" href="Function.Bundles.html#9670" class="Bound">g</a>
|
|||
|
<a id="9763" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="9768" href="Function.Bundles.html#9768" class="Function">mk↩</a> <a id="9772" class="Symbol">:</a> <a id="9774" class="Symbol">∀</a> <a id="9776" class="Symbol">{</a><a id="9777" href="Function.Bundles.html#9777" class="Bound">f</a> <a id="9779" class="Symbol">:</a> <a id="9781" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9783" class="Symbol">→</a> <a id="9785" href="Function.Bundles.html#9024" class="Bound">B</a><a id="9786" class="Symbol">}</a> <a id="9788" class="Symbol">{</a><a id="9789" href="Function.Bundles.html#9789" class="Bound">g</a> <a id="9791" class="Symbol">:</a> <a id="9793" href="Function.Bundles.html#9024" class="Bound">B</a> <a id="9795" class="Symbol">→</a> <a id="9797" href="Function.Bundles.html#9012" class="Bound">A</a><a id="9798" class="Symbol">}</a> <a id="9800" class="Symbol">→</a> <a id="9802" href="Function.Definitions.Core2.html#827" class="Function">Inverseˡ</a> <a id="9811" href="Function.Bundles.html#9777" class="Bound">f</a> <a id="9813" href="Function.Bundles.html#9789" class="Bound">g</a> <a id="9815" class="Symbol">→</a> <a id="9817" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9819" href="Function.Bundles.html#8593" class="Function Operator">↩</a> <a id="9821" href="Function.Bundles.html#9024" class="Bound">B</a>
|
|||
|
<a id="9825" href="Function.Bundles.html#9768" class="Function">mk↩</a> <a id="9829" class="Symbol">{</a><a id="9830" href="Function.Bundles.html#9830" class="Bound">f</a><a id="9831" class="Symbol">}</a> <a id="9833" class="Symbol">{</a><a id="9834" href="Function.Bundles.html#9834" class="Bound">g</a><a id="9835" class="Symbol">}</a> <a id="9837" href="Function.Bundles.html#9837" class="Bound">invˡ</a> <a id="9842" class="Symbol">=</a> <a id="9844" class="Keyword">record</a>
|
|||
|
<a id="9855" class="Symbol">{</a> <a id="9857" href="Function.Bundles.html#4415" class="Field">f</a> <a id="9866" class="Symbol">=</a> <a id="9868" href="Function.Bundles.html#9830" class="Bound">f</a>
|
|||
|
<a id="9874" class="Symbol">;</a> <a id="9876" href="Function.Bundles.html#4439" class="Field">g</a> <a id="9885" class="Symbol">=</a> <a id="9887" href="Function.Bundles.html#9834" class="Bound">g</a>
|
|||
|
<a id="9893" class="Symbol">;</a> <a id="9895" href="Function.Bundles.html#4463" class="Field">cong₁</a> <a id="9904" class="Symbol">=</a> <a id="9906" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="9913" href="Function.Bundles.html#9830" class="Bound">f</a>
|
|||
|
<a id="9919" class="Symbol">;</a> <a id="9921" href="Function.Bundles.html#4505" class="Field">cong₂</a> <a id="9930" class="Symbol">=</a> <a id="9932" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="9939" href="Function.Bundles.html#9834" class="Bound">g</a>
|
|||
|
<a id="9945" class="Symbol">;</a> <a id="9947" href="Function.Bundles.html#4547" class="Field">inverseˡ</a> <a id="9956" class="Symbol">=</a> <a id="9958" href="Function.Bundles.html#9837" class="Bound">invˡ</a>
|
|||
|
<a id="9967" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="9972" href="Function.Bundles.html#9972" class="Function">mk↪</a> <a id="9976" class="Symbol">:</a> <a id="9978" class="Symbol">∀</a> <a id="9980" class="Symbol">{</a><a id="9981" href="Function.Bundles.html#9981" class="Bound">f</a> <a id="9983" class="Symbol">:</a> <a id="9985" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="9987" class="Symbol">→</a> <a id="9989" href="Function.Bundles.html#9024" class="Bound">B</a><a id="9990" class="Symbol">}</a> <a id="9992" class="Symbol">{</a><a id="9993" href="Function.Bundles.html#9993" class="Bound">g</a> <a id="9995" class="Symbol">:</a> <a id="9997" href="Function.Bundles.html#9024" class="Bound">B</a> <a id="9999" class="Symbol">→</a> <a id="10001" href="Function.Bundles.html#9012" class="Bound">A</a><a id="10002" class="Symbol">}</a> <a id="10004" class="Symbol">→</a> <a id="10006" href="Function.Definitions.Core1.html#684" class="Function">Inverseʳ</a> <a id="10015" href="Function.Bundles.html#9981" class="Bound">f</a> <a id="10017" href="Function.Bundles.html#9993" class="Bound">g</a> <a id="10019" class="Symbol">→</a> <a id="10021" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="10023" href="Function.Bundles.html#8668" class="Function Operator">↪</a> <a id="10025" href="Function.Bundles.html#9024" class="Bound">B</a>
|
|||
|
<a id="10029" href="Function.Bundles.html#9972" class="Function">mk↪</a> <a id="10033" class="Symbol">{</a><a id="10034" href="Function.Bundles.html#10034" class="Bound">f</a><a id="10035" class="Symbol">}</a> <a id="10037" class="Symbol">{</a><a id="10038" href="Function.Bundles.html#10038" class="Bound">g</a><a id="10039" class="Symbol">}</a> <a id="10041" href="Function.Bundles.html#10041" class="Bound">invʳ</a> <a id="10046" class="Symbol">=</a> <a id="10048" class="Keyword">record</a>
|
|||
|
<a id="10059" class="Symbol">{</a> <a id="10061" href="Function.Bundles.html#5172" class="Field">f</a> <a id="10070" class="Symbol">=</a> <a id="10072" href="Function.Bundles.html#10034" class="Bound">f</a>
|
|||
|
<a id="10078" class="Symbol">;</a> <a id="10080" href="Function.Bundles.html#5196" class="Field">g</a> <a id="10089" class="Symbol">=</a> <a id="10091" href="Function.Bundles.html#10038" class="Bound">g</a>
|
|||
|
<a id="10097" class="Symbol">;</a> <a id="10099" href="Function.Bundles.html#5220" class="Field">cong₁</a> <a id="10108" class="Symbol">=</a> <a id="10110" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="10117" href="Function.Bundles.html#10034" class="Bound">f</a>
|
|||
|
<a id="10123" class="Symbol">;</a> <a id="10125" href="Function.Bundles.html#5262" class="Field">cong₂</a> <a id="10134" class="Symbol">=</a> <a id="10136" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="10143" href="Function.Bundles.html#10038" class="Bound">g</a>
|
|||
|
<a id="10149" class="Symbol">;</a> <a id="10151" href="Function.Bundles.html#5304" class="Field">inverseʳ</a> <a id="10160" class="Symbol">=</a> <a id="10162" href="Function.Bundles.html#10041" class="Bound">invʳ</a>
|
|||
|
<a id="10171" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="10176" href="Function.Bundles.html#10176" class="Function">mk↩↪</a> <a id="10181" class="Symbol">:</a> <a id="10183" class="Symbol">∀</a> <a id="10185" class="Symbol">{</a><a id="10186" href="Function.Bundles.html#10186" class="Bound">f</a> <a id="10188" class="Symbol">:</a> <a id="10190" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="10192" class="Symbol">→</a> <a id="10194" href="Function.Bundles.html#9024" class="Bound">B</a><a id="10195" class="Symbol">}</a> <a id="10197" class="Symbol">{</a><a id="10198" href="Function.Bundles.html#10198" class="Bound">g₁</a> <a id="10201" class="Symbol">:</a> <a id="10203" href="Function.Bundles.html#9024" class="Bound">B</a> <a id="10205" class="Symbol">→</a> <a id="10207" href="Function.Bundles.html#9012" class="Bound">A</a><a id="10208" class="Symbol">}</a> <a id="10210" class="Symbol">{</a><a id="10211" href="Function.Bundles.html#10211" class="Bound">g₂</a> <a id="10214" class="Symbol">:</a> <a id="10216" href="Function.Bundles.html#9024" class="Bound">B</a> <a id="10218" class="Symbol">→</a> <a id="10220" href="Function.Bundles.html#9012" class="Bound">A</a><a id="10221" class="Symbol">}</a> <a id="10223" class="Symbol">→</a>
|
|||
|
<a id="10234" href="Function.Definitions.Core2.html#827" class="Function">Inverseˡ</a> <a id="10243" href="Function.Bundles.html#10186" class="Bound">f</a> <a id="10245" href="Function.Bundles.html#10198" class="Bound">g₁</a> <a id="10248" class="Symbol">→</a> <a id="10250" href="Function.Definitions.Core1.html#684" class="Function">Inverseʳ</a> <a id="10259" href="Function.Bundles.html#10186" class="Bound">f</a> <a id="10261" href="Function.Bundles.html#10211" class="Bound">g₂</a> <a id="10264" class="Symbol">→</a> <a id="10266" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="10268" href="Function.Bundles.html#8744" class="Function Operator">↩↪</a> <a id="10271" href="Function.Bundles.html#9024" class="Bound">B</a>
|
|||
|
<a id="10275" href="Function.Bundles.html#10176" class="Function">mk↩↪</a> <a id="10280" class="Symbol">{</a><a id="10281" href="Function.Bundles.html#10281" class="Bound">f</a><a id="10282" class="Symbol">}</a> <a id="10284" class="Symbol">{</a><a id="10285" href="Function.Bundles.html#10285" class="Bound">g₁</a><a id="10287" class="Symbol">}</a> <a id="10289" class="Symbol">{</a><a id="10290" href="Function.Bundles.html#10290" class="Bound">g₂</a><a id="10292" class="Symbol">}</a> <a id="10294" href="Function.Bundles.html#10294" class="Bound">invˡ</a> <a id="10299" href="Function.Bundles.html#10299" class="Bound">invʳ</a> <a id="10304" class="Symbol">=</a> <a id="10306" class="Keyword">record</a>
|
|||
|
<a id="10317" class="Symbol">{</a> <a id="10319" href="Function.Bundles.html#7169" class="Field">f</a> <a id="10328" class="Symbol">=</a> <a id="10330" href="Function.Bundles.html#10281" class="Bound">f</a>
|
|||
|
<a id="10336" class="Symbol">;</a> <a id="10338" href="Function.Bundles.html#7193" class="Field">g₁</a> <a id="10347" class="Symbol">=</a> <a id="10349" href="Function.Bundles.html#10285" class="Bound">g₁</a>
|
|||
|
<a id="10356" class="Symbol">;</a> <a id="10358" href="Function.Bundles.html#7217" class="Field">g₂</a> <a id="10367" class="Symbol">=</a> <a id="10369" href="Function.Bundles.html#10290" class="Bound">g₂</a>
|
|||
|
<a id="10376" class="Symbol">;</a> <a id="10378" href="Function.Bundles.html#7241" class="Field">cong₁</a> <a id="10387" class="Symbol">=</a> <a id="10389" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="10396" href="Function.Bundles.html#10281" class="Bound">f</a>
|
|||
|
<a id="10402" class="Symbol">;</a> <a id="10404" href="Function.Bundles.html#7283" class="Field">cong₂</a> <a id="10413" class="Symbol">=</a> <a id="10415" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="10422" href="Function.Bundles.html#10285" class="Bound">g₁</a>
|
|||
|
<a id="10429" class="Symbol">;</a> <a id="10431" href="Function.Bundles.html#7326" class="Field">cong₃</a> <a id="10440" class="Symbol">=</a> <a id="10442" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="10449" href="Function.Bundles.html#10290" class="Bound">g₂</a>
|
|||
|
<a id="10456" class="Symbol">;</a> <a id="10458" href="Function.Bundles.html#7369" class="Field">inverseˡ</a> <a id="10467" class="Symbol">=</a> <a id="10469" href="Function.Bundles.html#10294" class="Bound">invˡ</a>
|
|||
|
<a id="10478" class="Symbol">;</a> <a id="10480" href="Function.Bundles.html#7401" class="Field">inverseʳ</a> <a id="10489" class="Symbol">=</a> <a id="10491" href="Function.Bundles.html#10299" class="Bound">invʳ</a>
|
|||
|
<a id="10500" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="10505" href="Function.Bundles.html#10505" class="Function">mk↔</a> <a id="10509" class="Symbol">:</a> <a id="10511" class="Symbol">∀</a> <a id="10513" class="Symbol">{</a><a id="10514" href="Function.Bundles.html#10514" class="Bound">f</a> <a id="10516" class="Symbol">:</a> <a id="10518" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="10520" class="Symbol">→</a> <a id="10522" href="Function.Bundles.html#9024" class="Bound">B</a><a id="10523" class="Symbol">}</a> <a id="10525" class="Symbol">{</a><a id="10526" href="Function.Bundles.html#10526" class="Bound">f⁻¹</a> <a id="10530" class="Symbol">:</a> <a id="10532" href="Function.Bundles.html#9024" class="Bound">B</a> <a id="10534" class="Symbol">→</a> <a id="10536" href="Function.Bundles.html#9012" class="Bound">A</a><a id="10537" class="Symbol">}</a> <a id="10539" class="Symbol">→</a> <a id="10541" href="Function.Definitions.html#1200" class="Function">Inverseᵇ</a> <a id="10550" href="Function.Bundles.html#10514" class="Bound">f</a> <a id="10552" href="Function.Bundles.html#10526" class="Bound">f⁻¹</a> <a id="10556" class="Symbol">→</a> <a id="10558" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="10560" href="Function.Bundles.html#8819" class="Function Operator">↔</a> <a id="10562" href="Function.Bundles.html#9024" class="Bound">B</a>
|
|||
|
<a id="10566" href="Function.Bundles.html#10505" class="Function">mk↔</a> <a id="10570" class="Symbol">{</a><a id="10571" href="Function.Bundles.html#10571" class="Bound">f</a><a id="10572" class="Symbol">}</a> <a id="10574" class="Symbol">{</a><a id="10575" href="Function.Bundles.html#10575" class="Bound">f⁻¹</a><a id="10578" class="Symbol">}</a> <a id="10580" href="Function.Bundles.html#10580" class="Bound">inv</a> <a id="10584" class="Symbol">=</a> <a id="10586" class="Keyword">record</a>
|
|||
|
<a id="10597" class="Symbol">{</a> <a id="10599" href="Function.Bundles.html#5855" class="Field">f</a> <a id="10607" class="Symbol">=</a> <a id="10609" href="Function.Bundles.html#10571" class="Bound">f</a>
|
|||
|
<a id="10615" class="Symbol">;</a> <a id="10617" href="Function.Bundles.html#5879" class="Field">f⁻¹</a> <a id="10625" class="Symbol">=</a> <a id="10627" href="Function.Bundles.html#10575" class="Bound">f⁻¹</a>
|
|||
|
<a id="10635" class="Symbol">;</a> <a id="10637" href="Function.Bundles.html#5903" class="Field">cong₁</a> <a id="10645" class="Symbol">=</a> <a id="10647" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="10654" href="Function.Bundles.html#10571" class="Bound">f</a>
|
|||
|
<a id="10660" class="Symbol">;</a> <a id="10662" href="Function.Bundles.html#5945" class="Field">cong₂</a> <a id="10670" class="Symbol">=</a> <a id="10672" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">≡.cong</a> <a id="10679" href="Function.Bundles.html#10575" class="Bound">f⁻¹</a>
|
|||
|
<a id="10687" class="Symbol">;</a> <a id="10689" href="Function.Bundles.html#5989" class="Field">inverse</a> <a id="10697" class="Symbol">=</a> <a id="10699" href="Function.Bundles.html#10580" class="Bound">inv</a>
|
|||
|
<a id="10707" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="10712" class="Comment">-- Sometimes the implicit arguments above cannot be inferred</a>
|
|||
|
<a id="10775" href="Function.Bundles.html#10775" class="Function">mk↔′</a> <a id="10780" class="Symbol">:</a> <a id="10782" class="Symbol">∀</a> <a id="10784" class="Symbol">(</a><a id="10785" href="Function.Bundles.html#10785" class="Bound">f</a> <a id="10787" class="Symbol">:</a> <a id="10789" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="10791" class="Symbol">→</a> <a id="10793" href="Function.Bundles.html#9024" class="Bound">B</a><a id="10794" class="Symbol">)</a> <a id="10796" class="Symbol">(</a><a id="10797" href="Function.Bundles.html#10797" class="Bound">f⁻¹</a> <a id="10801" class="Symbol">:</a> <a id="10803" href="Function.Bundles.html#9024" class="Bound">B</a> <a id="10805" class="Symbol">→</a> <a id="10807" href="Function.Bundles.html#9012" class="Bound">A</a><a id="10808" class="Symbol">)</a> <a id="10810" class="Symbol">→</a> <a id="10812" href="Function.Definitions.Core2.html#827" class="Function">Inverseˡ</a> <a id="10821" href="Function.Bundles.html#10785" class="Bound">f</a> <a id="10823" href="Function.Bundles.html#10797" class="Bound">f⁻¹</a> <a id="10827" class="Symbol">→</a> <a id="10829" href="Function.Definitions.Core1.html#684" class="Function">Inverseʳ</a> <a id="10838" href="Function.Bundles.html#10785" class="Bound">f</a> <a id="10840" href="Function.Bundles.html#10797" class="Bound">f⁻¹</a> <a id="10844" class="Symbol">→</a> <a id="10846" href="Function.Bundles.html#9012" class="Bound">A</a> <a id="10848" href="Function.Bundles.html#8819" class="Function Operator">↔</a> <a id="10850" href="Function.Bundles.html#9024" class="Bound">B</a>
|
|||
|
<a id="10854" href="Function.Bundles.html#10775" class="Function">mk↔′</a> <a id="10859" href="Function.Bundles.html#10859" class="Bound">f</a> <a id="10861" href="Function.Bundles.html#10861" class="Bound">f⁻¹</a> <a id="10865" href="Function.Bundles.html#10865" class="Bound">invˡ</a> <a id="10870" href="Function.Bundles.html#10870" class="Bound">invʳ</a> <a id="10875" class="Symbol">=</a> <a id="10877" href="Function.Bundles.html#10505" class="Function">mk↔</a> <a id="10881" class="Symbol">{</a><a id="10882" class="Argument">f</a> <a id="10884" class="Symbol">=</a> <a id="10886" href="Function.Bundles.html#10859" class="Bound">f</a><a id="10887" class="Symbol">}</a> <a id="10889" class="Symbol">{</a><a id="10890" class="Argument">f⁻¹</a> <a id="10894" class="Symbol">=</a> <a id="10896" href="Function.Bundles.html#10861" class="Bound">f⁻¹</a><a id="10899" class="Symbol">}</a> <a id="10901" class="Symbol">(</a><a id="10902" href="Function.Bundles.html#10865" class="Bound">invˡ</a> <a id="10907" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="10909" href="Function.Bundles.html#10870" class="Bound">invʳ</a><a id="10913" class="Symbol">)</a>
|
|||
|
</pre></body></html>
|