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

188 lines
78 KiB
HTML
Raw Normal View History

2023-08-19 16:11:22 +02:00
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Categories.Adjoint.TwoSided</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="37" class="Keyword">module</a> <a id="44" href="Categories.Adjoint.TwoSided.html" class="Module">Categories.Adjoint.TwoSided</a> <a id="72" class="Keyword">where</a>
<a id="79" class="Comment">-- A &quot;two sided&quot; adjoint is an adjoint of two functors L and R where the</a>
<a id="152" class="Comment">-- unit and counit are natural isomorphisms.</a>
<a id="198" class="Comment">-- A two sided adjoint is the underlying data to an Adjoint Equivalence</a>
<a id="270" class="Keyword">open</a> <a id="275" class="Keyword">import</a> <a id="282" href="Level.html" class="Module">Level</a>
<a id="289" class="Keyword">open</a> <a id="294" class="Keyword">import</a> <a id="301" href="Categories.Adjoint.html" class="Module">Categories.Adjoint</a>
<a id="320" class="Keyword">open</a> <a id="325" class="Keyword">import</a> <a id="332" href="Categories.Category.Core.html" class="Module">Categories.Category.Core</a> <a id="357" class="Keyword">using</a> <a id="363" class="Symbol">(</a><a id="364" href="Categories.Category.Core.html#442" class="Record">Category</a><a id="372" class="Symbol">)</a>
<a id="374" class="Keyword">open</a> <a id="379" class="Keyword">import</a> <a id="386" href="Categories.Functor.html" class="Module">Categories.Functor</a> <a id="405" class="Keyword">renaming</a> <a id="414" class="Symbol">(</a><a id="415" href="Categories.Functor.html#349" class="Function">id</a> <a id="418" class="Symbol">to</a> <a id="421" class="Function">idF</a><a id="424" class="Symbol">)</a>
<a id="426" class="Keyword">open</a> <a id="431" class="Keyword">import</a> <a id="438" href="Categories.Functor.Properties.html" class="Module">Categories.Functor.Properties</a>
<a id="468" class="Keyword">open</a> <a id="473" class="Keyword">import</a> <a id="480" href="Categories.NaturalTransformation.html" class="Module">Categories.NaturalTransformation</a> <a id="513" class="Keyword">using</a> <a id="519" class="Symbol">(</a><a id="520" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a><a id="528" class="Symbol">)</a>
<a id="530" class="Keyword">open</a> <a id="535" class="Keyword">import</a> <a id="542" href="Categories.NaturalTransformation.NaturalIsomorphism.html" class="Module">Categories.NaturalTransformation.NaturalIsomorphism</a> <a id="594" class="Symbol">as</a> <a id="597" class="Module"></a> <a id="599" class="Keyword">using</a> <a id="605" class="Symbol">(</a><a id="606" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">_≃_</a><a id="609" class="Symbol">;</a> <a id="611" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a><a id="629" class="Symbol">)</a>
<a id="631" class="Keyword">open</a> <a id="636" class="Keyword">import</a> <a id="643" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html" class="Module">Categories.NaturalTransformation.NaturalIsomorphism.Properties</a>
<a id="706" class="Keyword">import</a> <a id="713" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="743" class="Symbol">as</a> <a id="746" class="Module">MR</a>
<a id="750" class="Keyword">private</a>
<a id="760" class="Keyword">variable</a>
<a id="773" href="Categories.Adjoint.TwoSided.html#773" class="Generalizable">o</a> <a id="775" href="Categories.Adjoint.TwoSided.html#775" class="Generalizable"></a> <a id="777" href="Categories.Adjoint.TwoSided.html#777" class="Generalizable">e</a> <a id="782" class="Symbol">:</a> <a id="784" href="Agda.Primitive.html#591" class="Postulate">Level</a>
<a id="794" href="Categories.Adjoint.TwoSided.html#794" class="Generalizable">o</a> <a id="797" href="Categories.Adjoint.TwoSided.html#797" class="Generalizable"></a> <a id="800" href="Categories.Adjoint.TwoSided.html#800" class="Generalizable">e</a> <a id="803" class="Symbol">:</a> <a id="805" href="Agda.Primitive.html#591" class="Postulate">Level</a>
<a id="815" href="Categories.Adjoint.TwoSided.html#815" class="Generalizable">C</a> <a id="817" href="Categories.Adjoint.TwoSided.html#817" class="Generalizable">D</a> <a id="824" class="Symbol">:</a> <a id="826" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="835" href="Categories.Adjoint.TwoSided.html#773" class="Generalizable">o</a> <a id="837" href="Categories.Adjoint.TwoSided.html#775" class="Generalizable"></a> <a id="839" href="Categories.Adjoint.TwoSided.html#777" class="Generalizable">e</a>
<a id="842" class="Keyword">infix</a> <a id="848" class="Number">5</a> <a id="850" href="Categories.Adjoint.TwoSided.html#863" class="Record Operator">_⊣⊢_</a>
<a id="856" class="Keyword">record</a> <a id="_⊣⊢_"></a><a id="863" href="Categories.Adjoint.TwoSided.html#863" class="Record Operator">_⊣⊢_</a> <a id="868" class="Symbol">(</a><a id="869" href="Categories.Adjoint.TwoSided.html#869" class="Bound">L</a> <a id="871" class="Symbol">:</a> <a id="873" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="881" href="Categories.Adjoint.TwoSided.html#815" class="Generalizable">C</a> <a id="883" href="Categories.Adjoint.TwoSided.html#817" class="Generalizable">D</a><a id="884" class="Symbol">)</a> <a id="886" class="Symbol">(</a><a id="887" href="Categories.Adjoint.TwoSided.html#887" class="Bound">R</a> <a id="889" class="Symbol">:</a> <a id="891" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="899" href="Categories.Adjoint.TwoSided.html#817" class="Generalizable">D</a> <a id="901" href="Categories.Adjoint.TwoSided.html#815" class="Generalizable">C</a><a id="902" class="Symbol">)</a> <a id="904" class="Symbol">:</a> <a id="906" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="910" class="Symbol">(</a><a id="911" href="Level.html#602" class="Function">levelOfTerm</a> <a id="923" href="Categories.Adjoint.TwoSided.html#869" class="Bound">L</a> <a id="925" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="927" href="Level.html#602" class="Function">levelOfTerm</a> <a id="939" href="Categories.Adjoint.TwoSided.html#887" class="Bound">R</a><a id="940" class="Symbol">)</a> <a id="942" class="Keyword">where</a>
<a id="950" class="Keyword">field</a>
<a id="_⊣⊢_.unit"></a><a id="960" href="Categories.Adjoint.TwoSided.html#960" class="Field">unit</a> <a id="967" class="Symbol">:</a> <a id="969" href="Categories.Adjoint.TwoSided.html#421" class="Function">idF</a> <a id="973" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator"></a> <a id="975" class="Symbol">(</a><a id="976" href="Categories.Adjoint.TwoSided.html#887" class="Bound">R</a> <a id="978" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="981" href="Categories.Adjoint.TwoSided.html#869" class="Bound">L</a><a id="982" class="Symbol">)</a>
<a id="_⊣⊢_.counit"></a><a id="988" href="Categories.Adjoint.TwoSided.html#988" class="Field">counit</a> <a id="995" class="Symbol">:</a> <a id="997" class="Symbol">(</a><a id="998" href="Categories.Adjoint.TwoSided.html#869" class="Bound">L</a> <a id="1000" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="1003" href="Categories.Adjoint.TwoSided.html#887" class="Bound">R</a><a id="1004" class="Symbol">)</a> <a id="1006" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator"></a> <a id="1008" href="Categories.Adjoint.TwoSided.html#421" class="Function">idF</a>
<a id="1015" class="Keyword">module</a> <a id="_⊣⊢_.unit"></a><a id="1022" href="Categories.Adjoint.TwoSided.html#1022" class="Module">unit</a> <a id="1029" class="Symbol">=</a> <a id="1031" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="1050" href="Categories.Adjoint.TwoSided.html#960" class="Field">unit</a>
<a id="1057" class="Keyword">module</a> <a id="_⊣⊢_.counit"></a><a id="1064" href="Categories.Adjoint.TwoSided.html#1064" class="Module">counit</a> <a id="1071" class="Symbol">=</a> <a id="1073" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="1092" href="Categories.Adjoint.TwoSided.html#988" class="Field">counit</a>
<a id="1102" class="Keyword">private</a>
<a id="1114" class="Keyword">module</a> <a id="_⊣⊢_.C"></a><a id="1121" href="Categories.Adjoint.TwoSided.html#1121" class="Module">C</a> <a id="1123" class="Symbol">=</a> <a id="1125" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1134" href="Categories.Adjoint.TwoSided.html#881" class="Bound">C</a> <a id="1136" class="Keyword">using</a> <a id="1142" class="Symbol">(</a><a id="1143" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="1146" class="Symbol">;</a> <a id="1148" href="Categories.Category.Core.html#630" class="Field">id</a><a id="1150" class="Symbol">;</a> <a id="1152" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="1155" class="Symbol">;</a> <a id="1157" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a><a id="1160" class="Symbol">;</a> <a id="1162" class="Keyword">module</a> <a id="1169" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="1181" class="Symbol">)</a>
<a id="1187" class="Keyword">module</a> <a id="_⊣⊢_.D"></a><a id="1194" href="Categories.Adjoint.TwoSided.html#1194" class="Module">D</a> <a id="1196" class="Symbol">=</a> <a id="1198" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1207" href="Categories.Adjoint.TwoSided.html#883" class="Bound">D</a> <a id="1209" class="Keyword">using</a> <a id="1215" class="Symbol">(</a><a id="1216" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="1219" class="Symbol">;</a> <a id="1221" href="Categories.Category.Core.html#630" class="Field">id</a><a id="1223" class="Symbol">;</a> <a id="1225" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="1228" class="Symbol">;</a> <a id="1230" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a><a id="1233" class="Symbol">;</a> <a id="1235" class="Keyword">module</a> <a id="1242" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="1254" class="Symbol">)</a>
<a id="1260" class="Keyword">module</a> <a id="_⊣⊢_.L"></a><a id="1267" href="Categories.Adjoint.TwoSided.html#1267" class="Module">L</a> <a id="1269" class="Symbol">=</a> <a id="1271" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="1279" href="Categories.Adjoint.TwoSided.html#869" class="Bound">L</a> <a id="1281" class="Keyword">using</a> <a id="1287" class="Symbol">(</a><a id="1288" href="Categories.Functor.Core.html#797" class="Function"></a><a id="1289" class="Symbol">;</a> <a id="1291" href="Categories.Functor.Core.html#806" class="Function"></a><a id="1292" class="Symbol">;</a> <a id="1294" href="Categories.Functor.Core.html#816" class="Function">op</a><a id="1296" class="Symbol">;</a> <a id="1298" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="1306" class="Symbol">)</a>
<a id="1312" class="Keyword">module</a> <a id="_⊣⊢_.R"></a><a id="1319" href="Categories.Adjoint.TwoSided.html#1319" class="Module">R</a> <a id="1321" class="Symbol">=</a> <a id="1323" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="1331" href="Categories.Adjoint.TwoSided.html#887" class="Bound">R</a> <a id="1333" class="Keyword">using</a> <a id="1339" class="Symbol">(</a><a id="1340" href="Categories.Functor.Core.html#797" class="Function"></a><a id="1341" class="Symbol">;</a> <a id="1343" href="Categories.Functor.Core.html#806" class="Function"></a><a id="1344" class="Symbol">;</a> <a id="1346" href="Categories.Functor.Core.html#816" class="Function">op</a><a id="1348" class="Symbol">;</a> <a id="1350" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="1358" class="Symbol">)</a>
<a id="1363" class="Keyword">field</a>
<a id="_⊣⊢_.zig"></a><a id="1373" href="Categories.Adjoint.TwoSided.html#1373" class="Field">zig</a> <a id="1377" class="Symbol">:</a> <a id="1379" class="Symbol"></a> <a id="1381" class="Symbol">{</a><a id="1382" href="Categories.Adjoint.TwoSided.html#1382" class="Bound">A</a> <a id="1384" class="Symbol">:</a> <a id="1386" href="Categories.Category.Core.html#559" class="Function">C.Obj</a><a id="1391" class="Symbol">}</a> <a id="1393" class="Symbol"></a> <a id="1395" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="1406" class="Symbol">(</a><a id="1407" href="Categories.Functor.Core.html#797" class="Function">L.₀</a> <a id="1411" href="Categories.Adjoint.TwoSided.html#1382" class="Bound">A</a><a id="1412" class="Symbol">)</a> <a id="1414" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="1418" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="1422" class="Symbol">(</a><a id="1423" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="1432" href="Categories.Adjoint.TwoSided.html#1382" class="Bound">A</a><a id="1433" class="Symbol">)</a> <a id="1435" href="Categories.Category.Core.html#595" class="Function Operator">D.≈</a> <a id="1439" href="Categories.Category.Core.html#630" class="Function">D.id</a>
<a id="_⊣⊢_.zag"></a><a id="1448" href="Categories.Adjoint.TwoSided.html#1448" class="Field">zag</a> <a id="1452" class="Symbol">:</a> <a id="1454" class="Symbol"></a> <a id="1456" class="Symbol">{</a><a id="1457" href="Categories.Adjoint.TwoSided.html#1457" class="Bound">B</a> <a id="1459" class="Symbol">:</a> <a id="1461" href="Categories.Category.Core.html#559" class="Function">D.Obj</a><a id="1466" class="Symbol">}</a> <a id="1468" class="Symbol"></a> <a id="1470" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="1474" class="Symbol">(</a><a id="1475" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="1486" href="Categories.Adjoint.TwoSided.html#1457" class="Bound">B</a><a id="1487" class="Symbol">)</a> <a id="1489" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="1493" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="1502" class="Symbol">(</a><a id="1503" href="Categories.Functor.Core.html#797" class="Function">R.₀</a> <a id="1507" href="Categories.Adjoint.TwoSided.html#1457" class="Bound">B</a><a id="1508" class="Symbol">)</a> <a id="1510" href="Categories.Category.Core.html#595" class="Function Operator">C.≈</a> <a id="1514" href="Categories.Category.Core.html#630" class="Function">C.id</a>
<a id="_⊣⊢_.op₁"></a><a id="1522" href="Categories.Adjoint.TwoSided.html#1522" class="Function">op₁</a> <a id="1526" class="Symbol">:</a> <a id="1528" href="Categories.Functor.Core.html#816" class="Function">R.op</a> <a id="1533" href="Categories.Adjoint.TwoSided.html#863" class="Record Operator">⊣⊢</a> <a id="1536" href="Categories.Functor.Core.html#816" class="Function">L.op</a>
<a id="1543" href="Categories.Adjoint.TwoSided.html#1522" class="Function">op₁</a> <a id="1547" class="Symbol">=</a> <a id="1549" class="Keyword">record</a>
<a id="1560" class="Symbol">{</a> <a id="1562" href="Categories.Adjoint.TwoSided.html#960" class="Field">unit</a> <a id="1569" class="Symbol">=</a> <a id="1571" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1266" class="Function">counit.op</a>
<a id="1585" class="Symbol">;</a> <a id="1587" href="Categories.Adjoint.TwoSided.html#988" class="Field">counit</a> <a id="1594" class="Symbol">=</a> <a id="1596" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1266" class="Function">unit.op</a>
<a id="1608" class="Symbol">;</a> <a id="1610" href="Categories.Adjoint.TwoSided.html#1373" class="Field">zig</a> <a id="1617" class="Symbol">=</a> <a id="1619" href="Categories.Adjoint.TwoSided.html#1448" class="Field">zag</a>
<a id="1627" class="Symbol">;</a> <a id="1629" href="Categories.Adjoint.TwoSided.html#1448" class="Field">zag</a> <a id="1636" class="Symbol">=</a> <a id="1638" href="Categories.Adjoint.TwoSided.html#1373" class="Field">zig</a>
<a id="1646" class="Symbol">}</a>
<a id="_⊣⊢_.zag⁻¹"></a><a id="1651" href="Categories.Adjoint.TwoSided.html#1651" class="Function">zag⁻¹</a> <a id="1657" class="Symbol">:</a> <a id="1659" class="Symbol">{</a><a id="1660" href="Categories.Adjoint.TwoSided.html#1660" class="Bound">B</a> <a id="1662" class="Symbol">:</a> <a id="1664" href="Categories.Category.Core.html#559" class="Function">D.Obj</a><a id="1669" class="Symbol">}</a> <a id="1671" class="Symbol"></a> <a id="1673" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇐.η</a> <a id="1682" class="Symbol">(</a><a id="1683" href="Categories.Functor.Core.html#797" class="Function">R.₀</a> <a id="1687" href="Categories.Adjoint.TwoSided.html#1660" class="Bound">B</a><a id="1688" class="Symbol">)</a> <a id="1690" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="1694" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="1698" class="Symbol">(</a><a id="1699" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇐.η</a> <a id="1710" href="Categories.Adjoint.TwoSided.html#1660" class="Bound">B</a><a id="1711" class="Symbol">)</a> <a id="1713" href="Categories.Category.Core.html#595" class="Function Operator">C.≈</a> <a id="1717" href="Categories.Category.Core.html#630" class="Function">C.id</a>
<a id="1724" href="Categories.Adjoint.TwoSided.html#1651" class="Function">zag⁻¹</a> <a id="1730" class="Symbol">{</a><a id="1731" href="Categories.Adjoint.TwoSided.html#1731" class="Bound">B</a><a id="1732" class="Symbol">}</a> <a id="1734" class="Symbol">=</a> <a id="1736" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="1746" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇐.η</a> <a id="1755" class="Symbol">(</a><a id="1756" href="Categories.Functor.Core.html#797" class="Function">R.₀</a> <a id="1760" href="Categories.Adjoint.TwoSided.html#1731" class="Bound">B</a><a id="1761" class="Symbol">)</a> <a id="1763" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="1767" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="1771" class="Symbol">(</a><a id="1772" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇐.η</a> <a id="1783" href="Categories.Adjoint.TwoSided.html#1731" class="Bound">B</a><a id="1784" class="Symbol">)</a> <a id="1788" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="1792" href="Categories.Morphism.Reasoning.Iso.html#2506" class="Function">flip-fromʳ</a> <a id="1803" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1155" class="Function">unit.FX≅GX</a> <a id="1814" href="Categories.Adjoint.TwoSided.html#1448" class="Field">zag</a> <a id="1818" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="1826" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function"></a>
<a id="1832" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="1836" class="Symbol">(</a><a id="1837" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="1848" href="Categories.Adjoint.TwoSided.html#1731" class="Bound">B</a><a id="1849" class="Symbol">)</a> <a id="1851" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="1855" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="1859" class="Symbol">(</a><a id="1860" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇐.η</a> <a id="1871" href="Categories.Adjoint.TwoSided.html#1731" class="Bound">B</a><a id="1872" class="Symbol">)</a> <a id="1874" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1877" href="Categories.Functor.Properties.html#2426" class="Function Operator">[</a> <a id="1879" href="Categories.Adjoint.TwoSided.html#887" class="Bound">R</a> <a id="1881" href="Categories.Functor.Properties.html#2426" class="Function Operator">]-resp-∘</a> <a id="1890" class="Symbol">(</a><a id="1891" href="Categories.Morphism.html#1612" class="Function">counit.iso.isoʳ</a> <a id="1907" href="Categories.Adjoint.TwoSided.html#1731" class="Bound">B</a><a id="1908" class="Symbol">)</a> <a id="1910" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1916" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="1920" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="1958" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1961" href="Categories.Functor.Core.html#511" class="Function">R.identity</a> <a id="1972" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1978" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="2020" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="2026" class="Keyword">where</a> <a id="2032" class="Keyword">open</a> <a id="2037" href="Categories.Category.Core.html#2462" class="Module">C.HomReasoning</a>
<a id="2062" class="Keyword">open</a> <a id="2067" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="2070" href="Categories.Adjoint.TwoSided.html#881" class="Bound">C</a>
<a id="_⊣⊢_.zig⁻¹"></a><a id="2075" href="Categories.Adjoint.TwoSided.html#2075" class="Function">zig⁻¹</a> <a id="2081" class="Symbol">:</a> <a id="2083" class="Symbol">{</a><a id="2084" href="Categories.Adjoint.TwoSided.html#2084" class="Bound">A</a> <a id="2086" class="Symbol">:</a> <a id="2088" href="Categories.Category.Core.html#559" class="Function">C.Obj</a><a id="2093" class="Symbol">}</a> <a id="2095" class="Symbol"></a> <a id="2097" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="2101" class="Symbol">(</a><a id="2102" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇐.η</a> <a id="2111" href="Categories.Adjoint.TwoSided.html#2084" class="Bound">A</a><a id="2112" class="Symbol">)</a> <a id="2114" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="2118" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇐.η</a> <a id="2129" class="Symbol">(</a><a id="2130" href="Categories.Functor.Core.html#797" class="Function">L.₀</a> <a id="2134" href="Categories.Adjoint.TwoSided.html#2084" class="Bound">A</a><a id="2135" class="Symbol">)</a> <a id="2137" href="Categories.Category.Core.html#595" class="Function Operator">D.≈</a> <a id="2141" href="Categories.Category.Core.html#630" class="Function">D.id</a>
<a id="2148" href="Categories.Adjoint.TwoSided.html#2075" class="Function">zig⁻¹</a> <a id="2154" class="Symbol">{</a><a id="2155" href="Categories.Adjoint.TwoSided.html#2155" class="Bound">A</a><a id="2156" class="Symbol">}</a> <a id="2158" class="Symbol">=</a> <a id="2160" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="2172" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="2176" class="Symbol">(</a><a id="2177" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇐.η</a> <a id="2186" href="Categories.Adjoint.TwoSided.html#2155" class="Bound">A</a><a id="2187" class="Symbol">)</a> <a id="2189" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="2193" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇐.η</a> <a id="2204" class="Symbol">(</a><a id="2205" href="Categories.Functor.Core.html#797" class="Function">L.₀</a> <a id="2209" href="Categories.Adjoint.TwoSided.html#2155" class="Bound">A</a><a id="2210" class="Symbol">)</a> <a id="2212" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="2216" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="2224" href="Categories.Morphism.Reasoning.Iso.html#2344" class="Function">flip-fromˡ</a> <a id="2235" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1155" class="Function">counit.FX≅GX</a> <a id="2248" href="Categories.Adjoint.TwoSided.html#1373" class="Field">zig</a> <a id="2252" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function"></a>
<a id="2260" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="2264" class="Symbol">(</a><a id="2265" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇐.η</a> <a id="2274" href="Categories.Adjoint.TwoSided.html#2155" class="Bound">A</a><a id="2275" class="Symbol">)</a> <a id="2277" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="2281" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="2285" class="Symbol">(</a><a id="2286" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="2295" href="Categories.Adjoint.TwoSided.html#2155" class="Bound">A</a><a id="2296" class="Symbol">)</a> <a id="2300" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2303" href="Categories.Functor.Properties.html#2426" class="Function Operator">[</a> <a id="2305" href="Categories.Adjoint.TwoSided.html#869" class="Bound">L</a> <a id="2307" href="Categories.Functor.Properties.html#2426" class="Function Operator">]-resp-∘</a> <a id="2316" class="Symbol">(</a><a id="2317" href="Categories.Morphism.html#1586" class="Function">unit.iso.isoˡ</a> <a id="2331" href="Categories.Adjoint.TwoSided.html#2155" class="Bound">A</a><a id="2332" class="Symbol">)</a> <a id="2334" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2342" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="2346" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="2382" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2385" href="Categories.Functor.Core.html#511" class="Function">L.identity</a> <a id="2396" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2404" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="2444" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="2452" class="Keyword">where</a> <a id="2458" class="Keyword">open</a> <a id="2463" href="Categories.Category.Core.html#2462" class="Module">D.HomReasoning</a>
<a id="2490" class="Keyword">open</a> <a id="2495" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="2498" href="Categories.Adjoint.TwoSided.html#883" class="Bound">D</a>
<a id="_⊣⊢_.op₂"></a><a id="2503" href="Categories.Adjoint.TwoSided.html#2503" class="Function">op₂</a> <a id="2507" class="Symbol">:</a> <a id="2509" href="Categories.Adjoint.TwoSided.html#887" class="Bound">R</a> <a id="2511" href="Categories.Adjoint.TwoSided.html#863" class="Record Operator">⊣⊢</a> <a id="2514" href="Categories.Adjoint.TwoSided.html#869" class="Bound">L</a>
<a id="2518" href="Categories.Adjoint.TwoSided.html#2503" class="Function">op₂</a> <a id="2522" class="Symbol">=</a> <a id="2524" class="Keyword">record</a>
<a id="2535" class="Symbol">{</a> <a id="2537" href="Categories.Adjoint.TwoSided.html#960" class="Field">unit</a> <a id="2544" class="Symbol">=</a> <a id="2546" href="Categories.NaturalTransformation.NaturalIsomorphism.html#4964" class="Function">≃.sym</a> <a id="2552" href="Categories.Adjoint.TwoSided.html#988" class="Field">counit</a>
<a id="2563" class="Symbol">;</a> <a id="2565" href="Categories.Adjoint.TwoSided.html#988" class="Field">counit</a> <a id="2572" class="Symbol">=</a> <a id="2574" href="Categories.NaturalTransformation.NaturalIsomorphism.html#4964" class="Function">≃.sym</a> <a id="2580" href="Categories.Adjoint.TwoSided.html#960" class="Field">unit</a>
<a id="2589" class="Symbol">;</a> <a id="2591" href="Categories.Adjoint.TwoSided.html#1373" class="Field">zig</a> <a id="2598" class="Symbol">=</a> <a id="2600" href="Categories.Adjoint.TwoSided.html#1651" class="Function">zag⁻¹</a>
<a id="2610" class="Symbol">;</a> <a id="2612" href="Categories.Adjoint.TwoSided.html#1448" class="Field">zag</a> <a id="2619" class="Symbol">=</a> <a id="2621" href="Categories.Adjoint.TwoSided.html#2075" class="Function">zig⁻¹</a>
<a id="2631" class="Symbol">}</a>
<a id="_⊣⊢_.L⊣R"></a><a id="2636" href="Categories.Adjoint.TwoSided.html#2636" class="Function">L⊣R</a> <a id="2640" class="Symbol">:</a> <a id="2642" href="Categories.Adjoint.TwoSided.html#869" class="Bound">L</a> <a id="2644" href="Categories.Adjoint.html#7972" class="Function Operator"></a> <a id="2646" href="Categories.Adjoint.TwoSided.html#887" class="Bound">R</a>
<a id="2650" href="Categories.Adjoint.TwoSided.html#2636" class="Function">L⊣R</a> <a id="2654" class="Symbol">=</a> <a id="2656" class="Keyword">record</a>
<a id="2667" class="Symbol">{</a> <a id="2669" href="Categories.Adjoint.html#1519" class="Field">unit</a> <a id="2676" class="Symbol">=</a> <a id="2678" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Function">unit.F⇒G</a>
<a id="2691" class="Symbol">;</a> <a id="2693" href="Categories.Adjoint.html#1567" class="Field">counit</a> <a id="2700" class="Symbol">=</a> <a id="2702" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Function">counit.F⇒G</a>
<a id="2717" class="Symbol">;</a> <a id="2719" href="Categories.Adjoint.html#1715" class="Field">zig</a> <a id="2726" class="Symbol">=</a> <a id="2728" href="Categories.Adjoint.TwoSided.html#1373" class="Field">zig</a>
<a id="2736" class="Symbol">;</a> <a id="2738" href="Categories.Adjoint.html#1788" class="Field">zag</a> <a id="2745" class="Symbol">=</a> <a id="2747" href="Categories.Adjoint.TwoSided.html#1448" class="Field">zag</a>
<a id="2755" class="Symbol">}</a>
<a id="2760" class="Keyword">module</a> <a id="_⊣⊢_.L⊣R"></a><a id="2767" href="Categories.Adjoint.TwoSided.html#2767" class="Module">L⊣R</a> <a id="2771" class="Symbol">=</a> <a id="2773" href="Categories.Adjoint.html#1306" class="Module">Adjoint</a> <a id="2781" href="Categories.Adjoint.TwoSided.html#2636" class="Function">L⊣R</a>
<a id="2787" class="Keyword">open</a> <a id="2792" href="Categories.Adjoint.TwoSided.html#2767" class="Module">L⊣R</a> <a id="2796" class="Keyword">hiding</a> <a id="2803" class="Symbol">(</a><a id="2804" href="Categories.Adjoint.html#1519" class="Function">unit</a><a id="2808" class="Symbol">;</a> <a id="2810" href="Categories.Adjoint.html#1567" class="Function">counit</a><a id="2816" class="Symbol">;</a> <a id="2818" href="Categories.Adjoint.html#1715" class="Function">zig</a><a id="2821" class="Symbol">;</a> <a id="2823" href="Categories.Adjoint.html#1788" class="Function">zag</a><a id="2826" class="Symbol">;</a> <a id="2828" href="Categories.Adjoint.html#3935" class="Function">op</a><a id="2830" class="Symbol">)</a> <a id="2832" class="Keyword">public</a>
<a id="_⊣⊢_.R⊣L"></a><a id="2842" href="Categories.Adjoint.TwoSided.html#2842" class="Function">R⊣L</a> <a id="2846" class="Symbol">:</a> <a id="2848" href="Categories.Adjoint.TwoSided.html#887" class="Bound">R</a> <a id="2850" href="Categories.Adjoint.html#7972" class="Function Operator"></a> <a id="2852" href="Categories.Adjoint.TwoSided.html#869" class="Bound">L</a>
<a id="2856" href="Categories.Adjoint.TwoSided.html#2842" class="Function">R⊣L</a> <a id="2860" class="Symbol">=</a> <a id="2862" class="Keyword">record</a>
<a id="2873" class="Symbol">{</a> <a id="2875" href="Categories.Adjoint.html#1519" class="Field">unit</a> <a id="2882" class="Symbol">=</a> <a id="2884" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Function">counit.F⇐G</a>
<a id="2899" class="Symbol">;</a> <a id="2901" href="Categories.Adjoint.html#1567" class="Field">counit</a> <a id="2908" class="Symbol">=</a> <a id="2910" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Function">unit.F⇐G</a>
<a id="2923" class="Symbol">;</a> <a id="2925" href="Categories.Adjoint.html#1715" class="Field">zig</a> <a id="2932" class="Symbol">=</a> <a id="2934" href="Categories.Adjoint.TwoSided.html#1651" class="Function">zag⁻¹</a>
<a id="2944" class="Symbol">;</a> <a id="2946" href="Categories.Adjoint.html#1788" class="Field">zag</a> <a id="2953" class="Symbol">=</a> <a id="2955" href="Categories.Adjoint.TwoSided.html#2075" class="Function">zig⁻¹</a>
<a id="2965" class="Symbol">}</a>
<a id="2970" class="Keyword">module</a> <a id="_⊣⊢_.R⊣L"></a><a id="2977" href="Categories.Adjoint.TwoSided.html#2977" class="Module">R⊣L</a> <a id="2981" class="Symbol">=</a> <a id="2983" href="Categories.Adjoint.html#1306" class="Module">Adjoint</a> <a id="2991" href="Categories.Adjoint.TwoSided.html#2842" class="Function">R⊣L</a>
<a id="2996" class="Keyword">private</a>
<a id="3007" class="Keyword">record</a> <a id="WithZig"></a><a id="3014" href="Categories.Adjoint.TwoSided.html#3014" class="Record">WithZig</a> <a id="3022" class="Symbol">(</a><a id="3023" href="Categories.Adjoint.TwoSided.html#3023" class="Bound">L</a> <a id="3025" class="Symbol">:</a> <a id="3027" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="3035" href="Categories.Adjoint.TwoSided.html#815" class="Generalizable">C</a> <a id="3037" href="Categories.Adjoint.TwoSided.html#817" class="Generalizable">D</a><a id="3038" class="Symbol">)</a> <a id="3040" class="Symbol">(</a><a id="3041" href="Categories.Adjoint.TwoSided.html#3041" class="Bound">R</a> <a id="3043" class="Symbol">:</a> <a id="3045" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="3053" href="Categories.Adjoint.TwoSided.html#817" class="Generalizable">D</a> <a id="3055" href="Categories.Adjoint.TwoSided.html#815" class="Generalizable">C</a><a id="3056" class="Symbol">)</a> <a id="3058" class="Symbol">:</a> <a id="3060" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="3064" class="Symbol">(</a><a id="3065" href="Level.html#602" class="Function">levelOfTerm</a> <a id="3077" href="Categories.Adjoint.TwoSided.html#3023" class="Bound">L</a> <a id="3079" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="3081" href="Level.html#602" class="Function">levelOfTerm</a> <a id="3093" href="Categories.Adjoint.TwoSided.html#3041" class="Bound">R</a><a id="3094" class="Symbol">)</a> <a id="3096" class="Keyword">where</a>
<a id="3106" class="Keyword">field</a>
<a id="WithZig.unit"></a><a id="3118" href="Categories.Adjoint.TwoSided.html#3118" class="Field">unit</a> <a id="3125" class="Symbol">:</a> <a id="3127" href="Categories.Adjoint.TwoSided.html#421" class="Function">idF</a> <a id="3131" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator"></a> <a id="3133" class="Symbol">(</a><a id="3134" href="Categories.Adjoint.TwoSided.html#3041" class="Bound">R</a> <a id="3136" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3139" href="Categories.Adjoint.TwoSided.html#3023" class="Bound">L</a><a id="3140" class="Symbol">)</a>
<a id="WithZig.counit"></a><a id="3148" href="Categories.Adjoint.TwoSided.html#3148" class="Field">counit</a> <a id="3155" class="Symbol">:</a> <a id="3157" class="Symbol">(</a><a id="3158" href="Categories.Adjoint.TwoSided.html#3023" class="Bound">L</a> <a id="3160" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3163" href="Categories.Adjoint.TwoSided.html#3041" class="Bound">R</a><a id="3164" class="Symbol">)</a> <a id="3166" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator"></a> <a id="3168" href="Categories.Adjoint.TwoSided.html#421" class="Function">idF</a>
<a id="3177" class="Keyword">private</a>
<a id="3191" class="Keyword">module</a> <a id="WithZig.unit"></a><a id="3198" href="Categories.Adjoint.TwoSided.html#3198" class="Module">unit</a> <a id="3205" class="Symbol">=</a> <a id="3207" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="3226" href="Categories.Adjoint.TwoSided.html#3118" class="Field">unit</a>
<a id="3237" class="Keyword">module</a> <a id="WithZig.counit"></a><a id="3244" href="Categories.Adjoint.TwoSided.html#3244" class="Module">counit</a> <a id="3251" class="Symbol">=</a> <a id="3253" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="3272" href="Categories.Adjoint.TwoSided.html#3148" class="Field">counit</a>
<a id="3285" class="Keyword">module</a> <a id="WithZig.C"></a><a id="3292" href="Categories.Adjoint.TwoSided.html#3292" class="Module">C</a> <a id="3294" class="Symbol">=</a> <a id="3296" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="3305" href="Categories.Adjoint.TwoSided.html#3035" class="Bound">C</a> <a id="3307" class="Keyword">using</a> <a id="3313" class="Symbol">(</a><a id="3314" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="3317" class="Symbol">;</a> <a id="3319" href="Categories.Category.Core.html#630" class="Field">id</a><a id="3321" class="Symbol">;</a> <a id="3323" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="3326" class="Symbol">;</a> <a id="3328" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a><a id="3331" class="Symbol">;</a> <a id="3333" class="Keyword">module</a> <a id="3340" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="3352" class="Symbol">)</a>
<a id="3360" class="Keyword">module</a> <a id="WithZig.D"></a><a id="3367" href="Categories.Adjoint.TwoSided.html#3367" class="Module">D</a> <a id="3369" class="Symbol">=</a> <a id="3371" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="3380" href="Categories.Adjoint.TwoSided.html#3037" class="Bound">D</a> <a id="3382" class="Keyword">using</a> <a id="3388" class="Symbol">(</a><a id="3389" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="3392" class="Symbol">;</a> <a id="3394" href="Categories.Category.Core.html#630" class="Field">id</a><a id="3396" class="Symbol">;</a> <a id="3398" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="3401" class="Symbol">;</a> <a id="3403" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a><a id="3406" class="Symbol">;</a> <a id="3408" class="Keyword">module</a> <a id="3415" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="3427" class="Symbol">)</a>
<a id="3435" class="Keyword">module</a> <a id="WithZig.L"></a><a id="3442" href="Categories.Adjoint.TwoSided.html#3442" class="Module">L</a> <a id="3444" class="Symbol">=</a> <a id="3446" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="3454" href="Categories.Adjoint.TwoSided.html#3023" class="Bound">L</a> <a id="3456" class="Keyword">using</a> <a id="3462" class="Symbol">(</a><a id="3463" href="Categories.Functor.Core.html#797" class="Function"></a><a id="3464" class="Symbol">;</a> <a id="3466" href="Categories.Functor.Core.html#806" class="Function"></a><a id="3467" class="Symbol">;</a> <a id="3469" href="Categories.Functor.Core.html#816" class="Function">op</a><a id="3471" class="Symbol">;</a> <a id="3473" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="3481" class="Symbol">)</a>
<a id="3489" class="Keyword">module</a> <a id="WithZig.R"></a><a id="3496" href="Categories.Adjoint.TwoSided.html#3496" class="Module">R</a> <a id="3498" class="Symbol">=</a> <a id="3500" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="3508" href="Categories.Adjoint.TwoSided.html#3041" class="Bound">R</a> <a id="3510" class="Keyword">using</a> <a id="3516" class="Symbol">(</a><a id="3517" href="Categories.Functor.Core.html#797" class="Function"></a><a id="3518" class="Symbol">;</a> <a id="3520" href="Categories.Functor.Core.html#806" class="Function"></a><a id="3521" class="Symbol">;</a> <a id="3523" href="Categories.Functor.Core.html#816" class="Function">op</a><a id="3525" class="Symbol">;</a> <a id="3527" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="3535" class="Symbol">;</a> <a id="3537" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a><a id="3545" class="Symbol">)</a>
<a id="3552" class="Keyword">field</a>
<a id="WithZig.zig"></a><a id="3564" href="Categories.Adjoint.TwoSided.html#3564" class="Field">zig</a> <a id="3568" class="Symbol">:</a> <a id="3570" class="Symbol"></a> <a id="3572" class="Symbol">{</a><a id="3573" href="Categories.Adjoint.TwoSided.html#3573" class="Bound">A</a> <a id="3575" class="Symbol">:</a> <a id="3577" href="Categories.Category.Core.html#559" class="Function">C.Obj</a><a id="3582" class="Symbol">}</a> <a id="3584" class="Symbol"></a> <a id="3586" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="3597" class="Symbol">(</a><a id="3598" href="Categories.Functor.Core.html#797" class="Function">L.₀</a> <a id="3602" href="Categories.Adjoint.TwoSided.html#3573" class="Bound">A</a><a id="3603" class="Symbol">)</a> <a id="3605" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="3609" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="3613" class="Symbol">(</a><a id="3614" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="3623" href="Categories.Adjoint.TwoSided.html#3573" class="Bound">A</a><a id="3624" class="Symbol">)</a> <a id="3626" href="Categories.Category.Core.html#595" class="Function Operator">D.≈</a> <a id="3630" href="Categories.Category.Core.html#630" class="Function">D.id</a>
<a id="WithZig.zag"></a><a id="3640" href="Categories.Adjoint.TwoSided.html#3640" class="Function">zag</a> <a id="3644" class="Symbol">:</a> <a id="3646" class="Symbol"></a> <a id="3648" class="Symbol">{</a><a id="3649" href="Categories.Adjoint.TwoSided.html#3649" class="Bound">B</a> <a id="3651" class="Symbol">:</a> <a id="3653" href="Categories.Category.Core.html#559" class="Function">D.Obj</a><a id="3658" class="Symbol">}</a> <a id="3660" class="Symbol"></a> <a id="3662" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="3666" class="Symbol">(</a><a id="3667" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="3678" href="Categories.Adjoint.TwoSided.html#3649" class="Bound">B</a><a id="3679" class="Symbol">)</a> <a id="3681" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="3685" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="3694" class="Symbol">(</a><a id="3695" href="Categories.Functor.Core.html#797" class="Function">R.₀</a> <a id="3699" href="Categories.Adjoint.TwoSided.html#3649" class="Bound">B</a><a id="3700" class="Symbol">)</a> <a id="3702" href="Categories.Category.Core.html#595" class="Function Operator">C.≈</a> <a id="3706" href="Categories.Category.Core.html#630" class="Function">C.id</a>
<a id="3715" href="Categories.Adjoint.TwoSided.html#3640" class="Function">zag</a> <a id="3719" class="Symbol">{</a><a id="3720" href="Categories.Adjoint.TwoSided.html#3720" class="Bound">B</a><a id="3721" class="Symbol">}</a> <a id="3723" class="Symbol">=</a> <a id="3725" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2929" class="Function">F≃id⇒id</a> <a id="3733" class="Symbol">(</a><a id="3734" href="Categories.NaturalTransformation.NaturalIsomorphism.html#4964" class="Function">≃.sym</a> <a id="3740" href="Categories.Adjoint.TwoSided.html#3118" class="Field">unit</a><a id="3744" class="Symbol">)</a> <a id="3746" href="Categories.Adjoint.TwoSided.html#3814" class="Function">helper</a>
<a id="3759" class="Keyword">where</a> <a id="3765" class="Keyword">open</a> <a id="3770" href="Categories.Adjoint.TwoSided.html#3292" class="Module">C</a>
<a id="3784" class="Keyword">open</a> <a id="3789" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="3814" href="Categories.Adjoint.TwoSided.html#3814" class="Function">helper</a> <a id="3821" class="Symbol">:</a> <a id="3823" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="3827" class="Symbol">(</a><a id="3828" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="3832" class="Symbol">(</a><a id="3833" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="3837" class="Symbol">(</a><a id="3838" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="3849" href="Categories.Adjoint.TwoSided.html#3720" class="Bound">B</a><a id="3850" class="Symbol">)</a> <a id="3852" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3854" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="3863" class="Symbol">(</a><a id="3864" href="Categories.Functor.Core.html#797" class="Function">R.₀</a> <a id="3868" href="Categories.Adjoint.TwoSided.html#3720" class="Bound">B</a><a id="3869" class="Symbol">)))</a> <a id="3873" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="3875" href="Categories.Category.Core.html#630" class="Function">id</a>
<a id="3890" href="Categories.Adjoint.TwoSided.html#3814" class="Function">helper</a> <a id="3897" class="Symbol">=</a> <a id="3899" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="3919" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="3923" class="Symbol">(</a><a id="3924" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="3928" class="Symbol">(</a><a id="3929" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="3933" class="Symbol">(</a><a id="3934" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="3945" href="Categories.Adjoint.TwoSided.html#3720" class="Bound">B</a><a id="3946" class="Symbol">)</a> <a id="3948" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="3950" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="3959" class="Symbol">(</a><a id="3960" href="Categories.Functor.Core.html#797" class="Function">R.₀</a> <a id="3964" href="Categories.Adjoint.TwoSided.html#3720" class="Bound">B</a><a id="3965" class="Symbol">)))</a> <a id="3981" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3984" href="Categories.Functor.Core.html#565" class="Field">Functor.homomorphism</a> <a id="4005" class="Symbol">(</a><a id="4006" href="Categories.Adjoint.TwoSided.html#3041" class="Bound">R</a> <a id="4008" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="4011" href="Categories.Adjoint.TwoSided.html#3023" class="Bound">L</a><a id="4012" class="Symbol">)</a> <a id="4014" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="4030" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="4034" class="Symbol">(</a><a id="4035" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="4039" class="Symbol">(</a><a id="4040" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="4044" class="Symbol">(</a><a id="4045" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="4056" href="Categories.Adjoint.TwoSided.html#3720" class="Bound">B</a><a id="4057" class="Symbol">)))</a> <a id="4061" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4063" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="4067" class="Symbol">(</a><a id="4068" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="4072" class="Symbol">(</a><a id="4073" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="4082" class="Symbol">(</a><a id="4083" href="Categories.Functor.Core.html#797" class="Function">R.₀</a> <a id="4087" href="Categories.Adjoint.TwoSided.html#3720" class="Bound">B</a><a id="4088" class="Symbol">)))</a> <a id="4092" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="4096" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="4107" class="Symbol">(</a><a id="4108" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2189" class="Function">F≃id-comm₁</a> <a id="4119" href="Categories.Adjoint.TwoSided.html#3148" class="Field">counit</a><a id="4125" class="Symbol">)</a> <a id="4127" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="4135" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function"></a>
<a id="4151" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="4155" class="Symbol">(</a><a id="4156" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="4167" class="Symbol">(</a><a id="4168" href="Categories.Functor.Core.html#797" class="Function">L.₀</a> <a id="4172" class="Symbol">(</a><a id="4173" href="Categories.Functor.Core.html#797" class="Function">R.₀</a> <a id="4177" href="Categories.Adjoint.TwoSided.html#3720" class="Bound">B</a><a id="4178" class="Symbol">)))</a> <a id="4182" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="4184" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="4188" class="Symbol">(</a><a id="4189" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="4193" class="Symbol">(</a><a id="4194" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="4203" class="Symbol">(</a><a id="4204" href="Categories.Functor.Core.html#797" class="Function">R.₀</a> <a id="4208" href="Categories.Adjoint.TwoSided.html#3720" class="Bound">B</a><a id="4209" class="Symbol">)))</a> <a id="4213" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4216" href="Categories.Functor.Properties.html#2426" class="Function Operator">[</a> <a id="4218" href="Categories.Adjoint.TwoSided.html#3041" class="Bound">R</a> <a id="4220" href="Categories.Functor.Properties.html#2426" class="Function Operator">]-resp-∘</a> <a id="4229" href="Categories.Adjoint.TwoSided.html#3564" class="Field">zig</a> <a id="4233" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="4249" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="4253" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="4311" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4314" href="Categories.Functor.Core.html#511" class="Function">R.identity</a> <a id="4325" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="4341" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="4403" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="4408" class="Keyword">record</a> <a id="WithZag"></a><a id="4415" href="Categories.Adjoint.TwoSided.html#4415" class="Record">WithZag</a> <a id="4423" class="Symbol">(</a><a id="4424" href="Categories.Adjoint.TwoSided.html#4424" class="Bound">L</a> <a id="4426" class="Symbol">:</a> <a id="4428" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="4436" href="Categories.Adjoint.TwoSided.html#815" class="Generalizable">C</a> <a id="4438" href="Categories.Adjoint.TwoSided.html#817" class="Generalizable">D</a><a id="4439" class="Symbol">)</a> <a id="4441" class="Symbol">(</a><a id="4442" href="Categories.Adjoint.TwoSided.html#4442" class="Bound">R</a> <a id="4444" class="Symbol">:</a> <a id="4446" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="4454" href="Categories.Adjoint.TwoSided.html#817" class="Generalizable">D</a> <a id="4456" href="Categories.Adjoint.TwoSided.html#815" class="Generalizable">C</a><a id="4457" class="Symbol">)</a> <a id="4459" class="Symbol">:</a> <a id="4461" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="4465" class="Symbol">(</a><a id="4466" href="Level.html#602" class="Function">levelOfTerm</a> <a id="4478" href="Categories.Adjoint.TwoSided.html#4424" class="Bound">L</a> <a id="4480" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="4482" href="Level.html#602" class="Function">levelOfTerm</a> <a id="4494" href="Categories.Adjoint.TwoSided.html#4442" class="Bound">R</a><a id="4495" class="Symbol">)</a> <a id="4497" class="Keyword">where</a>
<a id="4507" class="Keyword">field</a>
<a id="WithZag.unit"></a><a id="4519" href="Categories.Adjoint.TwoSided.html#4519" class="Field">unit</a> <a id="4526" class="Symbol">:</a> <a id="4528" href="Categories.Adjoint.TwoSided.html#421" class="Function">idF</a> <a id="4532" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator"></a> <a id="4534" class="Symbol">(</a><a id="4535" href="Categories.Adjoint.TwoSided.html#4442" class="Bound">R</a> <a id="4537" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="4540" href="Categories.Adjoint.TwoSided.html#4424" class="Bound">L</a><a id="4541" class="Symbol">)</a>
<a id="WithZag.counit"></a><a id="4549" href="Categories.Adjoint.TwoSided.html#4549" class="Field">counit</a> <a id="4556" class="Symbol">:</a> <a id="4558" class="Symbol">(</a><a id="4559" href="Categories.Adjoint.TwoSided.html#4424" class="Bound">L</a> <a id="4561" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="4564" href="Categories.Adjoint.TwoSided.html#4442" class="Bound">R</a><a id="4565" class="Symbol">)</a> <a id="4567" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator"></a> <a id="4569" href="Categories.Adjoint.TwoSided.html#421" class="Function">idF</a>
<a id="4578" class="Keyword">private</a>
<a id="4592" class="Keyword">module</a> <a id="WithZag.unit"></a><a id="4599" href="Categories.Adjoint.TwoSided.html#4599" class="Module">unit</a> <a id="4606" class="Symbol">=</a> <a id="4608" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="4627" href="Categories.Adjoint.TwoSided.html#4519" class="Field">unit</a>
<a id="4638" class="Keyword">module</a> <a id="WithZag.counit"></a><a id="4645" href="Categories.Adjoint.TwoSided.html#4645" class="Module">counit</a> <a id="4652" class="Symbol">=</a> <a id="4654" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="4673" href="Categories.Adjoint.TwoSided.html#4549" class="Field">counit</a>
<a id="4686" class="Keyword">module</a> <a id="WithZag.C"></a><a id="4693" href="Categories.Adjoint.TwoSided.html#4693" class="Module">C</a> <a id="4695" class="Symbol">=</a> <a id="4697" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="4706" href="Categories.Adjoint.TwoSided.html#4436" class="Bound">C</a> <a id="4708" class="Keyword">using</a> <a id="4714" class="Symbol">(</a><a id="4715" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="4718" class="Symbol">;</a> <a id="4720" href="Categories.Category.Core.html#630" class="Field">id</a><a id="4722" class="Symbol">;</a> <a id="4724" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="4727" class="Symbol">;</a> <a id="4729" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a><a id="4732" class="Symbol">;</a> <a id="4734" class="Keyword">module</a> <a id="4741" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="4753" class="Symbol">)</a>
<a id="4761" class="Keyword">module</a> <a id="WithZag.D"></a><a id="4768" href="Categories.Adjoint.TwoSided.html#4768" class="Module">D</a> <a id="4770" class="Symbol">=</a> <a id="4772" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="4781" href="Categories.Adjoint.TwoSided.html#4438" class="Bound">D</a> <a id="4783" class="Keyword">using</a> <a id="4789" class="Symbol">(</a><a id="4790" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="4793" class="Symbol">;</a> <a id="4795" href="Categories.Category.Core.html#630" class="Field">id</a><a id="4797" class="Symbol">;</a> <a id="4799" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="4802" class="Symbol">;</a> <a id="4804" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a><a id="4807" class="Symbol">;</a> <a id="4809" class="Keyword">module</a> <a id="4816" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="4828" class="Symbol">)</a>
<a id="4836" class="Keyword">module</a> <a id="WithZag.L"></a><a id="4843" href="Categories.Adjoint.TwoSided.html#4843" class="Module">L</a> <a id="4845" class="Symbol">=</a> <a id="4847" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="4855" href="Categories.Adjoint.TwoSided.html#4424" class="Bound">L</a> <a id="4857" class="Keyword">using</a> <a id="4863" class="Symbol">(</a><a id="4864" href="Categories.Functor.Core.html#797" class="Function"></a><a id="4865" class="Symbol">;</a> <a id="4867" href="Categories.Functor.Core.html#806" class="Function"></a><a id="4868" class="Symbol">;</a> <a id="4870" href="Categories.Functor.Core.html#816" class="Function">op</a><a id="4872" class="Symbol">;</a> <a id="4874" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="4882" class="Symbol">;</a> <a id="4884" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a><a id="4892" class="Symbol">)</a>
<a id="4900" class="Keyword">module</a> <a id="WithZag.R"></a><a id="4907" href="Categories.Adjoint.TwoSided.html#4907" class="Module">R</a> <a id="4909" class="Symbol">=</a> <a id="4911" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="4919" href="Categories.Adjoint.TwoSided.html#4442" class="Bound">R</a> <a id="4921" class="Keyword">using</a> <a id="4927" class="Symbol">(</a><a id="4928" href="Categories.Functor.Core.html#797" class="Function"></a><a id="4929" class="Symbol">;</a> <a id="4931" href="Categories.Functor.Core.html#806" class="Function"></a><a id="4932" class="Symbol">;</a> <a id="4934" href="Categories.Functor.Core.html#816" class="Function">op</a><a id="4936" class="Symbol">;</a> <a id="4938" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="4946" class="Symbol">)</a>
<a id="4953" class="Keyword">field</a>
<a id="WithZag.zag"></a><a id="4965" href="Categories.Adjoint.TwoSided.html#4965" class="Field">zag</a> <a id="4969" class="Symbol">:</a> <a id="4971" class="Symbol"></a> <a id="4973" class="Symbol">{</a><a id="4974" href="Categories.Adjoint.TwoSided.html#4974" class="Bound">B</a> <a id="4976" class="Symbol">:</a> <a id="4978" href="Categories.Category.Core.html#559" class="Function">D.Obj</a><a id="4983" class="Symbol">}</a> <a id="4985" class="Symbol"></a> <a id="4987" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="4991" class="Symbol">(</a><a id="4992" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="5003" href="Categories.Adjoint.TwoSided.html#4974" class="Bound">B</a><a id="5004" class="Symbol">)</a> <a id="5006" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="5010" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="5019" class="Symbol">(</a><a id="5020" href="Categories.Functor.Core.html#797" class="Function">R.₀</a> <a id="5024" href="Categories.Adjoint.TwoSided.html#4974" class="Bound">B</a><a id="5025" class="Symbol">)</a> <a id="5027" href="Categories.Category.Core.html#595" class="Function Operator">C.≈</a> <a id="5031" href="Categories.Category.Core.html#630" class="Function">C.id</a>
<a id="WithZag.zig"></a><a id="5041" href="Categories.Adjoint.TwoSided.html#5041" class="Function">zig</a> <a id="5045" class="Symbol">:</a> <a id="5047" class="Symbol"></a> <a id="5049" class="Symbol">{</a><a id="5050" href="Categories.Adjoint.TwoSided.html#5050" class="Bound">A</a> <a id="5052" class="Symbol">:</a> <a id="5054" href="Categories.Category.Core.html#559" class="Function">C.Obj</a><a id="5059" class="Symbol">}</a> <a id="5061" class="Symbol"></a> <a id="5063" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="5074" class="Symbol">(</a><a id="5075" href="Categories.Functor.Core.html#797" class="Function">L.₀</a> <a id="5079" href="Categories.Adjoint.TwoSided.html#5050" class="Bound">A</a><a id="5080" class="Symbol">)</a> <a id="5082" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="5086" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="5090" class="Symbol">(</a><a id="5091" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="5100" href="Categories.Adjoint.TwoSided.html#5050" class="Bound">A</a><a id="5101" class="Symbol">)</a> <a id="5103" href="Categories.Category.Core.html#595" class="Function Operator">D.≈</a> <a id="5107" href="Categories.Category.Core.html#630" class="Function">D.id</a>
<a id="5116" href="Categories.Adjoint.TwoSided.html#5041" class="Function">zig</a> <a id="5120" class="Symbol">{</a><a id="5121" href="Categories.Adjoint.TwoSided.html#5121" class="Bound">A</a><a id="5122" class="Symbol">}</a> <a id="5124" class="Symbol">=</a> <a id="5126" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2929" class="Function">F≃id⇒id</a> <a id="5134" href="Categories.Adjoint.TwoSided.html#4549" class="Field">counit</a> <a id="5141" href="Categories.Adjoint.TwoSided.html#5209" class="Function">helper</a>
<a id="5154" class="Keyword">where</a> <a id="5160" class="Keyword">open</a> <a id="5165" href="Categories.Adjoint.TwoSided.html#4768" class="Module">D</a>
<a id="5179" class="Keyword">open</a> <a id="5184" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="5209" href="Categories.Adjoint.TwoSided.html#5209" class="Function">helper</a> <a id="5216" class="Symbol">:</a> <a id="5218" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="5222" class="Symbol">(</a><a id="5223" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="5227" class="Symbol">(</a><a id="5228" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="5239" class="Symbol">(</a><a id="5240" href="Categories.Functor.Core.html#797" class="Function">L.₀</a> <a id="5244" href="Categories.Adjoint.TwoSided.html#5121" class="Bound">A</a><a id="5245" class="Symbol">)</a> <a id="5247" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5249" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="5253" class="Symbol">(</a><a id="5254" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="5263" href="Categories.Adjoint.TwoSided.html#5121" class="Bound">A</a><a id="5264" class="Symbol">)))</a> <a id="5268" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="5270" href="Categories.Category.Core.html#630" class="Function">id</a>
<a id="5285" href="Categories.Adjoint.TwoSided.html#5209" class="Function">helper</a> <a id="5292" class="Symbol">=</a> <a id="5294" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="5314" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="5318" class="Symbol">(</a><a id="5319" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="5323" class="Symbol">(</a><a id="5324" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="5335" class="Symbol">(</a><a id="5336" href="Categories.Functor.Core.html#797" class="Function">L.₀</a> <a id="5340" href="Categories.Adjoint.TwoSided.html#5121" class="Bound">A</a><a id="5341" class="Symbol">)</a> <a id="5343" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5345" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="5349" class="Symbol">(</a><a id="5350" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="5359" href="Categories.Adjoint.TwoSided.html#5121" class="Bound">A</a><a id="5360" class="Symbol">)))</a> <a id="5378" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5381" href="Categories.Functor.Core.html#565" class="Field">Functor.homomorphism</a> <a id="5402" class="Symbol">(</a><a id="5403" href="Categories.Adjoint.TwoSided.html#4424" class="Bound">L</a> <a id="5405" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="5408" href="Categories.Adjoint.TwoSided.html#4442" class="Bound">R</a><a id="5409" class="Symbol">)</a> <a id="5411" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="5427" class="Symbol">(</a><a id="5428" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="5432" class="Symbol">(</a><a id="5433" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="5437" class="Symbol">(</a><a id="5438" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="5449" class="Symbol">(</a><a id="5450" href="Categories.Functor.Core.html#797" class="Function">L.₀</a> <a id="5454" href="Categories.Adjoint.TwoSided.html#5121" class="Bound">A</a><a id="5455" class="Symbol">)))</a> <a id="5459" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5461" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="5465" class="Symbol">(</a><a id="5466" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="5470" class="Symbol">(</a><a id="5471" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="5475" class="Symbol">(</a><a id="5476" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="5485" href="Categories.Adjoint.TwoSided.html#5121" class="Bound">A</a><a id="5486" class="Symbol">))))</a> <a id="5491" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="5495" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="5503" href="Categories.Functor.Core.html#696" class="Function">L.F-resp-≈</a> <a id="5514" class="Symbol">(</a><a id="5515" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2553" class="Function">F≃id-comm₂</a> <a id="5526" class="Symbol">(</a><a id="5527" href="Categories.NaturalTransformation.NaturalIsomorphism.html#4964" class="Function">≃.sym</a> <a id="5533" href="Categories.Adjoint.TwoSided.html#4519" class="Field">unit</a><a id="5537" class="Symbol">))</a> <a id="5540" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function"></a>
<a id="5556" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="5560" class="Symbol">(</a><a id="5561" href="Categories.Functor.Core.html#806" class="Function">R.₁</a> <a id="5565" class="Symbol">(</a><a id="5566" href="Categories.NaturalTransformation.Core.html#783" class="Function">counit.⇒.η</a> <a id="5577" class="Symbol">(</a><a id="5578" href="Categories.Functor.Core.html#797" class="Function">L.₀</a> <a id="5582" href="Categories.Adjoint.TwoSided.html#5121" class="Bound">A</a><a id="5583" class="Symbol">)))</a> <a id="5587" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="5589" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="5593" class="Symbol">(</a><a id="5594" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.⇒.η</a> <a id="5603" class="Symbol">(</a><a id="5604" href="Categories.Functor.Core.html#797" class="Function">R.₀</a> <a id="5608" class="Symbol">(</a><a id="5609" href="Categories.Functor.Core.html#797" class="Function">L.₀</a> <a id="5613" href="Categories.Adjoint.TwoSided.html#5121" class="Bound">A</a><a id="5614" class="Symbol">)))</a> <a id="5620" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5623" href="Categories.Functor.Properties.html#2426" class="Function Operator">[</a> <a id="5625" href="Categories.Adjoint.TwoSided.html#4424" class="Bound">L</a> <a id="5627" href="Categories.Functor.Properties.html#2426" class="Function Operator">]-resp-∘</a> <a id="5636" href="Categories.Adjoint.TwoSided.html#4965" class="Field">zag</a> <a id="5640" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="5656" href="Categories.Functor.Core.html#806" class="Function">L.₁</a> <a id="5660" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="5719" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5722" href="Categories.Functor.Core.html#511" class="Function">L.identity</a> <a id="5733" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="5749" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="5813" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="5816" class="Keyword">module</a> <a id="5823" href="Categories.Adjoint.TwoSided.html#5823" class="Module">_</a> <a id="5825" class="Symbol">{</a><a id="5826" href="Categories.Adjoint.TwoSided.html#5826" class="Bound">L</a> <a id="5828" class="Symbol">:</a> <a id="5830" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="5838" href="Categories.Adjoint.TwoSided.html#815" class="Generalizable">C</a> <a id="5840" href="Categories.Adjoint.TwoSided.html#817" class="Generalizable">D</a><a id="5841" class="Symbol">}</a> <a id="5843" class="Symbol">{</a><a id="5844" href="Categories.Adjoint.TwoSided.html#5844" class="Bound">R</a> <a id="5846" class="Symbol">:</a> <a id="5848" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="5856" href="Categories.Adjoint.TwoSided.html#817" class="Generalizable">D</a> <a id="5858" href="Categories.Adjoint.TwoSided.html#815" class="Generalizable">C</a><a id="5859" class="Symbol">}</a> <a id="5861" class="Keyword">where</a>
<a id="5870" href="Categories.Adjoint.TwoSided.html#5870" class="Function">withZig</a> <a id="5878" class="Symbol">:</a> <a id="5880" href="Categories.Adjoint.TwoSided.html#3014" class="Record">WithZig</a> <a id="5888" href="Categories.Adjoint.TwoSided.html#5826" class="Bound">L</a> <a id="5890" href="Categories.Adjoint.TwoSided.html#5844" class="Bound">R</a> <a id="5892" class="Symbol"></a> <a id="5894" href="Categories.Adjoint.TwoSided.html#5826" class="Bound">L</a> <a id="5896" href="Categories.Adjoint.TwoSided.html#863" class="Record Operator">⊣⊢</a> <a id="5899" href="Categories.Adjoint.TwoSided.html#5844" class="Bound">R</a>
<a id="5903" href="Categories.Adjoint.TwoSided.html#5870" class="Function">withZig</a> <a id="5911" href="Categories.Adjoint.TwoSided.html#5911" class="Bound">LR</a> <a id="5914" class="Symbol">=</a> <a id="5916" class="Keyword">record</a>
<a id="5927" class="Symbol">{</a> <a id="5929" href="Categories.Adjoint.TwoSided.html#960" class="Field">unit</a> <a id="5936" class="Symbol">=</a> <a id="5938" href="Categories.Adjoint.TwoSided.html#3118" class="Field">unit</a>
<a id="5947" class="Symbol">;</a> <a id="5949" href="Categories.Adjoint.TwoSided.html#988" class="Field">counit</a> <a id="5956" class="Symbol">=</a> <a id="5958" href="Categories.Adjoint.TwoSided.html#3148" class="Field">counit</a>
<a id="5969" class="Symbol">;</a> <a id="5971" href="Categories.Adjoint.TwoSided.html#1373" class="Field">zig</a> <a id="5978" class="Symbol">=</a> <a id="5980" href="Categories.Adjoint.TwoSided.html#3564" class="Field">zig</a>
<a id="5988" class="Symbol">;</a> <a id="5990" href="Categories.Adjoint.TwoSided.html#1448" class="Field">zag</a> <a id="5997" class="Symbol">=</a> <a id="5999" href="Categories.Adjoint.TwoSided.html#3640" class="Function">zag</a>
<a id="6007" class="Symbol">}</a>
<a id="6013" class="Keyword">where</a> <a id="6019" class="Keyword">open</a> <a id="6024" href="Categories.Adjoint.TwoSided.html#3014" class="Module">WithZig</a> <a id="6032" href="Categories.Adjoint.TwoSided.html#5911" class="Bound">LR</a>
<a id="6038" href="Categories.Adjoint.TwoSided.html#6038" class="Function">withZag</a> <a id="6046" class="Symbol">:</a> <a id="6048" href="Categories.Adjoint.TwoSided.html#4415" class="Record">WithZag</a> <a id="6056" href="Categories.Adjoint.TwoSided.html#5826" class="Bound">L</a> <a id="6058" href="Categories.Adjoint.TwoSided.html#5844" class="Bound">R</a> <a id="6060" class="Symbol"></a> <a id="6062" href="Categories.Adjoint.TwoSided.html#5826" class="Bound">L</a> <a id="6064" href="Categories.Adjoint.TwoSided.html#863" class="Record Operator">⊣⊢</a> <a id="6067" href="Categories.Adjoint.TwoSided.html#5844" class="Bound">R</a>
<a id="6071" href="Categories.Adjoint.TwoSided.html#6038" class="Function">withZag</a> <a id="6079" href="Categories.Adjoint.TwoSided.html#6079" class="Bound">LR</a> <a id="6082" class="Symbol">=</a> <a id="6084" class="Keyword">record</a>
<a id="6095" class="Symbol">{</a> <a id="6097" href="Categories.Adjoint.TwoSided.html#960" class="Field">unit</a> <a id="6104" class="Symbol">=</a> <a id="6106" href="Categories.Adjoint.TwoSided.html#4519" class="Field">unit</a>
<a id="6115" class="Symbol">;</a> <a id="6117" href="Categories.Adjoint.TwoSided.html#988" class="Field">counit</a> <a id="6124" class="Symbol">=</a> <a id="6126" href="Categories.Adjoint.TwoSided.html#4549" class="Field">counit</a>
<a id="6137" class="Symbol">;</a> <a id="6139" href="Categories.Adjoint.TwoSided.html#1373" class="Field">zig</a> <a id="6146" class="Symbol">=</a> <a id="6148" href="Categories.Adjoint.TwoSided.html#5041" class="Function">zig</a>
<a id="6156" class="Symbol">;</a> <a id="6158" href="Categories.Adjoint.TwoSided.html#1448" class="Field">zag</a> <a id="6165" class="Symbol">=</a> <a id="6167" href="Categories.Adjoint.TwoSided.html#4965" class="Field">zag</a>
<a id="6175" class="Symbol">}</a>
<a id="6181" class="Keyword">where</a> <a id="6187" class="Keyword">open</a> <a id="6192" href="Categories.Adjoint.TwoSided.html#4415" class="Module">WithZag</a> <a id="6200" href="Categories.Adjoint.TwoSided.html#6079" class="Bound">LR</a>
<a id="id⊣⊢id"></a><a id="6204" href="Categories.Adjoint.TwoSided.html#6204" class="Function">id⊣⊢id</a> <a id="6211" class="Symbol">:</a> <a id="6213" href="Categories.Adjoint.TwoSided.html#421" class="Function">idF</a> <a id="6217" class="Symbol">{</a><a id="6218" class="Argument">C</a> <a id="6220" class="Symbol">=</a> <a id="6222" href="Categories.Adjoint.TwoSided.html#815" class="Generalizable">C</a><a id="6223" class="Symbol">}</a> <a id="6225" href="Categories.Adjoint.TwoSided.html#863" class="Record Operator">⊣⊢</a> <a id="6228" href="Categories.Adjoint.TwoSided.html#421" class="Function">idF</a>
<a id="6232" href="Categories.Adjoint.TwoSided.html#6204" class="Function">id⊣⊢id</a> <a id="6239" class="Symbol">{</a><a id="6240" class="Argument">C</a> <a id="6242" class="Symbol">=</a> <a id="6244" href="Categories.Adjoint.TwoSided.html#6244" class="Bound">C</a><a id="6245" class="Symbol">}</a> <a id="6247" class="Symbol">=</a> <a id="6249" class="Keyword">record</a>
<a id="6258" class="Symbol">{</a> <a id="6260" href="Categories.Adjoint.TwoSided.html#960" class="Field">unit</a> <a id="6267" class="Symbol">=</a> <a id="6269" href="Categories.NaturalTransformation.NaturalIsomorphism.html#4964" class="Function">≃.sym</a> <a id="6275" href="Categories.NaturalTransformation.NaturalIsomorphism.html#6406" class="Function">≃.unitor²</a>
<a id="6287" class="Symbol">;</a> <a id="6289" href="Categories.Adjoint.TwoSided.html#988" class="Field">counit</a> <a id="6296" class="Symbol">=</a> <a id="6298" href="Categories.NaturalTransformation.NaturalIsomorphism.html#6406" class="Function">≃.unitor²</a>
<a id="6310" class="Symbol">;</a> <a id="6312" href="Categories.Adjoint.TwoSided.html#1373" class="Field">zig</a> <a id="6319" class="Symbol">=</a> <a id="6321" href="Categories.Category.Core.html#1339" class="Field">identity²</a>
<a id="6333" class="Symbol">;</a> <a id="6335" href="Categories.Adjoint.TwoSided.html#1448" class="Field">zag</a> <a id="6342" class="Symbol">=</a> <a id="6344" href="Categories.Category.Core.html#1339" class="Field">identity²</a>
<a id="6356" class="Symbol">}</a>
<a id="6360" class="Keyword">where</a> <a id="6366" class="Keyword">open</a> <a id="6371" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="6380" href="Categories.Adjoint.TwoSided.html#6244" class="Bound">C</a>
</pre></body></html>