bsc-leon-vatthauer/public/Categories.Adjoint.html

229 lines
No EOL
101 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Categories.Adjoint</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--without-K</a> <a id="25" class="Pragma">--safe</a> <a id="32" class="Symbol">#-}</a>
<a id="36" class="Keyword">module</a> <a id="43" href="Categories.Adjoint.html" class="Module">Categories.Adjoint</a> <a id="62" class="Keyword">where</a>
<a id="69" class="Comment">-- Adjoints</a>
<a id="82" class="Keyword">open</a> <a id="87" class="Keyword">import</a> <a id="94" href="Level.html" class="Module">Level</a>
<a id="101" class="Keyword">open</a> <a id="106" class="Keyword">import</a> <a id="113" href="Data.Product.html" class="Module">Data.Product</a> <a id="126" class="Keyword">using</a> <a id="132" class="Symbol">(</a><a id="133" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="136" class="Symbol">;</a> <a id="138" href="Data.Product.html#1176" class="Function Operator">_×_</a><a id="141" class="Symbol">)</a>
<a id="143" class="Keyword">open</a> <a id="148" class="Keyword">import</a> <a id="155" href="Function.html" class="Module">Function</a> <a id="164" class="Keyword">using</a> <a id="170" class="Symbol">(</a><a id="171" href="Function.Base.html#1928" class="Function Operator">_$_</a><a id="174" class="Symbol">)</a> <a id="176" class="Keyword">renaming</a> <a id="185" class="Symbol">(</a><a id="186" href="Function.Base.html#1040" class="Function Operator">_∘_</a> <a id="190" class="Symbol">to</a> <a id="193" class="Function Operator">_∙_</a><a id="196" class="Symbol">)</a>
<a id="198" class="Keyword">open</a> <a id="203" class="Keyword">import</a> <a id="210" href="Function.Equality.html" class="Module">Function.Equality</a> <a id="228" class="Keyword">using</a> <a id="234" class="Symbol">(</a><a id="235" href="Function.Equality.html#898" class="Record">Π</a><a id="236" class="Symbol">;</a> <a id="238" href="Function.Equality.html#1227" class="Function Operator">_⟶_</a><a id="241" class="Symbol">)</a>
<a id="243" class="Keyword">import</a> <a id="250" href="Function.Inverse.html" class="Module">Function.Inverse</a> <a id="267" class="Symbol">as</a> <a id="270" class="Module">FI</a>
<a id="273" class="Keyword">open</a> <a id="278" class="Keyword">import</a> <a id="285" href="Relation.Binary.html" class="Module">Relation.Binary</a> <a id="301" class="Keyword">using</a> <a id="307" class="Symbol">(</a><a id="308" href="Relation.Binary.Core.html#891" class="Function">Rel</a><a id="311" class="Symbol">;</a> <a id="313" href="Relation.Binary.Structures.html#1531" class="Record">IsEquivalence</a><a id="326" class="Symbol">;</a> <a id="328" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a><a id="334" class="Symbol">)</a>
<a id="336" class="Keyword">open</a> <a id="341" class="Keyword">import</a> <a id="348" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a> <a id="386" class="Symbol">as</a> <a id="389" class="Module"></a> <a id="391" class="Keyword">using</a> <a id="397" class="Symbol">(</a><a id="398" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a><a id="401" class="Symbol">)</a>
<a id="404" class="Comment">-- be explicit in imports to &#39;see&#39; where the information comes from</a>
<a id="472" class="Keyword">open</a> <a id="477" class="Keyword">import</a> <a id="484" href="Categories.Category.Core.html" class="Module">Categories.Category.Core</a> <a id="509" class="Keyword">using</a> <a id="515" class="Symbol">(</a><a id="516" href="Categories.Category.Core.html#442" class="Record">Category</a><a id="524" class="Symbol">)</a>
<a id="526" class="Keyword">open</a> <a id="531" class="Keyword">import</a> <a id="538" href="Categories.Category.Product.html" class="Module">Categories.Category.Product</a> <a id="566" class="Keyword">using</a> <a id="572" class="Symbol">(</a><a id="573" href="Categories.Category.Product.html#745" class="Function">Product</a><a id="580" class="Symbol">;</a> <a id="582" href="Categories.Category.Product.html#1962" class="Function Operator">_⁂_</a><a id="585" class="Symbol">)</a>
<a id="587" class="Keyword">open</a> <a id="592" class="Keyword">import</a> <a id="599" href="Categories.Category.Instance.Setoids.html" class="Module">Categories.Category.Instance.Setoids</a>
<a id="636" class="Keyword">open</a> <a id="641" class="Keyword">import</a> <a id="648" href="Categories.Morphism.html" class="Module">Categories.Morphism</a>
<a id="668" class="Keyword">open</a> <a id="673" class="Keyword">import</a> <a id="680" href="Categories.Functor.html" class="Module">Categories.Functor</a> <a id="699" class="Keyword">using</a> <a id="705" class="Symbol">(</a><a id="706" href="Categories.Functor.Core.html#248" class="Record">Functor</a><a id="713" class="Symbol">;</a> <a id="715" href="Categories.Functor.html#747" class="Function Operator">_∘F_</a><a id="719" class="Symbol">)</a> <a id="721" class="Keyword">renaming</a> <a id="730" class="Symbol">(</a><a id="731" href="Categories.Functor.html#349" class="Function">id</a> <a id="734" class="Symbol">to</a> <a id="737" class="Function">idF</a><a id="740" class="Symbol">)</a>
<a id="742" class="Keyword">open</a> <a id="747" class="Keyword">import</a> <a id="754" href="Categories.Functor.Bifunctor.html" class="Module">Categories.Functor.Bifunctor</a> <a id="783" class="Keyword">using</a> <a id="789" class="Symbol">(</a><a id="790" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a><a id="799" class="Symbol">)</a>
<a id="801" class="Keyword">open</a> <a id="806" class="Keyword">import</a> <a id="813" href="Categories.Functor.Hom.html" class="Module">Categories.Functor.Hom</a> <a id="836" class="Keyword">using</a> <a id="842" class="Symbol">(</a><a id="843" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[_][-,-]</a><a id="854" class="Symbol">)</a>
<a id="856" class="Keyword">open</a> <a id="861" class="Keyword">import</a> <a id="868" href="Categories.Functor.Construction.LiftSetoids.html" class="Module">Categories.Functor.Construction.LiftSetoids</a>
<a id="912" class="Keyword">open</a> <a id="917" class="Keyword">import</a> <a id="924" href="Categories.NaturalTransformation.html" class="Module">Categories.NaturalTransformation</a> <a id="957" class="Keyword">using</a> <a id="963" class="Symbol">(</a><a id="964" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a><a id="985" class="Symbol">;</a> <a id="987" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a><a id="995" class="Symbol">;</a> <a id="997" href="Categories.NaturalTransformation.Core.html#2919" class="Function Operator">_∘ₕ_</a><a id="1001" class="Symbol">;</a> <a id="1003" href="Categories.NaturalTransformation.Core.html#2439" class="Function Operator">_∘ᵥ_</a><a id="1007" class="Symbol">;</a> <a id="1009" href="Categories.NaturalTransformation.Core.html#3439" class="Function Operator">_∘ˡ_</a><a id="1013" class="Symbol">;</a> <a id="1015" href="Categories.NaturalTransformation.Core.html#3784" class="Function Operator">_∘ʳ_</a><a id="1019" class="Symbol">)</a>
<a id="1023" class="Keyword">renaming</a> <a id="1032" class="Symbol">(</a><a id="1033" href="Categories.NaturalTransformation.Core.html#2132" class="Function">id</a> <a id="1036" class="Symbol">to</a> <a id="1039" class="Function">idN</a><a id="1042" class="Symbol">)</a>
<a id="1044" class="Keyword">open</a> <a id="1049" class="Keyword">import</a> <a id="1056" href="Categories.NaturalTransformation.NaturalIsomorphism.html" class="Module">Categories.NaturalTransformation.NaturalIsomorphism</a>
<a id="1110" class="Keyword">using</a> <a id="1116" class="Symbol">(</a><a id="1117" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a><a id="1135" class="Symbol">;</a> <a id="1137" href="Categories.NaturalTransformation.NaturalIsomorphism.html#6216" class="Function">unitorˡ</a><a id="1144" class="Symbol">;</a> <a id="1146" href="Categories.NaturalTransformation.NaturalIsomorphism.html#6312" class="Function">unitorʳ</a><a id="1153" class="Symbol">;</a> <a id="1155" href="Categories.NaturalTransformation.NaturalIsomorphism.html#7073" class="Function">associator</a><a id="1165" class="Symbol">;</a> <a id="1167" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">_≃_</a><a id="1170" class="Symbol">)</a>
<a id="1172" class="Keyword">import</a> <a id="1179" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="1209" class="Symbol">as</a> <a id="1212" class="Module">MR</a>
<a id="1216" class="Keyword">private</a>
<a id="1226" class="Keyword">variable</a>
<a id="1239" href="Categories.Adjoint.html#1239" class="Generalizable">o</a> <a id="1241" href="Categories.Adjoint.html#1241" class="Generalizable">o</a> <a id="1244" href="Categories.Adjoint.html#1244" class="Generalizable">o″</a> <a id="1247" href="Categories.Adjoint.html#1247" class="Generalizable"></a> <a id="1249" href="Categories.Adjoint.html#1249" class="Generalizable"></a> <a id="1252" href="Categories.Adjoint.html#1252" class="Generalizable">ℓ″</a> <a id="1255" href="Categories.Adjoint.html#1255" class="Generalizable">e</a> <a id="1257" href="Categories.Adjoint.html#1257" class="Generalizable">e</a> <a id="1260" href="Categories.Adjoint.html#1260" class="Generalizable">e″</a> <a id="1263" class="Symbol">:</a> <a id="1265" href="Agda.Primitive.html#591" class="Postulate">Level</a>
<a id="1275" href="Categories.Adjoint.html#1275" class="Generalizable">C</a> <a id="1277" href="Categories.Adjoint.html#1277" class="Generalizable">D</a> <a id="1279" href="Categories.Adjoint.html#1279" class="Generalizable">E</a> <a id="1281" class="Symbol">:</a> <a id="1283" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1292" href="Categories.Adjoint.html#1239" class="Generalizable">o</a> <a id="1294" href="Categories.Adjoint.html#1247" class="Generalizable"></a> <a id="1296" href="Categories.Adjoint.html#1255" class="Generalizable">e</a>
<a id="1299" class="Keyword">record</a> <a id="Adjoint"></a><a id="1306" href="Categories.Adjoint.html#1306" class="Record">Adjoint</a> <a id="1314" class="Symbol">(</a><a id="1315" href="Categories.Adjoint.html#1315" class="Bound">L</a> <a id="1317" class="Symbol">:</a> <a id="1319" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="1327" href="Categories.Adjoint.html#1275" class="Generalizable">C</a> <a id="1329" href="Categories.Adjoint.html#1277" class="Generalizable">D</a><a id="1330" class="Symbol">)</a> <a id="1332" class="Symbol">(</a><a id="1333" href="Categories.Adjoint.html#1333" class="Bound">R</a> <a id="1335" class="Symbol">:</a> <a id="1337" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="1345" href="Categories.Adjoint.html#1277" class="Generalizable">D</a> <a id="1347" href="Categories.Adjoint.html#1275" class="Generalizable">C</a><a id="1348" class="Symbol">)</a> <a id="1350" class="Symbol">:</a> <a id="1352" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1356" class="Symbol">(</a><a id="1357" href="Level.html#602" class="Function">levelOfTerm</a> <a id="1369" href="Categories.Adjoint.html#1315" class="Bound">L</a> <a id="1371" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1373" href="Level.html#602" class="Function">levelOfTerm</a> <a id="1385" href="Categories.Adjoint.html#1333" class="Bound">R</a><a id="1386" class="Symbol">)</a> <a id="1388" class="Keyword">where</a>
<a id="1396" class="Keyword">private</a>
<a id="1408" class="Keyword">module</a> <a id="Adjoint.C"></a><a id="1415" href="Categories.Adjoint.html#1415" class="Module">C</a> <a id="1417" class="Symbol">=</a> <a id="1419" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1428" href="Categories.Adjoint.html#1327" class="Bound">C</a>
<a id="1434" class="Keyword">module</a> <a id="Adjoint.D"></a><a id="1441" href="Categories.Adjoint.html#1441" class="Module">D</a> <a id="1443" class="Symbol">=</a> <a id="1445" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1454" href="Categories.Adjoint.html#1329" class="Bound">D</a>
<a id="1460" class="Keyword">module</a> <a id="Adjoint.L"></a><a id="1467" href="Categories.Adjoint.html#1467" class="Module">L</a> <a id="1469" class="Symbol">=</a> <a id="1471" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="1479" href="Categories.Adjoint.html#1315" class="Bound">L</a>
<a id="1485" class="Keyword">module</a> <a id="Adjoint.R"></a><a id="1492" href="Categories.Adjoint.html#1492" class="Module">R</a> <a id="1494" class="Symbol">=</a> <a id="1496" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="1504" href="Categories.Adjoint.html#1333" class="Bound">R</a>
<a id="1509" class="Keyword">field</a>
<a id="Adjoint.unit"></a><a id="1519" href="Categories.Adjoint.html#1519" class="Field">unit</a> <a id="1526" class="Symbol">:</a> <a id="1528" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="1550" href="Categories.Adjoint.html#737" class="Function">idF</a> <a id="1554" class="Symbol">(</a><a id="1555" href="Categories.Adjoint.html#1333" class="Bound">R</a> <a id="1557" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="1560" href="Categories.Adjoint.html#1315" class="Bound">L</a><a id="1561" class="Symbol">)</a>
<a id="Adjoint.counit"></a><a id="1567" href="Categories.Adjoint.html#1567" class="Field">counit</a> <a id="1574" class="Symbol">:</a> <a id="1576" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="1598" class="Symbol">(</a><a id="1599" href="Categories.Adjoint.html#1315" class="Bound">L</a> <a id="1601" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="1604" href="Categories.Adjoint.html#1333" class="Bound">R</a><a id="1605" class="Symbol">)</a> <a id="1607" href="Categories.Adjoint.html#737" class="Function">idF</a>
<a id="1614" class="Keyword">module</a> <a id="Adjoint.unit"></a><a id="1621" href="Categories.Adjoint.html#1621" class="Module">unit</a> <a id="1626" class="Symbol">=</a> <a id="1628" href="Categories.NaturalTransformation.Core.html#466" class="Module">NaturalTransformation</a> <a id="1650" href="Categories.Adjoint.html#1519" class="Field">unit</a>
<a id="1657" class="Keyword">module</a> <a id="Adjoint.counit"></a><a id="1664" href="Categories.Adjoint.html#1664" class="Module">counit</a> <a id="1671" class="Symbol">=</a> <a id="1673" href="Categories.NaturalTransformation.Core.html#466" class="Module">NaturalTransformation</a> <a id="1695" href="Categories.Adjoint.html#1567" class="Field">counit</a>
<a id="1705" class="Keyword">field</a>
<a id="Adjoint.zig"></a><a id="1715" href="Categories.Adjoint.html#1715" class="Field">zig</a> <a id="1719" class="Symbol">:</a> <a id="1721" class="Symbol"></a> <a id="1723" class="Symbol">{</a><a id="1724" href="Categories.Adjoint.html#1724" class="Bound">A</a> <a id="1726" class="Symbol">:</a> <a id="1728" href="Categories.Category.Core.html#559" class="Function">C.Obj</a><a id="1733" class="Symbol">}</a> <a id="1735" class="Symbol"></a> <a id="1737" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="1746" class="Symbol">(</a><a id="1747" href="Categories.Functor.Core.html#432" class="Function">L.F₀</a> <a id="1752" href="Categories.Adjoint.html#1724" class="Bound">A</a><a id="1753" class="Symbol">)</a> <a id="1755" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="1759" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="1764" class="Symbol">(</a><a id="1765" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="1772" href="Categories.Adjoint.html#1724" class="Bound">A</a><a id="1773" class="Symbol">)</a> <a id="1775" href="Categories.Category.Core.html#595" class="Function Operator">D.≈</a> <a id="1779" href="Categories.Category.Core.html#630" class="Function">D.id</a>
<a id="Adjoint.zag"></a><a id="1788" href="Categories.Adjoint.html#1788" class="Field">zag</a> <a id="1792" class="Symbol">:</a> <a id="1794" class="Symbol"></a> <a id="1796" class="Symbol">{</a><a id="1797" href="Categories.Adjoint.html#1797" class="Bound">B</a> <a id="1799" class="Symbol">:</a> <a id="1801" href="Categories.Category.Core.html#559" class="Function">D.Obj</a><a id="1806" class="Symbol">}</a> <a id="1808" class="Symbol"></a> <a id="1810" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="1815" class="Symbol">(</a><a id="1816" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="1825" href="Categories.Adjoint.html#1797" class="Bound">B</a><a id="1826" class="Symbol">)</a> <a id="1828" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="1832" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="1839" class="Symbol">(</a><a id="1840" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="1845" href="Categories.Adjoint.html#1797" class="Bound">B</a><a id="1846" class="Symbol">)</a> <a id="1848" href="Categories.Category.Core.html#595" class="Function Operator">C.≈</a> <a id="1852" href="Categories.Category.Core.html#630" class="Function">C.id</a>
<a id="1860" class="Keyword">private</a>
<a id="1872" class="Keyword">variable</a>
<a id="1887" href="Categories.Adjoint.html#1887" class="Generalizable">A</a> <a id="1889" class="Symbol">:</a> <a id="1891" href="Categories.Category.Core.html#559" class="Function">C.Obj</a>
<a id="1903" href="Categories.Adjoint.html#1903" class="Generalizable">B</a> <a id="1905" class="Symbol">:</a> <a id="1907" href="Categories.Category.Core.html#559" class="Function">D.Obj</a>
<a id="Adjoint.Ladjunct"></a><a id="1916" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="1925" class="Symbol">:</a> <a id="1927" href="Categories.Functor.Core.html#432" class="Function">L.F₀</a> <a id="1932" href="Categories.Adjoint.html#1887" class="Generalizable">A</a> <a id="1934" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="1938" href="Categories.Adjoint.html#1903" class="Generalizable">B</a> <a id="1940" class="Symbol"></a> <a id="1942" href="Categories.Adjoint.html#1887" class="Generalizable">A</a> <a id="1944" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="1948" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="1953" href="Categories.Adjoint.html#1903" class="Generalizable">B</a>
<a id="1957" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="1966" href="Categories.Adjoint.html#1966" class="Bound">f</a> <a id="1968" class="Symbol">=</a> <a id="1970" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="1975" href="Categories.Adjoint.html#1966" class="Bound">f</a> <a id="1977" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="1981" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="1988" class="Symbol">_</a>
<a id="Adjoint.Radjunct"></a><a id="1993" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="2002" class="Symbol">:</a> <a id="2004" href="Categories.Adjoint.html#1887" class="Generalizable">A</a> <a id="2006" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="2010" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="2015" href="Categories.Adjoint.html#1903" class="Generalizable">B</a> <a id="2017" class="Symbol"></a> <a id="2019" href="Categories.Functor.Core.html#432" class="Function">L.F₀</a> <a id="2024" href="Categories.Adjoint.html#1887" class="Generalizable">A</a> <a id="2026" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="2030" href="Categories.Adjoint.html#1903" class="Generalizable">B</a>
<a id="2034" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="2043" href="Categories.Adjoint.html#2043" class="Bound">f</a> <a id="2045" class="Symbol">=</a> <a id="2047" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="2056" class="Symbol">_</a> <a id="2058" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="2062" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="2067" href="Categories.Adjoint.html#2043" class="Bound">f</a>
<a id="Adjoint.RLadjunct≈id"></a><a id="2072" href="Categories.Adjoint.html#2072" class="Function">RLadjunct≈id</a> <a id="2085" class="Symbol">:</a> <a id="2087" class="Symbol"></a> <a id="2089" class="Symbol">{</a><a id="2090" href="Categories.Adjoint.html#2090" class="Bound">f</a> <a id="2092" class="Symbol">:</a> <a id="2094" href="Categories.Functor.Core.html#432" class="Function">L.F₀</a> <a id="2099" href="Categories.Adjoint.html#1887" class="Generalizable">A</a> <a id="2101" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="2105" href="Categories.Adjoint.html#1903" class="Generalizable">B</a><a id="2106" class="Symbol">}</a> <a id="2108" class="Symbol"></a> <a id="2110" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="2119" class="Symbol">(</a><a id="2120" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="2129" href="Categories.Adjoint.html#2090" class="Bound">f</a><a id="2130" class="Symbol">)</a> <a id="2132" href="Categories.Category.Core.html#595" class="Function Operator">D.≈</a> <a id="2136" href="Categories.Adjoint.html#2090" class="Bound">f</a>
<a id="2140" href="Categories.Adjoint.html#2072" class="Function">RLadjunct≈id</a> <a id="2153" class="Symbol">{</a><a id="2154" class="Argument">f</a> <a id="2156" class="Symbol">=</a> <a id="2158" href="Categories.Adjoint.html#2158" class="Bound">f</a><a id="2159" class="Symbol">}</a> <a id="2161" class="Symbol">=</a> <a id="2163" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="2173" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="2182" class="Symbol">(</a><a id="2183" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="2192" href="Categories.Adjoint.html#2158" class="Bound">f</a><a id="2193" class="Symbol">)</a> <a id="2222" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2225" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="2233" href="Categories.Functor.Core.html#565" class="Function">L.homomorphism</a> <a id="2248" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2254" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="2263" class="Symbol">_</a> <a id="2265" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="2269" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="2274" class="Symbol">(</a><a id="2275" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="2280" href="Categories.Adjoint.html#2158" class="Bound">f</a><a id="2281" class="Symbol">)</a> <a id="2283" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="2287" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="2292" class="Symbol">(</a><a id="2293" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="2300" class="Symbol">_)</a> <a id="2303" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2306" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="2312" class="Symbol">(</a><a id="2313" href="Categories.NaturalTransformation.Core.html#827" class="Function">counit.commute</a> <a id="2328" href="Categories.Adjoint.html#2158" class="Bound">f</a><a id="2329" class="Symbol">)</a> <a id="2331" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2337" class="Symbol">(</a><a id="2338" href="Categories.Adjoint.html#2158" class="Bound">f</a> <a id="2340" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="2344" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="2353" class="Symbol">_)</a> <a id="2356" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="2360" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="2365" class="Symbol">(</a><a id="2366" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="2373" class="Symbol">_)</a> <a id="2386" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2389" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="2395" href="Categories.Adjoint.html#1715" class="Field">zig</a> <a id="2399" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2405" href="Categories.Adjoint.html#2158" class="Bound">f</a> <a id="2407" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="2411" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="2454" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2457" href="Categories.Category.Core.html#1145" class="Function">D.identityʳ</a> <a id="2469" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2475" href="Categories.Adjoint.html#2158" class="Bound">f</a> <a id="2524" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="2530" class="Keyword">where</a> <a id="2536" class="Keyword">open</a> <a id="2541" href="Categories.Category.Core.html#2462" class="Module">D.HomReasoning</a>
<a id="2566" class="Keyword">open</a> <a id="2571" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="2574" href="Categories.Adjoint.html#1329" class="Bound">D</a>
<a id="Adjoint.LRadjunct≈id"></a><a id="2579" href="Categories.Adjoint.html#2579" class="Function">LRadjunct≈id</a> <a id="2592" class="Symbol">:</a> <a id="2594" class="Symbol"></a> <a id="2596" class="Symbol">{</a><a id="2597" href="Categories.Adjoint.html#2597" class="Bound">f</a> <a id="2599" class="Symbol">:</a> <a id="2601" href="Categories.Adjoint.html#1887" class="Generalizable">A</a> <a id="2603" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="2607" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="2612" href="Categories.Adjoint.html#1903" class="Generalizable">B</a><a id="2613" class="Symbol">}</a> <a id="2615" class="Symbol"></a> <a id="2617" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="2626" class="Symbol">(</a><a id="2627" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="2636" href="Categories.Adjoint.html#2597" class="Bound">f</a><a id="2637" class="Symbol">)</a> <a id="2639" href="Categories.Category.Core.html#595" class="Function Operator">C.≈</a> <a id="2643" href="Categories.Adjoint.html#2597" class="Bound">f</a>
<a id="2647" href="Categories.Adjoint.html#2579" class="Function">LRadjunct≈id</a> <a id="2660" class="Symbol">{</a><a id="2661" class="Argument">f</a> <a id="2663" class="Symbol">=</a> <a id="2665" href="Categories.Adjoint.html#2665" class="Bound">f</a><a id="2666" class="Symbol">}</a> <a id="2668" class="Symbol">=</a> <a id="2670" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="2680" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="2689" class="Symbol">(</a><a id="2690" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="2699" href="Categories.Adjoint.html#2665" class="Bound">f</a><a id="2700" class="Symbol">)</a> <a id="2731" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2734" href="Categories.Functor.Core.html#565" class="Function">R.homomorphism</a> <a id="2749" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="2757" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2763" class="Symbol">(</a><a id="2764" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="2769" class="Symbol">(</a><a id="2770" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="2779" class="Symbol">_)</a> <a id="2782" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="2786" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="2791" class="Symbol">(</a><a id="2792" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="2797" href="Categories.Adjoint.html#2665" class="Bound">f</a><a id="2798" class="Symbol">))</a> <a id="2801" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="2805" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="2812" class="Symbol">_</a> <a id="2814" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="2818" href="Categories.Morphism.Reasoning.Core.html#2347" class="Function">pushʳ</a> <a id="2824" class="Symbol">(</a><a id="2825" href="Categories.NaturalTransformation.Core.html#827" class="Function">unit.commute</a> <a id="2838" href="Categories.Adjoint.html#2665" class="Bound">f</a><a id="2839" class="Symbol">)</a> <a id="2841" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function"></a>
<a id="2847" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="2852" class="Symbol">(</a><a id="2853" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="2862" class="Symbol">_)</a> <a id="2865" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="2869" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="2876" class="Symbol">_</a> <a id="2878" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="2882" href="Categories.Adjoint.html#2665" class="Bound">f</a> <a id="2898" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2901" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="2907" href="Categories.Adjoint.html#1788" class="Field">zag</a> <a id="2911" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2917" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="2922" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="2926" href="Categories.Adjoint.html#2665" class="Bound">f</a> <a id="2968" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2971" href="Categories.Category.Core.html#1096" class="Function">C.identityˡ</a> <a id="2983" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2989" href="Categories.Adjoint.html#2665" class="Bound">f</a> <a id="3040" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="3046" class="Keyword">where</a> <a id="3052" class="Keyword">open</a> <a id="3057" href="Categories.Category.Core.html#2462" class="Module">C.HomReasoning</a>
<a id="3082" class="Keyword">open</a> <a id="3087" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="3090" href="Categories.Adjoint.html#1327" class="Bound">C</a>
<a id="Adjoint.Hom[L-,-]"></a><a id="3095" href="Categories.Adjoint.html#3095" class="Function">Hom[L-,-]</a> <a id="3105" class="Symbol">:</a> <a id="3107" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="3117" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="3122" href="Categories.Adjoint.html#1329" class="Bound">D</a> <a id="3124" class="Symbol">(</a><a id="3125" href="Categories.Category.Instance.Setoids.html#316" class="Function">Setoids</a> <a id="3133" class="Symbol">_</a> <a id="3135" class="Symbol">_)</a>
<a id="3140" href="Categories.Adjoint.html#3095" class="Function">Hom[L-,-]</a> <a id="3150" class="Symbol">=</a> <a id="3152" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="3157" href="Categories.Adjoint.html#1329" class="Bound">D</a> <a id="3159" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="3166" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3169" class="Symbol">(</a><a id="3170" href="Categories.Functor.Core.html#816" class="Function">L.op</a> <a id="3175" href="Categories.Category.Product.html#1962" class="Function Operator"></a> <a id="3177" href="Categories.Adjoint.html#737" class="Function">idF</a><a id="3180" class="Symbol">)</a>
<a id="Adjoint.Hom[-,R-]"></a><a id="3185" href="Categories.Adjoint.html#3185" class="Function">Hom[-,R-]</a> <a id="3195" class="Symbol">:</a> <a id="3197" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="3207" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="3212" href="Categories.Adjoint.html#1329" class="Bound">D</a> <a id="3214" class="Symbol">(</a><a id="3215" href="Categories.Category.Instance.Setoids.html#316" class="Function">Setoids</a> <a id="3223" class="Symbol">_</a> <a id="3225" class="Symbol">_)</a>
<a id="3230" href="Categories.Adjoint.html#3185" class="Function">Hom[-,R-]</a> <a id="3240" class="Symbol">=</a> <a id="3242" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="3247" href="Categories.Adjoint.html#1327" class="Bound">C</a> <a id="3249" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="3256" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3259" class="Symbol">(</a><a id="3260" href="Categories.Adjoint.html#737" class="Function">idF</a> <a id="3264" href="Categories.Category.Product.html#1962" class="Function Operator"></a> <a id="3266" href="Categories.Adjoint.html#1333" class="Bound">R</a><a id="3267" class="Symbol">)</a>
<a id="3272" class="Keyword">module</a> <a id="Adjoint.Hom[L-,-]"></a><a id="3279" href="Categories.Adjoint.html#3279" class="Module">Hom[L-,-]</a> <a id="3289" class="Symbol">=</a> <a id="3291" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="3299" href="Categories.Adjoint.html#3095" class="Function">Hom[L-,-]</a>
<a id="3311" class="Keyword">module</a> <a id="Adjoint.Hom[-,R-]"></a><a id="3318" href="Categories.Adjoint.html#3318" class="Module">Hom[-,R-]</a> <a id="3328" class="Symbol">=</a> <a id="3330" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="3338" href="Categories.Adjoint.html#3185" class="Function">Hom[-,R-]</a>
<a id="3351" class="Comment">-- Inverse is more &#39;categorical&#39; than bijection defined via injection/surjection</a>
<a id="Adjoint.Hom-inverse"></a><a id="3434" href="Categories.Adjoint.html#3434" class="Function">Hom-inverse</a> <a id="3446" class="Symbol">:</a> <a id="3448" class="Symbol"></a> <a id="3450" href="Categories.Adjoint.html#3450" class="Bound">A</a> <a id="3452" href="Categories.Adjoint.html#3452" class="Bound">B</a> <a id="3454" class="Symbol"></a> <a id="3456" href="Function.Inverse.html#1394" class="Record">FI.Inverse</a> <a id="3467" class="Symbol">(</a><a id="3468" href="Categories.Functor.Core.html#432" class="Function">Hom[L-,-].F₀</a> <a id="3481" class="Symbol">(</a><a id="3482" href="Categories.Adjoint.html#3450" class="Bound">A</a> <a id="3484" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3486" href="Categories.Adjoint.html#3452" class="Bound">B</a><a id="3487" class="Symbol">))</a> <a id="3490" class="Symbol">(</a><a id="3491" href="Categories.Functor.Core.html#432" class="Function">Hom[-,R-].F₀</a> <a id="3504" class="Symbol">(</a><a id="3505" href="Categories.Adjoint.html#3450" class="Bound">A</a> <a id="3507" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3509" href="Categories.Adjoint.html#3452" class="Bound">B</a><a id="3510" class="Symbol">))</a>
<a id="3515" href="Categories.Adjoint.html#3434" class="Function">Hom-inverse</a> <a id="3527" href="Categories.Adjoint.html#3527" class="Bound">A</a> <a id="3529" href="Categories.Adjoint.html#3529" class="Bound">B</a> <a id="3531" class="Symbol">=</a> <a id="3533" class="Keyword">record</a>
<a id="3544" class="Symbol">{</a> <a id="3546" href="Function.Inverse.html#1532" class="Field">to</a> <a id="3549" class="Symbol">=</a> <a id="3551" class="Keyword">record</a>
<a id="3564" class="Symbol">{</a> <a id="3566" href="Function.Equality.html#1073" class="Field Operator">_⟨$⟩_</a> <a id="3572" class="Symbol">=</a> <a id="3574" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="3583" class="Symbol">{</a><a id="3584" href="Categories.Adjoint.html#3527" class="Bound">A</a><a id="3585" class="Symbol">}</a> <a id="3587" class="Symbol">{</a><a id="3588" href="Categories.Adjoint.html#3529" class="Bound">B</a><a id="3589" class="Symbol">}</a>
<a id="3597" class="Symbol">;</a> <a id="3599" href="Function.Equality.html#1140" class="Field">cong</a> <a id="3604" class="Symbol">=</a> <a id="3606" href="Categories.Category.Core.html#1597" class="Function">C.∘-resp-≈ˡ</a> <a id="3618" href="Categories.Adjoint.html#193" class="Function Operator"></a> <a id="3620" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a>
<a id="3637" class="Symbol">}</a>
<a id="3643" class="Symbol">;</a> <a id="3645" href="Function.Inverse.html#1559" class="Field">from</a> <a id="3650" class="Symbol">=</a> <a id="3652" class="Keyword">record</a>
<a id="3665" class="Symbol">{</a> <a id="3667" href="Function.Equality.html#1073" class="Field Operator">_⟨$⟩_</a> <a id="3673" class="Symbol">=</a> <a id="3675" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="3684" class="Symbol">{</a><a id="3685" href="Categories.Adjoint.html#3527" class="Bound">A</a><a id="3686" class="Symbol">}</a> <a id="3688" class="Symbol">{</a><a id="3689" href="Categories.Adjoint.html#3529" class="Bound">B</a><a id="3690" class="Symbol">}</a>
<a id="3698" class="Symbol">;</a> <a id="3700" href="Function.Equality.html#1140" class="Field">cong</a> <a id="3705" class="Symbol">=</a> <a id="3707" href="Categories.Category.Core.html#1706" class="Function">D.∘-resp-≈ʳ</a> <a id="3719" href="Categories.Adjoint.html#193" class="Function Operator"></a> <a id="3721" href="Categories.Functor.Core.html#696" class="Function">L.F-resp-≈</a>
<a id="3738" class="Symbol">}</a>
<a id="3744" class="Symbol">;</a> <a id="3746" href="Function.Inverse.html#1586" class="Field">inverse-of</a> <a id="3757" class="Symbol">=</a> <a id="3759" class="Keyword">record</a>
<a id="3772" class="Symbol">{</a> <a id="3774" href="Function.Inverse.html#1177" class="Field">left-inverse-of</a> <a id="3790" class="Symbol">=</a> <a id="3792" class="Symbol">λ</a> <a id="3794" href="Categories.Adjoint.html#3794" class="Bound">_</a> <a id="3796" class="Symbol"></a> <a id="3798" href="Categories.Adjoint.html#2072" class="Function">RLadjunct≈id</a>
<a id="3817" class="Symbol">;</a> <a id="3819" href="Function.Inverse.html#1223" class="Field">right-inverse-of</a> <a id="3836" class="Symbol">=</a> <a id="3838" class="Symbol">λ</a> <a id="3840" href="Categories.Adjoint.html#3840" class="Bound">_</a> <a id="3842" class="Symbol"></a> <a id="3844" href="Categories.Adjoint.html#2579" class="Function">LRadjunct≈id</a>
<a id="3863" class="Symbol">}</a>
<a id="3869" class="Symbol">}</a>
<a id="3874" class="Keyword">module</a> <a id="Adjoint.Hom-inverse"></a><a id="3881" href="Categories.Adjoint.html#3881" class="Module">Hom-inverse</a> <a id="3893" class="Symbol">{</a><a id="3894" href="Categories.Adjoint.html#3894" class="Bound">A</a><a id="3895" class="Symbol">}</a> <a id="3897" class="Symbol">{</a><a id="3898" href="Categories.Adjoint.html#3898" class="Bound">B</a><a id="3899" class="Symbol">}</a> <a id="3901" class="Symbol">=</a> <a id="3903" href="Function.Inverse.html#1394" class="Module">FI.Inverse</a> <a id="3914" class="Symbol">(</a><a id="3915" href="Categories.Adjoint.html#3434" class="Function">Hom-inverse</a> <a id="3927" href="Categories.Adjoint.html#3894" class="Bound">A</a> <a id="3929" href="Categories.Adjoint.html#3898" class="Bound">B</a><a id="3930" class="Symbol">)</a>
<a id="Adjoint.op"></a><a id="3935" href="Categories.Adjoint.html#3935" class="Function">op</a> <a id="3938" class="Symbol">:</a> <a id="3940" href="Categories.Adjoint.html#1306" class="Record">Adjoint</a> <a id="3948" href="Categories.Functor.Core.html#816" class="Function">R.op</a> <a id="3953" href="Categories.Functor.Core.html#816" class="Function">L.op</a>
<a id="3960" href="Categories.Adjoint.html#3935" class="Function">op</a> <a id="3963" class="Symbol">=</a> <a id="3965" class="Keyword">record</a>
<a id="3976" class="Symbol">{</a> <a id="3978" href="Categories.Adjoint.html#1519" class="Field">unit</a> <a id="3985" class="Symbol">=</a> <a id="3987" href="Categories.NaturalTransformation.Core.html#1114" class="Function">counit.op</a>
<a id="4001" class="Symbol">;</a> <a id="4003" href="Categories.Adjoint.html#1567" class="Field">counit</a> <a id="4010" class="Symbol">=</a> <a id="4012" href="Categories.NaturalTransformation.Core.html#1114" class="Function">unit.op</a>
<a id="4024" class="Symbol">;</a> <a id="4026" href="Categories.Adjoint.html#1715" class="Field">zig</a> <a id="4033" class="Symbol">=</a> <a id="4035" href="Categories.Adjoint.html#1788" class="Field">zag</a>
<a id="4043" class="Symbol">;</a> <a id="4045" href="Categories.Adjoint.html#1788" class="Field">zag</a> <a id="4052" class="Symbol">=</a> <a id="4054" href="Categories.Adjoint.html#1715" class="Field">zig</a>
<a id="4062" class="Symbol">}</a>
<a id="4067" class="Comment">-- naturality condition on the two hom functors.</a>
<a id="4118" class="Comment">-- these conditions are separated out because a complication due to the</a>
<a id="4192" class="Comment">-- universe level in Agda.</a>
<a id="4221" class="Keyword">module</a> <a id="4228" href="Categories.Adjoint.html#4228" class="Module">_</a> <a id="4230" class="Keyword">where</a>
<a id="4240" class="Keyword">open</a> <a id="4245" href="Categories.Adjoint.html#1415" class="Module">C</a>
<a id="4251" class="Keyword">open</a> <a id="4256" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="4273" class="Keyword">open</a> <a id="4278" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="4281" href="Categories.Adjoint.html#1327" class="Bound">C</a>
<a id="4288" href="Categories.Adjoint.html#4288" class="Function">Ladjunct-comm</a> <a id="4302" class="Symbol">:</a> <a id="4304" class="Symbol"></a> <a id="4306" class="Symbol">{</a><a id="4307" href="Categories.Adjoint.html#4307" class="Bound">X</a> <a id="4309" href="Categories.Adjoint.html#4309" class="Bound">Y</a> <a id="4311" href="Categories.Adjoint.html#4311" class="Bound">A</a> <a id="4313" href="Categories.Adjoint.html#4313" class="Bound">B</a><a id="4314" class="Symbol">}</a> <a id="4316" class="Symbol">{</a><a id="4317" href="Categories.Adjoint.html#4317" class="Bound">h</a> <a id="4319" href="Categories.Adjoint.html#4319" class="Bound">i</a> <a id="4321" class="Symbol">:</a> <a id="4323" href="Categories.Functor.Core.html#432" class="Function">L.F₀</a> <a id="4328" href="Categories.Adjoint.html#4307" class="Bound">X</a> <a id="4330" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="4334" href="Categories.Adjoint.html#4309" class="Bound">Y</a><a id="4335" class="Symbol">}</a> <a id="4337" class="Symbol">{</a><a id="4338" href="Categories.Adjoint.html#4338" class="Bound">f</a> <a id="4340" class="Symbol">:</a> <a id="4342" href="Categories.Adjoint.html#4311" class="Bound">A</a> <a id="4344" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="4346" href="Categories.Adjoint.html#4307" class="Bound">X</a><a id="4347" class="Symbol">}</a> <a id="4349" class="Symbol">{</a><a id="4350" href="Categories.Adjoint.html#4350" class="Bound">g</a> <a id="4352" class="Symbol">:</a> <a id="4354" href="Categories.Adjoint.html#4309" class="Bound">Y</a> <a id="4356" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="4360" href="Categories.Adjoint.html#4313" class="Bound">B</a><a id="4361" class="Symbol">}</a> <a id="4363" class="Symbol"></a>
<a id="4387" href="Categories.Adjoint.html#4317" class="Bound">h</a> <a id="4389" href="Categories.Category.Core.html#595" class="Function Operator">D.≈</a> <a id="4393" href="Categories.Adjoint.html#4319" class="Bound">i</a> <a id="4395" class="Symbol"></a>
<a id="4419" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4424" class="Symbol">(</a><a id="4425" href="Categories.Adjoint.html#4350" class="Bound">g</a> <a id="4427" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4431" href="Categories.Adjoint.html#4317" class="Bound">h</a> <a id="4433" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4437" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="4442" href="Categories.Adjoint.html#4338" class="Bound">f</a><a id="4443" class="Symbol">)</a> <a id="4445" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4447" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="4454" href="Categories.Adjoint.html#4311" class="Bound">A</a> <a id="4456" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="4458" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4463" href="Categories.Adjoint.html#4350" class="Bound">g</a> <a id="4465" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4467" class="Symbol">(</a><a id="4468" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4473" href="Categories.Adjoint.html#4319" class="Bound">i</a> <a id="4475" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4477" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="4484" href="Categories.Adjoint.html#4307" class="Bound">X</a><a id="4485" class="Symbol">)</a> <a id="4487" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4489" href="Categories.Adjoint.html#4338" class="Bound">f</a>
<a id="4495" href="Categories.Adjoint.html#4288" class="Function">Ladjunct-comm</a> <a id="4509" class="Symbol">{</a><a id="4510" href="Categories.Adjoint.html#4510" class="Bound">X</a><a id="4511" class="Symbol">}</a> <a id="4513" class="Symbol">{</a><a id="4514" href="Categories.Adjoint.html#4514" class="Bound">Y</a><a id="4515" class="Symbol">}</a> <a id="4517" class="Symbol">{</a><a id="4518" href="Categories.Adjoint.html#4518" class="Bound">A</a><a id="4519" class="Symbol">}</a> <a id="4521" class="Symbol">{</a><a id="4522" href="Categories.Adjoint.html#4522" class="Bound">B</a><a id="4523" class="Symbol">}</a> <a id="4525" class="Symbol">{</a><a id="4526" href="Categories.Adjoint.html#4526" class="Bound">h</a><a id="4527" class="Symbol">}</a> <a id="4529" class="Symbol">{</a><a id="4530" href="Categories.Adjoint.html#4530" class="Bound">i</a><a id="4531" class="Symbol">}</a> <a id="4533" class="Symbol">{</a><a id="4534" href="Categories.Adjoint.html#4534" class="Bound">f</a><a id="4535" class="Symbol">}</a> <a id="4537" class="Symbol">{</a><a id="4538" href="Categories.Adjoint.html#4538" class="Bound">g</a><a id="4539" class="Symbol">}</a> <a id="4541" href="Categories.Adjoint.html#4541" class="Bound">eq</a> <a id="4544" class="Symbol">=</a> <a id="4546" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="4558" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4563" class="Symbol">(</a><a id="4564" href="Categories.Adjoint.html#4538" class="Bound">g</a> <a id="4566" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4570" href="Categories.Adjoint.html#4526" class="Bound">h</a> <a id="4572" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4576" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="4581" href="Categories.Adjoint.html#4534" class="Bound">f</a><a id="4582" class="Symbol">)</a> <a id="4584" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4586" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="4593" href="Categories.Adjoint.html#4518" class="Bound">A</a> <a id="4603" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4606" href="Categories.Functor.Core.html#565" class="Function">R.homomorphism</a> <a id="4621" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="4629" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="4637" class="Symbol">(</a><a id="4638" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4643" href="Categories.Adjoint.html#4538" class="Bound">g</a> <a id="4645" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4647" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4652" class="Symbol">(</a><a id="4653" href="Categories.Adjoint.html#4526" class="Bound">h</a> <a id="4655" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4659" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="4664" href="Categories.Adjoint.html#4534" class="Bound">f</a><a id="4665" class="Symbol">))</a> <a id="4668" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4670" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="4677" href="Categories.Adjoint.html#4518" class="Bound">A</a> <a id="4682" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4685" class="Symbol">(</a><a id="4686" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4694" href="Categories.Functor.Core.html#565" class="Function">R.homomorphism</a><a id="4708" class="Symbol">)</a> <a id="4710" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="4718" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="4726" class="Symbol">(</a><a id="4727" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4732" href="Categories.Adjoint.html#4538" class="Bound">g</a> <a id="4734" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4736" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4741" href="Categories.Adjoint.html#4526" class="Bound">h</a> <a id="4743" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4745" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4750" class="Symbol">(</a><a id="4751" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="4756" href="Categories.Adjoint.html#4534" class="Bound">f</a><a id="4757" class="Symbol">))</a> <a id="4760" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4762" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="4769" href="Categories.Adjoint.html#4518" class="Bound">A</a> <a id="4771" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4774" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="4780" href="Categories.Category.Core.html#715" class="Function">assoc</a> <a id="4786" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="4794" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4799" href="Categories.Adjoint.html#4538" class="Bound">g</a> <a id="4801" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4803" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4808" href="Categories.Adjoint.html#4526" class="Bound">h</a> <a id="4810" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4812" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4817" class="Symbol">(</a><a id="4818" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="4823" href="Categories.Adjoint.html#4534" class="Bound">f</a><a id="4824" class="Symbol">)</a> <a id="4826" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4828" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="4835" href="Categories.Adjoint.html#4518" class="Bound">A</a> <a id="4839" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="4843" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4851" href="Categories.Category.Core.html#3005" class="Function"></a> <a id="4853" class="Symbol">(</a><a id="4854" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="4865" href="Categories.Adjoint.html#4541" class="Bound">eq</a><a id="4867" class="Symbol">)</a> <a id="4869" href="Categories.Category.Core.html#2634" class="Function Operator">⟩∘⟨</a> <a id="4873" href="Categories.NaturalTransformation.Core.html#827" class="Function">unit.commute</a> <a id="4886" href="Categories.Adjoint.html#4534" class="Bound">f</a> <a id="4888" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function"></a>
<a id="4896" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4901" href="Categories.Adjoint.html#4538" class="Bound">g</a> <a id="4903" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4905" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4910" href="Categories.Adjoint.html#4530" class="Bound">i</a> <a id="4912" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4914" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="4921" href="Categories.Adjoint.html#4510" class="Bound">X</a> <a id="4923" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4925" href="Categories.Adjoint.html#4534" class="Bound">f</a> <a id="4941" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4944" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4952" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="4962" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="4970" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4975" href="Categories.Adjoint.html#4538" class="Bound">g</a> <a id="4977" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4979" class="Symbol">(</a><a id="4980" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4985" href="Categories.Adjoint.html#4530" class="Bound">i</a> <a id="4987" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4989" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="4996" href="Categories.Adjoint.html#4510" class="Bound">X</a><a id="4997" class="Symbol">)</a> <a id="4999" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5001" href="Categories.Adjoint.html#4534" class="Bound">f</a> <a id="5015" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="5022" href="Categories.Adjoint.html#5022" class="Function">Ladjunct-comm</a> <a id="5037" class="Symbol">:</a> <a id="5039" class="Symbol"></a> <a id="5041" class="Symbol">{</a><a id="5042" href="Categories.Adjoint.html#5042" class="Bound">X</a> <a id="5044" href="Categories.Adjoint.html#5044" class="Bound">A</a> <a id="5046" href="Categories.Adjoint.html#5046" class="Bound">B</a><a id="5047" class="Symbol">}</a> <a id="5049" class="Symbol">{</a><a id="5050" href="Categories.Adjoint.html#5050" class="Bound">f</a> <a id="5052" class="Symbol">:</a> <a id="5054" href="Categories.Adjoint.html#5044" class="Bound">A</a> <a id="5056" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="5058" href="Categories.Adjoint.html#5042" class="Bound">X</a><a id="5059" class="Symbol">}</a> <a id="5061" class="Symbol">{</a><a id="5062" href="Categories.Adjoint.html#5062" class="Bound">g</a> <a id="5064" class="Symbol">:</a> <a id="5066" href="Categories.Functor.Core.html#432" class="Function">L.F₀</a> <a id="5071" href="Categories.Adjoint.html#5042" class="Bound">X</a> <a id="5073" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="5077" href="Categories.Adjoint.html#5046" class="Bound">B</a><a id="5078" class="Symbol">}</a> <a id="5080" class="Symbol"></a>
<a id="5104" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="5113" class="Symbol">(</a><a id="5114" href="Categories.Adjoint.html#5062" class="Bound">g</a> <a id="5116" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="5120" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5125" href="Categories.Adjoint.html#5050" class="Bound">f</a><a id="5126" class="Symbol">)</a> <a id="5128" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="5130" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="5139" href="Categories.Adjoint.html#5062" class="Bound">g</a> <a id="5141" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5143" href="Categories.Adjoint.html#5050" class="Bound">f</a>
<a id="5149" href="Categories.Adjoint.html#5022" class="Function">Ladjunct-comm</a> <a id="5164" class="Symbol">=</a> <a id="5166" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="5176" href="Categories.Functor.Core.html#565" class="Function">R.homomorphism</a> <a id="5191" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="5193" class="Symbol">(</a><a id="5194" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5200" class="Symbol">(</a><a id="5201" href="Categories.Category.Core.html#3005" class="Function"></a> <a id="5203" class="Symbol">(</a><a id="5204" href="Categories.NaturalTransformation.Core.html#827" class="Function">unit.commute</a> <a id="5217" class="Symbol">_)))</a> <a id="5222" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="5224" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a>
<a id="5239" href="Categories.Adjoint.html#5239" class="Function">Ladjunct-resp-≈</a> <a id="5255" class="Symbol">:</a> <a id="5257" class="Symbol"></a> <a id="5259" class="Symbol">{</a><a id="5260" href="Categories.Adjoint.html#5260" class="Bound">A</a> <a id="5262" href="Categories.Adjoint.html#5262" class="Bound">B</a><a id="5263" class="Symbol">}</a> <a id="5265" class="Symbol">{</a><a id="5266" href="Categories.Adjoint.html#5266" class="Bound">f</a> <a id="5268" href="Categories.Adjoint.html#5268" class="Bound">g</a> <a id="5270" class="Symbol">:</a> <a id="5272" href="Categories.Functor.Core.html#432" class="Function">L.F₀</a> <a id="5277" href="Categories.Adjoint.html#5260" class="Bound">A</a> <a id="5279" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="5283" href="Categories.Adjoint.html#5262" class="Bound">B</a><a id="5284" class="Symbol">}</a> <a id="5286" class="Symbol"></a> <a id="5288" href="Categories.Adjoint.html#5266" class="Bound">f</a> <a id="5290" href="Categories.Category.Core.html#595" class="Function Operator">D.≈</a> <a id="5294" href="Categories.Adjoint.html#5268" class="Bound">g</a> <a id="5296" class="Symbol"></a> <a id="5298" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="5307" href="Categories.Adjoint.html#5266" class="Bound">f</a> <a id="5309" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="5311" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="5320" href="Categories.Adjoint.html#5268" class="Bound">g</a>
<a id="5326" href="Categories.Adjoint.html#5239" class="Function">Ladjunct-resp-≈</a> <a id="5342" href="Categories.Adjoint.html#5342" class="Bound">eq</a> <a id="5345" class="Symbol">=</a> <a id="5347" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="5357" class="Symbol">(</a><a id="5358" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="5369" href="Categories.Adjoint.html#5342" class="Bound">eq</a><a id="5371" class="Symbol">)</a>
<a id="5376" class="Keyword">module</a> <a id="5383" href="Categories.Adjoint.html#5383" class="Module">_</a> <a id="5385" class="Keyword">where</a>
<a id="5395" class="Keyword">open</a> <a id="5400" href="Categories.Adjoint.html#1441" class="Module">D</a>
<a id="5406" class="Keyword">open</a> <a id="5411" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="5428" class="Keyword">open</a> <a id="5433" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="5436" href="Categories.Adjoint.html#1329" class="Bound">D</a>
<a id="5443" href="Categories.Adjoint.html#5443" class="Function">Radjunct-comm</a> <a id="5457" class="Symbol">:</a> <a id="5459" class="Symbol"></a> <a id="5461" class="Symbol">{</a><a id="5462" href="Categories.Adjoint.html#5462" class="Bound">X</a> <a id="5464" href="Categories.Adjoint.html#5464" class="Bound">Y</a> <a id="5466" href="Categories.Adjoint.html#5466" class="Bound">A</a> <a id="5468" href="Categories.Adjoint.html#5468" class="Bound">B</a><a id="5469" class="Symbol">}</a> <a id="5471" class="Symbol">{</a><a id="5472" href="Categories.Adjoint.html#5472" class="Bound">h</a> <a id="5474" href="Categories.Adjoint.html#5474" class="Bound">i</a> <a id="5476" class="Symbol">:</a> <a id="5478" href="Categories.Adjoint.html#5462" class="Bound">X</a> <a id="5480" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="5484" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="5489" href="Categories.Adjoint.html#5464" class="Bound">Y</a><a id="5490" class="Symbol">}</a> <a id="5492" class="Symbol">{</a><a id="5493" href="Categories.Adjoint.html#5493" class="Bound">f</a> <a id="5495" class="Symbol">:</a> <a id="5497" href="Categories.Adjoint.html#5466" class="Bound">A</a> <a id="5499" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="5503" href="Categories.Adjoint.html#5462" class="Bound">X</a><a id="5504" class="Symbol">}</a> <a id="5506" class="Symbol">{</a><a id="5507" href="Categories.Adjoint.html#5507" class="Bound">g</a> <a id="5509" class="Symbol">:</a> <a id="5511" href="Categories.Adjoint.html#5464" class="Bound">Y</a> <a id="5513" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="5515" href="Categories.Adjoint.html#5468" class="Bound">B</a><a id="5516" class="Symbol">}</a> <a id="5518" class="Symbol"></a>
<a id="5542" href="Categories.Adjoint.html#5472" class="Bound">h</a> <a id="5544" href="Categories.Category.Core.html#595" class="Function Operator">C.≈</a> <a id="5548" href="Categories.Adjoint.html#5474" class="Bound">i</a> <a id="5550" class="Symbol"></a>
<a id="5574" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="5583" href="Categories.Adjoint.html#5468" class="Bound">B</a> <a id="5585" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5587" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5592" class="Symbol">(</a><a id="5593" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5598" href="Categories.Adjoint.html#5507" class="Bound">g</a> <a id="5600" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="5604" href="Categories.Adjoint.html#5472" class="Bound">h</a> <a id="5606" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="5610" href="Categories.Adjoint.html#5493" class="Bound">f</a><a id="5611" class="Symbol">)</a> <a id="5613" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="5615" href="Categories.Adjoint.html#5507" class="Bound">g</a> <a id="5617" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5619" class="Symbol">(</a><a id="5620" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="5629" href="Categories.Adjoint.html#5464" class="Bound">Y</a> <a id="5631" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5633" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5638" href="Categories.Adjoint.html#5474" class="Bound">i</a><a id="5639" class="Symbol">)</a> <a id="5641" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5643" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5648" href="Categories.Adjoint.html#5493" class="Bound">f</a>
<a id="5654" href="Categories.Adjoint.html#5443" class="Function">Radjunct-comm</a> <a id="5668" class="Symbol">{</a><a id="5669" href="Categories.Adjoint.html#5669" class="Bound">X</a><a id="5670" class="Symbol">}</a> <a id="5672" class="Symbol">{</a><a id="5673" href="Categories.Adjoint.html#5673" class="Bound">Y</a><a id="5674" class="Symbol">}</a> <a id="5676" class="Symbol">{</a><a id="5677" href="Categories.Adjoint.html#5677" class="Bound">A</a><a id="5678" class="Symbol">}</a> <a id="5680" class="Symbol">{</a><a id="5681" href="Categories.Adjoint.html#5681" class="Bound">B</a><a id="5682" class="Symbol">}</a> <a id="5684" class="Symbol">{</a><a id="5685" href="Categories.Adjoint.html#5685" class="Bound">h</a><a id="5686" class="Symbol">}</a> <a id="5688" class="Symbol">{</a><a id="5689" href="Categories.Adjoint.html#5689" class="Bound">i</a><a id="5690" class="Symbol">}</a> <a id="5692" class="Symbol">{</a><a id="5693" href="Categories.Adjoint.html#5693" class="Bound">f</a><a id="5694" class="Symbol">}</a> <a id="5696" class="Symbol">{</a><a id="5697" href="Categories.Adjoint.html#5697" class="Bound">g</a><a id="5698" class="Symbol">}</a> <a id="5700" href="Categories.Adjoint.html#5700" class="Bound">eq</a> <a id="5703" class="Symbol">=</a> <a id="5705" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="5717" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="5726" href="Categories.Adjoint.html#5681" class="Bound">B</a> <a id="5728" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5730" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5735" class="Symbol">(</a><a id="5736" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5741" href="Categories.Adjoint.html#5697" class="Bound">g</a> <a id="5743" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="5747" href="Categories.Adjoint.html#5685" class="Bound">h</a> <a id="5749" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="5753" href="Categories.Adjoint.html#5693" class="Bound">f</a><a id="5754" class="Symbol">)</a> <a id="5762" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5765" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="5773" href="Categories.Functor.Core.html#565" class="Function">L.homomorphism</a> <a id="5788" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="5796" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="5805" href="Categories.Adjoint.html#5681" class="Bound">B</a> <a id="5807" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5809" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5814" class="Symbol">(</a><a id="5815" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5820" href="Categories.Adjoint.html#5697" class="Bound">g</a><a id="5821" class="Symbol">)</a> <a id="5823" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5825" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5830" class="Symbol">(</a><a id="5831" href="Categories.Adjoint.html#5685" class="Bound">h</a> <a id="5833" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="5837" href="Categories.Adjoint.html#5693" class="Bound">f</a><a id="5838" class="Symbol">)</a> <a id="5841" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5844" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="5850" class="Symbol">(</a><a id="5851" href="Categories.NaturalTransformation.Core.html#827" class="Function">counit.commute</a> <a id="5866" href="Categories.Adjoint.html#5697" class="Bound">g</a><a id="5867" class="Symbol">)</a> <a id="5869" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="5877" class="Symbol">(</a><a id="5878" href="Categories.Adjoint.html#5697" class="Bound">g</a> <a id="5880" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5882" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="5891" href="Categories.Adjoint.html#5673" class="Bound">Y</a><a id="5892" class="Symbol">)</a> <a id="5894" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5896" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5901" class="Symbol">(</a><a id="5902" href="Categories.Adjoint.html#5685" class="Bound">h</a> <a id="5904" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="5908" href="Categories.Adjoint.html#5693" class="Bound">f</a><a id="5909" class="Symbol">)</a> <a id="5922" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5925" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="5933" href="Categories.Functor.Core.html#565" class="Function">L.homomorphism</a> <a id="5948" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="5956" class="Symbol">(</a><a id="5957" href="Categories.Adjoint.html#5697" class="Bound">g</a> <a id="5959" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5961" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="5970" href="Categories.Adjoint.html#5673" class="Bound">Y</a><a id="5971" class="Symbol">)</a> <a id="5973" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5975" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5980" href="Categories.Adjoint.html#5685" class="Bound">h</a> <a id="5982" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5984" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5989" href="Categories.Adjoint.html#5693" class="Bound">f</a> <a id="6001" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="6004" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="6012" href="Categories.Functor.Core.html#696" class="Function">L.F-resp-≈</a> <a id="6023" href="Categories.Adjoint.html#5700" class="Bound">eq</a> <a id="6026" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="6034" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="6042" class="Symbol">(</a><a id="6043" href="Categories.Adjoint.html#5697" class="Bound">g</a> <a id="6045" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6047" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="6056" href="Categories.Adjoint.html#5673" class="Bound">Y</a><a id="6057" class="Symbol">)</a> <a id="6059" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6061" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6066" href="Categories.Adjoint.html#5689" class="Bound">i</a> <a id="6068" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6070" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6075" href="Categories.Adjoint.html#5693" class="Bound">f</a> <a id="6087" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="6090" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="6096" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="6106" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="6114" href="Categories.Adjoint.html#5697" class="Bound">g</a> <a id="6116" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6118" class="Symbol">(</a><a id="6119" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.η</a> <a id="6128" href="Categories.Adjoint.html#5673" class="Bound">Y</a> <a id="6130" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6132" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6137" href="Categories.Adjoint.html#5689" class="Bound">i</a><a id="6138" class="Symbol">)</a> <a id="6140" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6142" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6147" href="Categories.Adjoint.html#5693" class="Bound">f</a> <a id="6159" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="6166" href="Categories.Adjoint.html#6166" class="Function">Radjunct-comm</a> <a id="6181" class="Symbol">:</a> <a id="6183" class="Symbol"></a> <a id="6185" class="Symbol">{</a><a id="6186" href="Categories.Adjoint.html#6186" class="Bound">Y</a> <a id="6188" href="Categories.Adjoint.html#6188" class="Bound">A</a> <a id="6190" href="Categories.Adjoint.html#6190" class="Bound">B</a><a id="6191" class="Symbol">}</a> <a id="6193" class="Symbol">{</a><a id="6194" href="Categories.Adjoint.html#6194" class="Bound">f</a> <a id="6196" class="Symbol">:</a> <a id="6198" href="Categories.Adjoint.html#6188" class="Bound">A</a> <a id="6200" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="6204" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="6209" href="Categories.Adjoint.html#6186" class="Bound">Y</a><a id="6210" class="Symbol">}</a> <a id="6212" class="Symbol">{</a><a id="6213" href="Categories.Adjoint.html#6213" class="Bound">g</a> <a id="6215" class="Symbol">:</a> <a id="6217" href="Categories.Adjoint.html#6186" class="Bound">Y</a> <a id="6219" href="Categories.Category.Core.html#575" class="Function Operator"></a> <a id="6221" href="Categories.Adjoint.html#6190" class="Bound">B</a><a id="6222" class="Symbol">}</a> <a id="6224" class="Symbol"></a>
<a id="6248" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="6257" class="Symbol">(</a><a id="6258" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="6263" href="Categories.Adjoint.html#6213" class="Bound">g</a> <a id="6265" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="6269" href="Categories.Adjoint.html#6194" class="Bound">f</a><a id="6270" class="Symbol">)</a> <a id="6272" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="6274" href="Categories.Adjoint.html#6213" class="Bound">g</a> <a id="6276" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="6278" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="6287" href="Categories.Adjoint.html#6194" class="Bound">f</a>
<a id="6293" href="Categories.Adjoint.html#6166" class="Function">Radjunct-comm</a> <a id="6308" class="Symbol">=</a> <a id="6310" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="6320" href="Categories.Functor.Core.html#565" class="Function">L.homomorphism</a> <a id="6335" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="6337" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="6343" class="Symbol">(</a><a id="6344" href="Categories.NaturalTransformation.Core.html#827" class="Function">counit.commute</a> <a id="6359" class="Symbol">_)</a> <a id="6362" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="6364" href="Categories.Category.Core.html#715" class="Function">assoc</a>
<a id="6375" href="Categories.Adjoint.html#6375" class="Function">Radjunct-resp-≈</a> <a id="6391" class="Symbol">:</a> <a id="6393" class="Symbol"></a> <a id="6395" class="Symbol">{</a><a id="6396" href="Categories.Adjoint.html#6396" class="Bound">A</a> <a id="6398" href="Categories.Adjoint.html#6398" class="Bound">B</a><a id="6399" class="Symbol">}</a> <a id="6401" class="Symbol">{</a><a id="6402" href="Categories.Adjoint.html#6402" class="Bound">f</a> <a id="6404" href="Categories.Adjoint.html#6404" class="Bound">g</a> <a id="6406" class="Symbol">:</a> <a id="6408" href="Categories.Adjoint.html#6396" class="Bound">A</a> <a id="6410" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="6414" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="6419" href="Categories.Adjoint.html#6398" class="Bound">B</a><a id="6420" class="Symbol">}</a> <a id="6422" class="Symbol"></a> <a id="6424" href="Categories.Adjoint.html#6402" class="Bound">f</a> <a id="6426" href="Categories.Category.Core.html#595" class="Function Operator">C.≈</a> <a id="6430" href="Categories.Adjoint.html#6404" class="Bound">g</a> <a id="6432" class="Symbol"></a> <a id="6434" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="6443" href="Categories.Adjoint.html#6402" class="Bound">f</a> <a id="6445" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="6447" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="6456" href="Categories.Adjoint.html#6404" class="Bound">g</a>
<a id="6462" href="Categories.Adjoint.html#6375" class="Function">Radjunct-resp-≈</a> <a id="6478" href="Categories.Adjoint.html#6478" class="Bound">eq</a> <a id="6481" class="Symbol">=</a> <a id="6483" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="6493" class="Symbol">(</a><a id="6494" href="Categories.Functor.Core.html#696" class="Function">L.F-resp-≈</a> <a id="6505" href="Categories.Adjoint.html#6478" class="Bound">eq</a><a id="6507" class="Symbol">)</a>
<a id="6512" class="Comment">-- a complication: the two hom functors do not live in the same Setoids,</a>
<a id="6587" class="Comment">-- so they need to be mapped to the same Setoids first before establishing</a>
<a id="6664" class="Comment">-- natural isomorphism!</a>
<a id="6690" class="Keyword">module</a> <a id="6697" href="Categories.Adjoint.html#6697" class="Module">_</a> <a id="6699" class="Keyword">where</a>
<a id="6709" class="Keyword">private</a>
<a id="6723" href="Categories.Adjoint.html#6723" class="Function">level</a> <a id="6730" class="Symbol">:</a> <a id="6732" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="6741" href="Categories.Adjoint.html#1239" class="Generalizable">o</a> <a id="6743" href="Categories.Adjoint.html#1247" class="Generalizable"></a> <a id="6745" href="Categories.Adjoint.html#1255" class="Generalizable">e</a> <a id="6747" class="Symbol"></a> <a id="6749" href="Agda.Primitive.html#591" class="Postulate">Level</a>
<a id="6761" href="Categories.Adjoint.html#6723" class="Function">level</a> <a id="6768" class="Symbol">{</a><a id="6769" class="Argument"></a> <a id="6771" class="Symbol">=</a> <a id="6773" href="Categories.Adjoint.html#6773" class="Bound"></a><a id="6774" class="Symbol">}</a> <a id="6776" class="Symbol">_</a> <a id="6778" class="Symbol">=</a> <a id="6780" href="Categories.Adjoint.html#6773" class="Bound"></a>
<a id="6789" href="Categories.Adjoint.html#6789" class="Function">levele</a> <a id="6796" class="Symbol">:</a> <a id="6798" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="6807" href="Categories.Adjoint.html#1239" class="Generalizable">o</a> <a id="6809" href="Categories.Adjoint.html#1247" class="Generalizable"></a> <a id="6811" href="Categories.Adjoint.html#1255" class="Generalizable">e</a> <a id="6813" class="Symbol"></a> <a id="6815" href="Agda.Primitive.html#591" class="Postulate">Level</a>
<a id="6827" href="Categories.Adjoint.html#6789" class="Function">levele</a> <a id="6834" class="Symbol">{</a><a id="6835" class="Argument">e</a> <a id="6837" class="Symbol">=</a> <a id="6839" href="Categories.Adjoint.html#6839" class="Bound">e</a><a id="6840" class="Symbol">}</a> <a id="6842" class="Symbol">_</a> <a id="6844" class="Symbol">=</a> <a id="6846" href="Categories.Adjoint.html#6839" class="Bound">e</a>
<a id="6854" href="Categories.Adjoint.html#6854" class="Function">Hom[L-,-]</a> <a id="6865" class="Symbol">:</a> <a id="6867" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="6877" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="6882" href="Categories.Adjoint.html#1329" class="Bound">D</a> <a id="6884" class="Symbol">(</a><a id="6885" href="Categories.Category.Instance.Setoids.html#316" class="Function">Setoids</a> <a id="6893" class="Symbol">_</a> <a id="6895" class="Symbol">_)</a>
<a id="6902" href="Categories.Adjoint.html#6854" class="Function">Hom[L-,-]</a> <a id="6913" class="Symbol">=</a> <a id="6915" href="Categories.Functor.Construction.LiftSetoids.html#957" class="Function">LiftSetoids</a> <a id="6927" class="Symbol">(</a><a id="6928" href="Categories.Adjoint.html#6723" class="Function">level</a> <a id="6935" href="Categories.Adjoint.html#1327" class="Bound">C</a><a id="6936" class="Symbol">)</a> <a id="6938" class="Symbol">(</a><a id="6939" href="Categories.Adjoint.html#6789" class="Function">levele</a> <a id="6946" href="Categories.Adjoint.html#1327" class="Bound">C</a><a id="6947" class="Symbol">)</a> <a id="6949" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="6952" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="6957" href="Categories.Adjoint.html#1329" class="Bound">D</a> <a id="6959" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="6966" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="6969" class="Symbol">(</a><a id="6970" href="Categories.Functor.Core.html#816" class="Function">L.op</a> <a id="6975" href="Categories.Category.Product.html#1962" class="Function Operator"></a> <a id="6977" href="Categories.Adjoint.html#737" class="Function">idF</a><a id="6980" class="Symbol">)</a>
<a id="6987" href="Categories.Adjoint.html#6987" class="Function">Hom[-,R-]</a> <a id="6998" class="Symbol">:</a> <a id="7000" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="7010" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="7015" href="Categories.Adjoint.html#1329" class="Bound">D</a> <a id="7017" class="Symbol">(</a><a id="7018" href="Categories.Category.Instance.Setoids.html#316" class="Function">Setoids</a> <a id="7026" class="Symbol">_</a> <a id="7028" class="Symbol">_)</a>
<a id="7035" href="Categories.Adjoint.html#6987" class="Function">Hom[-,R-]</a> <a id="7046" class="Symbol">=</a> <a id="7048" href="Categories.Functor.Construction.LiftSetoids.html#957" class="Function">LiftSetoids</a> <a id="7060" class="Symbol">(</a><a id="7061" href="Categories.Adjoint.html#6723" class="Function">level</a> <a id="7068" href="Categories.Adjoint.html#1329" class="Bound">D</a><a id="7069" class="Symbol">)</a> <a id="7071" class="Symbol">(</a><a id="7072" href="Categories.Adjoint.html#6789" class="Function">levele</a> <a id="7079" href="Categories.Adjoint.html#1329" class="Bound">D</a><a id="7080" class="Symbol">)</a> <a id="7082" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="7085" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="7090" href="Categories.Adjoint.html#1327" class="Bound">C</a> <a id="7092" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="7099" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="7102" class="Symbol">(</a><a id="7103" href="Categories.Adjoint.html#737" class="Function">idF</a> <a id="7107" href="Categories.Category.Product.html#1962" class="Function Operator"></a> <a id="7109" href="Categories.Adjoint.html#1333" class="Bound">R</a><a id="7110" class="Symbol">)</a>
<a id="7117" href="Categories.Adjoint.html#7117" class="Function">Hom-NI</a> <a id="7124" class="Symbol">:</a> <a id="7126" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a> <a id="7145" href="Categories.Adjoint.html#6854" class="Function">Hom[L-,-]</a> <a id="7156" href="Categories.Adjoint.html#6987" class="Function">Hom[-,R-]</a>
<a id="7171" href="Categories.Adjoint.html#7117" class="Function">Hom-NI</a> <a id="7178" class="Symbol">=</a> <a id="7180" class="Keyword">record</a>
<a id="7193" class="Symbol">{</a> <a id="7195" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a> <a id="7199" class="Symbol">=</a> <a id="7201" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="7210" class="Keyword">record</a>
<a id="7225" class="Symbol">{</a> <a id="7227" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="7235" class="Symbol">=</a> <a id="7237" class="Symbol">λ</a> <a id="7239" href="Categories.Adjoint.html#7239" class="Bound">_</a> <a id="7241" class="Symbol"></a> <a id="7243" class="Keyword">record</a>
<a id="7260" class="Symbol">{</a> <a id="7262" href="Function.Equality.html#1073" class="Field Operator">_⟨$⟩_</a> <a id="7268" class="Symbol">=</a> <a id="7270" class="Symbol">λ</a> <a id="7272" href="Categories.Adjoint.html#7272" class="Bound">f</a> <a id="7274" class="Symbol"></a> <a id="7276" href="Level.html#466" class="InductiveConstructor">lift</a> <a id="7281" class="Symbol">(</a><a id="7282" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="7291" class="Symbol">(</a><a id="7292" href="Level.html#479" class="Field">lower</a> <a id="7298" href="Categories.Adjoint.html#7272" class="Bound">f</a><a id="7299" class="Symbol">))</a>
<a id="7312" class="Symbol">;</a> <a id="7314" href="Function.Equality.html#1140" class="Field">cong</a> <a id="7320" class="Symbol">=</a> <a id="7322" class="Symbol">λ</a> <a id="7324" href="Categories.Adjoint.html#7324" class="Bound">eq</a> <a id="7327" class="Symbol"></a> <a id="7329" href="Level.html#466" class="InductiveConstructor">lift</a> <a id="7334" class="Symbol">(</a><a id="7335" href="Categories.Adjoint.html#5239" class="Function">Ladjunct-resp-≈</a> <a id="7351" class="Symbol">(</a><a id="7352" href="Level.html#479" class="Field">lower</a> <a id="7358" href="Categories.Adjoint.html#7324" class="Bound">eq</a><a id="7360" class="Symbol">))</a>
<a id="7373" class="Symbol">}</a>
<a id="7383" class="Symbol">;</a> <a id="7385" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="7393" class="Symbol">=</a> <a id="7395" class="Symbol">λ</a> <a id="7397" href="Categories.Adjoint.html#7397" class="Bound">_</a> <a id="7399" href="Categories.Adjoint.html#7399" class="Bound">eq</a> <a id="7402" class="Symbol"></a> <a id="7404" href="Level.html#466" class="InductiveConstructor">lift</a> <a id="7409" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="7411" href="Categories.Adjoint.html#4288" class="Function">Ladjunct-comm</a> <a id="7425" class="Symbol">(</a><a id="7426" href="Level.html#479" class="Field">lower</a> <a id="7432" href="Categories.Adjoint.html#7399" class="Bound">eq</a><a id="7434" class="Symbol">)</a>
<a id="7444" class="Symbol">}</a>
<a id="7452" class="Symbol">;</a> <a id="7454" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a> <a id="7458" class="Symbol">=</a> <a id="7460" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="7469" class="Keyword">record</a>
<a id="7484" class="Symbol">{</a> <a id="7486" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="7494" class="Symbol">=</a> <a id="7496" class="Symbol">λ</a> <a id="7498" href="Categories.Adjoint.html#7498" class="Bound">_</a> <a id="7500" class="Symbol"></a> <a id="7502" class="Keyword">record</a>
<a id="7519" class="Symbol">{</a> <a id="7521" href="Function.Equality.html#1073" class="Field Operator">_⟨$⟩_</a> <a id="7527" class="Symbol">=</a> <a id="7529" class="Symbol">λ</a> <a id="7531" href="Categories.Adjoint.html#7531" class="Bound">f</a> <a id="7533" class="Symbol"></a> <a id="7535" href="Level.html#466" class="InductiveConstructor">lift</a> <a id="7540" class="Symbol">(</a><a id="7541" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="7550" class="Symbol">(</a><a id="7551" href="Level.html#479" class="Field">lower</a> <a id="7557" href="Categories.Adjoint.html#7531" class="Bound">f</a><a id="7558" class="Symbol">))</a>
<a id="7571" class="Symbol">;</a> <a id="7573" href="Function.Equality.html#1140" class="Field">cong</a> <a id="7579" class="Symbol">=</a> <a id="7581" class="Symbol">λ</a> <a id="7583" href="Categories.Adjoint.html#7583" class="Bound">eq</a> <a id="7586" class="Symbol"></a> <a id="7588" href="Level.html#466" class="InductiveConstructor">lift</a> <a id="7593" class="Symbol">(</a><a id="7594" href="Categories.Adjoint.html#6375" class="Function">Radjunct-resp-≈</a> <a id="7610" class="Symbol">(</a><a id="7611" href="Level.html#479" class="Field">lower</a> <a id="7617" href="Categories.Adjoint.html#7583" class="Bound">eq</a><a id="7619" class="Symbol">))</a>
<a id="7632" class="Symbol">}</a>
<a id="7642" class="Symbol">;</a> <a id="7644" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="7652" class="Symbol">=</a> <a id="7654" class="Symbol">λ</a> <a id="7656" href="Categories.Adjoint.html#7656" class="Bound">_</a> <a id="7658" href="Categories.Adjoint.html#7658" class="Bound">eq</a> <a id="7661" class="Symbol"></a> <a id="7663" href="Level.html#466" class="InductiveConstructor">lift</a> <a id="7668" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="7670" href="Categories.Adjoint.html#5443" class="Function">Radjunct-comm</a> <a id="7684" class="Symbol">(</a><a id="7685" href="Level.html#479" class="Field">lower</a> <a id="7691" href="Categories.Adjoint.html#7658" class="Bound">eq</a><a id="7693" class="Symbol">)</a>
<a id="7703" class="Symbol">}</a>
<a id="7711" class="Symbol">;</a> <a id="7713" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1051" class="Field">iso</a> <a id="7717" class="Symbol">=</a> <a id="7719" class="Symbol">λ</a> <a id="7721" href="Categories.Adjoint.html#7721" class="Bound">X</a> <a id="7723" class="Symbol"></a> <a id="7725" class="Keyword">record</a>
<a id="7740" class="Symbol">{</a> <a id="7742" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="7747" class="Symbol">=</a> <a id="7749" class="Symbol">λ</a> <a id="7751" href="Categories.Adjoint.html#7751" class="Bound">eq</a> <a id="7754" class="Symbol"></a> <a id="7756" class="Keyword">let</a> <a id="7760" class="Keyword">open</a> <a id="7765" href="Categories.Category.Core.html#2462" class="Module">D.HomReasoning</a> <a id="7780" class="Keyword">in</a> <a id="7783" href="Level.html#466" class="InductiveConstructor">lift</a> <a id="7788" class="Symbol">(</a><a id="7789" href="Categories.Adjoint.html#2072" class="Function">RLadjunct≈id</a> <a id="7802" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="7804" href="Level.html#479" class="Field">lower</a> <a id="7810" href="Categories.Adjoint.html#7751" class="Bound">eq</a><a id="7812" class="Symbol">)</a>
<a id="7822" class="Symbol">;</a> <a id="7824" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="7829" class="Symbol">=</a> <a id="7831" class="Symbol">λ</a> <a id="7833" href="Categories.Adjoint.html#7833" class="Bound">eq</a> <a id="7836" class="Symbol"></a> <a id="7838" class="Keyword">let</a> <a id="7842" class="Keyword">open</a> <a id="7847" href="Categories.Category.Core.html#2462" class="Module">C.HomReasoning</a> <a id="7862" class="Keyword">in</a> <a id="7865" href="Level.html#466" class="InductiveConstructor">lift</a> <a id="7870" class="Symbol">(</a><a id="7871" href="Categories.Adjoint.html#2579" class="Function">LRadjunct≈id</a> <a id="7884" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="7886" href="Level.html#479" class="Field">lower</a> <a id="7892" href="Categories.Adjoint.html#7833" class="Bound">eq</a><a id="7894" class="Symbol">)</a>
<a id="7904" class="Symbol">}</a>
<a id="7912" class="Symbol">}</a>
<a id="7917" class="Keyword">module</a> <a id="Adjoint.Hom-NI"></a><a id="7924" href="Categories.Adjoint.html#7924" class="Module">Hom-NI</a> <a id="7931" class="Symbol">=</a> <a id="7933" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="7952" href="Categories.Adjoint.html#7117" class="Function">Hom-NI</a>
<a id="7960" class="Keyword">infix</a> <a id="7966" class="Number">5</a> <a id="7968" href="Categories.Adjoint.html#7972" class="Function Operator">_⊣_</a>
<a id="_⊣_"></a><a id="7972" href="Categories.Adjoint.html#7972" class="Function Operator">_⊣_</a> <a id="7976" class="Symbol">=</a> <a id="7978" href="Categories.Adjoint.html#1306" class="Record">Adjoint</a>
<a id="⊣-id"></a><a id="7987" href="Categories.Adjoint.html#7987" class="Function">⊣-id</a> <a id="7992" class="Symbol">:</a> <a id="7994" href="Categories.Adjoint.html#737" class="Function">idF</a> <a id="7998" class="Symbol">{</a><a id="7999" class="Argument">C</a> <a id="8001" class="Symbol">=</a> <a id="8003" href="Categories.Adjoint.html#1275" class="Generalizable">C</a><a id="8004" class="Symbol">}</a> <a id="8006" href="Categories.Adjoint.html#7972" class="Function Operator"></a> <a id="8008" href="Categories.Adjoint.html#737" class="Function">idF</a> <a id="8012" class="Symbol">{</a><a id="8013" class="Argument">C</a> <a id="8015" class="Symbol">=</a> <a id="8017" href="Categories.Adjoint.html#1275" class="Generalizable">C</a><a id="8018" class="Symbol">}</a>
<a id="8020" href="Categories.Adjoint.html#7987" class="Function">⊣-id</a> <a id="8025" class="Symbol">{</a><a id="8026" class="Argument">C</a> <a id="8028" class="Symbol">=</a> <a id="8030" href="Categories.Adjoint.html#8030" class="Bound">C</a><a id="8031" class="Symbol">}</a> <a id="8033" class="Symbol">=</a> <a id="8035" class="Keyword">record</a>
<a id="8044" class="Symbol">{</a> <a id="8046" href="Categories.Adjoint.html#1519" class="Field">unit</a> <a id="8053" class="Symbol">=</a> <a id="8055" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a> <a id="8059" href="Categories.NaturalTransformation.NaturalIsomorphism.html#6216" class="Function">unitorˡ</a>
<a id="8069" class="Symbol">;</a> <a id="8071" href="Categories.Adjoint.html#1567" class="Field">counit</a> <a id="8078" class="Symbol">=</a> <a id="8080" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a> <a id="8084" href="Categories.NaturalTransformation.NaturalIsomorphism.html#6312" class="Function">unitorʳ</a>
<a id="8094" class="Symbol">;</a> <a id="8096" href="Categories.Adjoint.html#1715" class="Field">zig</a> <a id="8103" class="Symbol">=</a> <a id="8105" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a>
<a id="8117" class="Symbol">;</a> <a id="8119" href="Categories.Adjoint.html#1788" class="Field">zag</a> <a id="8126" class="Symbol">=</a> <a id="8128" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a>
<a id="8140" class="Symbol">}</a>
<a id="8144" class="Keyword">where</a> <a id="8150" class="Keyword">open</a> <a id="8155" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="8164" href="Categories.Adjoint.html#8030" class="Bound">C</a>
<a id="8174" class="Keyword">open</a> <a id="8179" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a>
<a id="8199" class="Keyword">private</a>
<a id="op-involutive"></a><a id="8209" href="Categories.Adjoint.html#8209" class="Function">op-involutive</a> <a id="8223" class="Symbol">:</a> <a id="8225" class="Symbol"></a> <a id="8227" class="Symbol">{</a><a id="8228" href="Categories.Adjoint.html#8228" class="Bound">C</a> <a id="8230" class="Symbol">:</a> <a id="8232" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="8241" href="Categories.Adjoint.html#1239" class="Generalizable">o</a> <a id="8243" href="Categories.Adjoint.html#1247" class="Generalizable"></a> <a id="8245" href="Categories.Adjoint.html#1255" class="Generalizable">e</a><a id="8246" class="Symbol">}</a> <a id="8248" class="Symbol">{</a><a id="8249" href="Categories.Adjoint.html#8249" class="Bound">D</a> <a id="8251" class="Symbol">:</a> <a id="8253" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="8262" href="Categories.Adjoint.html#1241" class="Generalizable">o</a> <a id="8265" href="Categories.Adjoint.html#1249" class="Generalizable"></a> <a id="8268" href="Categories.Adjoint.html#1257" class="Generalizable">e</a><a id="8270" class="Symbol">}</a> <a id="8272" class="Symbol">{</a><a id="8273" href="Categories.Adjoint.html#8273" class="Bound">L</a> <a id="8275" class="Symbol">:</a> <a id="8277" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="8285" href="Categories.Adjoint.html#8228" class="Bound">C</a> <a id="8287" href="Categories.Adjoint.html#8249" class="Bound">D</a><a id="8288" class="Symbol">}</a> <a id="8290" class="Symbol">{</a><a id="8291" href="Categories.Adjoint.html#8291" class="Bound">R</a> <a id="8293" class="Symbol">:</a> <a id="8295" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="8303" href="Categories.Adjoint.html#8249" class="Bound">D</a> <a id="8305" href="Categories.Adjoint.html#8228" class="Bound">C</a><a id="8306" class="Symbol">}</a> <a id="8308" class="Symbol">(</a><a id="8309" href="Categories.Adjoint.html#8309" class="Bound">L⊣R</a> <a id="8313" class="Symbol">:</a> <a id="8315" href="Categories.Adjoint.html#8273" class="Bound">L</a> <a id="8317" href="Categories.Adjoint.html#7972" class="Function Operator"></a> <a id="8319" href="Categories.Adjoint.html#8291" class="Bound">R</a><a id="8320" class="Symbol">)</a> <a id="8322" class="Symbol"></a>
<a id="8342" href="Categories.Adjoint.html#3935" class="Function">Adjoint.op</a> <a id="8353" class="Symbol">(</a><a id="8354" href="Categories.Adjoint.html#3935" class="Function">Adjoint.op</a> <a id="8365" href="Categories.Adjoint.html#8309" class="Bound">L⊣R</a><a id="8368" class="Symbol">)</a> <a id="8370" href="Agda.Builtin.Equality.html#133" class="Datatype Operator"></a> <a id="8372" href="Categories.Adjoint.html#8309" class="Bound">L⊣R</a>
<a id="8378" href="Categories.Adjoint.html#8209" class="Function">op-involutive</a> <a id="8392" class="Symbol">_</a> <a id="8394" class="Symbol">=</a> <a id="8396" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">≡.refl</a>
</pre></body></html>