mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
372 lines
No EOL
242 KiB
HTML
372 lines
No EOL
242 KiB
HTML
<!DOCTYPE HTML>
|
||
<html><head><meta charset="utf-8"><title>Categories.Adjoint.Properties</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.Properties.html" class="Module">Categories.Adjoint.Properties</a> <a id="74" class="Keyword">where</a>
|
||
|
||
<a id="81" class="Keyword">open</a> <a id="86" class="Keyword">import</a> <a id="93" href="Level.html" class="Module">Level</a>
|
||
<a id="99" class="Keyword">open</a> <a id="104" class="Keyword">import</a> <a id="111" href="Data.Product.html" class="Module">Data.Product</a> <a id="124" class="Keyword">using</a> <a id="130" class="Symbol">(</a><a id="131" href="Agda.Builtin.Sigma.html#148" class="Record">Σ</a><a id="132" class="Symbol">;</a> <a id="134" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="137" class="Symbol">;</a> <a id="139" href="Data.Product.html#2256" class="Function Operator">-,_</a><a id="142" class="Symbol">;</a> <a id="144" href="Agda.Builtin.Sigma.html#246" class="Field">proj₂</a><a id="149" class="Symbol">;</a> <a id="151" href="Data.Product.html#3431" class="Function">uncurry</a><a id="158" class="Symbol">)</a>
|
||
<a id="160" class="Keyword">open</a> <a id="165" class="Keyword">import</a> <a id="172" href="Function.Base.html" class="Module">Function.Base</a> <a id="186" class="Keyword">using</a> <a id="192" class="Symbol">(</a><a id="193" href="Function.Base.html#1928" class="Function Operator">_$_</a><a id="196" class="Symbol">)</a>
|
||
|
||
<a id="199" class="Keyword">open</a> <a id="204" class="Keyword">import</a> <a id="211" href="Categories.Adjoint.html" class="Module">Categories.Adjoint</a> <a id="230" class="Keyword">using</a> <a id="236" class="Symbol">(</a><a id="237" href="Categories.Adjoint.html#7972" class="Function Operator">_⊣_</a><a id="240" class="Symbol">;</a> <a id="242" href="Categories.Adjoint.html#1306" class="Record">Adjoint</a><a id="249" class="Symbol">)</a>
|
||
<a id="251" class="Keyword">open</a> <a id="256" class="Keyword">import</a> <a id="263" href="Categories.Adjoint.Equivalents.html" class="Module">Categories.Adjoint.Equivalents</a> <a id="294" class="Keyword">using</a> <a id="300" class="Symbol">(</a><a id="301" href="Categories.Adjoint.Equivalents.html#9581" class="Function">Hom-NI′⇒Adjoint</a><a id="316" class="Symbol">)</a>
|
||
<a id="318" class="Keyword">open</a> <a id="323" class="Keyword">import</a> <a id="330" href="Categories.Adjoint.RAPL.html" class="Module">Categories.Adjoint.RAPL</a> <a id="354" class="Keyword">using</a> <a id="360" class="Symbol">(</a><a id="361" href="Categories.Adjoint.RAPL.html#835" class="Function">rapl</a><a id="365" class="Symbol">)</a>
|
||
<a id="367" class="Keyword">open</a> <a id="372" class="Keyword">import</a> <a id="379" href="Categories.Category.html" class="Module">Categories.Category</a> <a id="399" class="Keyword">using</a> <a id="405" class="Symbol">(</a><a id="406" href="Categories.Category.Core.html#442" class="Record">Category</a><a id="414" class="Symbol">;</a> <a id="416" href="Categories.Category.html#502" class="Function Operator">_[_,_]</a><a id="422" class="Symbol">;</a> <a id="424" href="Categories.Category.html#609" class="Function Operator">_[_≈_]</a><a id="430" class="Symbol">;</a> <a id="432" href="Categories.Category.html#700" class="Function Operator">_[_∘_]</a><a id="438" class="Symbol">)</a>
|
||
<a id="440" class="Keyword">open</a> <a id="445" class="Keyword">import</a> <a id="452" href="Categories.Category.Product.html" class="Module">Categories.Category.Product</a> <a id="480" class="Keyword">using</a> <a id="486" class="Symbol">(</a><a id="487" href="Categories.Category.Product.html#1962" class="Function Operator">_⁂_</a><a id="490" class="Symbol">;</a> <a id="492" href="Categories.Category.Product.html#3445" class="Function Operator">_⁂ⁿⁱ_</a><a id="497" class="Symbol">)</a>
|
||
<a id="499" class="Keyword">open</a> <a id="504" class="Keyword">import</a> <a id="511" href="Categories.Category.Construction.Comma.html" class="Module">Categories.Category.Construction.Comma</a> <a id="550" class="Keyword">using</a> <a id="556" class="Symbol">(</a><a id="557" href="Categories.Category.Construction.Comma.html#840" class="Record">CommaObj</a><a id="565" class="Symbol">;</a> <a id="567" href="Categories.Category.Construction.Comma.html#1094" class="Record">Comma⇒</a><a id="573" class="Symbol">;</a> <a id="575" href="Categories.Category.Construction.Comma.html#4286" class="Function Operator">_↙_</a><a id="578" class="Symbol">)</a>
|
||
<a id="580" class="Keyword">open</a> <a id="585" class="Keyword">import</a> <a id="592" href="Categories.Diagram.Limit.html" class="Module">Categories.Diagram.Limit</a> <a id="617" class="Keyword">using</a> <a id="623" class="Symbol">(</a><a id="624" href="Categories.Diagram.Limit.html#934" class="Record">Limit</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.Diagram.Colimit.html" class="Module">Categories.Diagram.Colimit</a> <a id="670" class="Keyword">using</a> <a id="676" class="Symbol">(</a><a id="677" href="Categories.Diagram.Colimit.html#961" class="Record">Colimit</a><a id="684" class="Symbol">)</a>
|
||
<a id="686" class="Keyword">open</a> <a id="691" class="Keyword">import</a> <a id="698" href="Categories.Functor.html" class="Module">Categories.Functor</a> <a id="717" class="Keyword">using</a> <a id="723" class="Symbol">(</a><a id="724" href="Categories.Functor.Core.html#248" class="Record">Functor</a><a id="731" class="Symbol">;</a> <a id="733" href="Categories.Functor.html#747" class="Function Operator">_∘F_</a><a id="737" class="Symbol">)</a> <a id="739" class="Keyword">renaming</a> <a id="748" class="Symbol">(</a><a id="749" href="Categories.Functor.html#349" class="Function">id</a> <a id="752" class="Symbol">to</a> <a id="755" class="Function">idF</a><a id="758" class="Symbol">)</a>
|
||
<a id="760" class="Keyword">open</a> <a id="765" class="Keyword">import</a> <a id="772" href="Categories.Functor.Hom.html" class="Module">Categories.Functor.Hom</a> <a id="795" class="Keyword">using</a> <a id="801" class="Symbol">(</a><a id="802" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[_][-,-]</a><a id="813" class="Symbol">)</a>
|
||
<a id="815" class="Keyword">open</a> <a id="820" class="Keyword">import</a> <a id="827" href="Categories.Functor.Construction.Constant.html" class="Module">Categories.Functor.Construction.Constant</a> <a id="868" class="Keyword">using</a> <a id="874" class="Symbol">(</a><a id="875" href="Categories.Functor.Construction.Constant.html#719" class="Function">const!</a><a id="881" class="Symbol">)</a>
|
||
<a id="883" class="Keyword">open</a> <a id="888" class="Keyword">import</a> <a id="895" href="Categories.Functor.Construction.LiftSetoids.html" class="Module">Categories.Functor.Construction.LiftSetoids</a> <a id="939" class="Keyword">using</a> <a id="945" class="Symbol">(</a><a id="946" href="Categories.Functor.Construction.LiftSetoids.html#957" class="Function">LiftSetoids</a><a id="957" class="Symbol">)</a>
|
||
<a id="959" class="Keyword">open</a> <a id="964" class="Keyword">import</a> <a id="971" href="Categories.Functor.Properties.html" class="Module">Categories.Functor.Properties</a> <a id="1001" class="Keyword">using</a> <a id="1007" class="Symbol">(</a><a id="1008" href="Categories.Functor.Properties.html#2676" class="Function Operator">[_]-resp-square</a><a id="1023" class="Symbol">;</a> <a id="1025" href="Categories.Functor.Properties.html#2426" class="Function Operator">[_]-resp-∘</a><a id="1035" class="Symbol">)</a>
|
||
<a id="1037" class="Keyword">open</a> <a id="1042" class="Keyword">import</a> <a id="1049" href="Categories.Functor.Limits.html" class="Module">Categories.Functor.Limits</a> <a id="1075" class="Keyword">using</a> <a id="1081" class="Symbol">(</a><a id="1082" href="Categories.Functor.Limits.html#1594" class="Function">Continuous</a><a id="1092" class="Symbol">;</a> <a id="1094" href="Categories.Functor.Limits.html#1749" class="Function">Cocontinuous</a><a id="1106" class="Symbol">)</a>
|
||
<a id="1108" class="Keyword">open</a> <a id="1113" class="Keyword">import</a> <a id="1120" href="Categories.Functor.Bifunctor.html" class="Module">Categories.Functor.Bifunctor</a> <a id="1149" class="Keyword">using</a> <a id="1155" class="Symbol">(</a><a id="1156" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a><a id="1165" class="Symbol">;</a> <a id="1167" href="Categories.Functor.Bifunctor.html#938" class="Function">appʳ</a><a id="1171" class="Symbol">;</a> <a id="1173" href="Categories.Functor.Bifunctor.html#874" class="Function">appˡ</a><a id="1177" class="Symbol">)</a>
|
||
<a id="1179" class="Keyword">open</a> <a id="1184" class="Keyword">import</a> <a id="1191" href="Categories.Functor.Bifunctor.Properties.html" class="Module">Categories.Functor.Bifunctor.Properties</a> <a id="1231" class="Keyword">using</a> <a id="1237" class="Symbol">(</a><a id="1238" href="Categories.Functor.Bifunctor.Properties.html#972" class="Function Operator">[_]-decompose₁</a><a id="1252" class="Symbol">;</a> <a id="1254" href="Categories.Functor.Bifunctor.Properties.html#1241" class="Function Operator">[_]-decompose₂</a><a id="1268" class="Symbol">;</a> <a id="1270" href="Categories.Functor.Bifunctor.Properties.html#632" class="Function Operator">[_]-commute</a><a id="1281" class="Symbol">)</a>
|
||
<a id="1283" class="Keyword">open</a> <a id="1288" class="Keyword">import</a> <a id="1295" href="Categories.NaturalTransformation.html" class="Module">Categories.NaturalTransformation</a> <a id="1328" class="Keyword">using</a> <a id="1334" class="Symbol">(</a><a id="1335" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a><a id="1356" class="Symbol">;</a> <a id="1358" href="Categories.NaturalTransformation.Core.html#3439" class="Function Operator">_∘ˡ_</a><a id="1362" class="Symbol">;</a> <a id="1364" href="Categories.NaturalTransformation.Core.html#3784" class="Function Operator">_∘ʳ_</a><a id="1368" class="Symbol">;</a> <a id="1370" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a><a id="1378" class="Symbol">)</a>
|
||
<a id="1380" class="Keyword">open</a> <a id="1385" class="Keyword">import</a> <a id="1392" href="Categories.NaturalTransformation.NaturalIsomorphism.html" class="Module">Categories.NaturalTransformation.NaturalIsomorphism</a> <a id="1444" class="Keyword">using</a> <a id="1450" class="Symbol">(</a><a id="1451" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a><a id="1469" class="Symbol">;</a> <a id="1471" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">_≃_</a><a id="1474" class="Symbol">;</a> <a id="1476" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3893" class="Function Operator">_ⓘₕ_</a><a id="1480" class="Symbol">;</a> <a id="1482" href="Categories.NaturalTransformation.NaturalIsomorphism.html#4354" class="Function Operator">_ⓘˡ_</a><a id="1486" class="Symbol">;</a> <a id="1488" class="Keyword">module</a> <a id="1495" href="Categories.NaturalTransformation.NaturalIsomorphism.html#5479" class="Module">≃</a><a id="1496" class="Symbol">)</a>
|
||
<a id="1498" class="Keyword">open</a> <a id="1503" class="Keyword">import</a> <a id="1510" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html" class="Module">Categories.NaturalTransformation.NaturalIsomorphism.Properties</a> <a id="1573" class="Keyword">using</a> <a id="1579" class="Symbol">(</a><a id="1580" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3437" class="Function">unlift-≃</a><a id="1588" class="Symbol">)</a>
|
||
<a id="1590" class="Keyword">open</a> <a id="1595" class="Keyword">import</a> <a id="1602" href="Categories.Monad.html" class="Module">Categories.Monad</a> <a id="1619" class="Keyword">using</a> <a id="1625" class="Symbol">(</a><a id="1626" href="Categories.Monad.html#454" class="Record">Monad</a><a id="1631" class="Symbol">)</a>
|
||
<a id="1633" class="Keyword">open</a> <a id="1638" class="Keyword">import</a> <a id="1645" href="Categories.Monad.Duality.html" class="Module">Categories.Monad.Duality</a> <a id="1670" class="Keyword">using</a> <a id="1676" class="Symbol">(</a><a id="1677" href="Categories.Monad.Duality.html#467" class="Function">coMonad⇒Comonad</a><a id="1692" class="Symbol">)</a>
|
||
<a id="1694" class="Keyword">open</a> <a id="1699" class="Keyword">import</a> <a id="1706" href="Categories.Comonad.html" class="Module">Categories.Comonad</a> <a id="1725" class="Keyword">using</a> <a id="1731" class="Symbol">(</a><a id="1732" href="Categories.Comonad.html#456" class="Record">Comonad</a><a id="1739" class="Symbol">)</a>
|
||
<a id="1741" class="Keyword">open</a> <a id="1746" class="Keyword">import</a> <a id="1753" href="Categories.Morphism.Universal.html" class="Module">Categories.Morphism.Universal</a> <a id="1783" class="Keyword">using</a> <a id="1789" class="Symbol">(</a><a id="1790" href="Categories.Morphism.Universal.html#259" class="Record">UniversalMorphism</a><a id="1807" class="Symbol">)</a>
|
||
<a id="1809" class="Keyword">import</a> <a id="1816" href="Categories.Yoneda.Properties.html" class="Module">Categories.Yoneda.Properties</a> <a id="1845" class="Symbol">as</a> <a id="1848" class="Module">YP</a> <a id="1851" class="Keyword">using</a> <a id="1857" class="Symbol">(</a><a id="1858" href="Categories.Yoneda.Properties.html#5618" class="Function">yoneda-NI</a><a id="1867" class="Symbol">)</a>
|
||
|
||
<a id="1870" class="Keyword">import</a> <a id="1877" href="Categories.Diagram.Duality.html" class="Module">Categories.Diagram.Duality</a> <a id="1904" class="Symbol">as</a> <a id="1907" class="Module">Duality</a> <a id="1915" class="Keyword">using</a> <a id="1921" class="Symbol">(</a><a id="1922" href="Categories.Diagram.Duality.html#4031" class="Function">coLimit⇒Colimit</a><a id="1937" class="Symbol">;</a> <a id="1939" href="Categories.Diagram.Duality.html#4402" class="Function">Colimit⇒coLimit</a><a id="1954" class="Symbol">)</a>
|
||
|
||
<a id="1957" class="Keyword">import</a> <a id="1964" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="1994" class="Symbol">as</a> <a id="1997" class="Module">MR</a> <a id="2000" class="Keyword">using</a> <a id="2006" class="Symbol">(</a><a id="2007" href="Categories.Morphism.Reasoning.Core.html#2347" class="Function">pushʳ</a><a id="2012" class="Symbol">;</a> <a id="2014" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a><a id="2019" class="Symbol">;</a> <a id="2021" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a><a id="2026" class="Symbol">;</a> <a id="2028" href="Categories.Morphism.Reasoning.Core.html#2786" class="Function">elimʳ</a><a id="2033" class="Symbol">;</a> <a id="2035" href="Categories.Morphism.Reasoning.Core.html#7259" class="Function">center</a><a id="2041" class="Symbol">;</a> <a id="2043" href="Categories.Morphism.Reasoning.Core.html#7391" class="Function">center⁻¹</a><a id="2051" class="Symbol">;</a>
|
||
<a id="2055" href="Categories.Morphism.Reasoning.Core.html#2948" class="Function">elimˡ</a><a id="2060" class="Symbol">;</a> <a id="2062" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a><a id="2069" class="Symbol">;</a> <a id="2071" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a><a id="2076" class="Symbol">;</a> <a id="2078" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a><a id="2085" class="Symbol">;</a> <a id="2087" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a><a id="2098" class="Symbol">)</a>
|
||
|
||
<a id="2101" class="Keyword">private</a>
|
||
<a id="2111" class="Keyword">variable</a>
|
||
<a id="2124" href="Categories.Adjoint.Properties.html#2124" class="Generalizable">o</a> <a id="2126" href="Categories.Adjoint.Properties.html#2126" class="Generalizable">ℓ</a> <a id="2128" href="Categories.Adjoint.Properties.html#2128" class="Generalizable">e</a> <a id="2130" class="Symbol">:</a> <a id="2132" href="Agda.Primitive.html#591" class="Postulate">Level</a>
|
||
<a id="2142" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a> <a id="2144" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a> <a id="2146" href="Categories.Adjoint.Properties.html#2146" class="Generalizable">E</a> <a id="2148" href="Categories.Adjoint.Properties.html#2148" class="Generalizable">J</a> <a id="2150" class="Symbol">:</a> <a id="2152" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="2161" href="Categories.Adjoint.Properties.html#2124" class="Generalizable">o</a> <a id="2163" href="Categories.Adjoint.Properties.html#2126" class="Generalizable">ℓ</a> <a id="2165" href="Categories.Adjoint.Properties.html#2128" class="Generalizable">e</a>
|
||
|
||
<a id="2168" class="Comment">-- if the left adjoint functor is a partial application of bifunctor, then it uniquely</a>
|
||
<a id="2255" class="Comment">-- determines a bifunctor compatible with the right adjoint functor.</a>
|
||
<a id="2324" class="Keyword">module</a> <a id="2331" href="Categories.Adjoint.Properties.html#2331" class="Module">_</a> <a id="2333" class="Symbol">{</a><a id="2334" href="Categories.Adjoint.Properties.html#2334" class="Bound">C</a> <a id="2336" class="Symbol">:</a> <a id="2338" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="2347" href="Categories.Adjoint.Properties.html#2124" class="Generalizable">o</a> <a id="2349" href="Categories.Adjoint.Properties.html#2126" class="Generalizable">ℓ</a> <a id="2351" href="Categories.Adjoint.Properties.html#2128" class="Generalizable">e</a><a id="2352" class="Symbol">}</a>
|
||
<a id="2363" class="Symbol">(</a><a id="2364" href="Categories.Adjoint.Properties.html#2364" class="Bound">L</a> <a id="2366" class="Symbol">:</a> <a id="2368" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="2378" href="Categories.Adjoint.Properties.html#2334" class="Bound">C</a> <a id="2380" href="Categories.Adjoint.Properties.html#2146" class="Generalizable">E</a> <a id="2382" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a><a id="2383" class="Symbol">)</a> <a id="2385" class="Symbol">{</a><a id="2386" href="Categories.Adjoint.Properties.html#2386" class="Bound">R</a> <a id="2388" class="Symbol">:</a> <a id="2390" class="Symbol">∀</a> <a id="2392" class="Symbol">(</a><a id="2393" href="Categories.Adjoint.Properties.html#2393" class="Bound">X</a> <a id="2395" class="Symbol">:</a> <a id="2397" href="Categories.Category.Core.html#559" class="Field">Category.Obj</a> <a id="2410" href="Categories.Adjoint.Properties.html#2146" class="Generalizable">E</a><a id="2411" class="Symbol">)</a> <a id="2413" class="Symbol">→</a> <a id="2415" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="2423" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a> <a id="2425" href="Categories.Adjoint.Properties.html#2334" class="Bound">C</a><a id="2426" class="Symbol">}</a>
|
||
<a id="2437" class="Symbol">(</a><a id="2438" href="Categories.Adjoint.Properties.html#2438" class="Bound">LR</a> <a id="2441" class="Symbol">:</a> <a id="2443" class="Symbol">∀</a> <a id="2445" class="Symbol">(</a><a id="2446" href="Categories.Adjoint.Properties.html#2446" class="Bound">X</a> <a id="2448" class="Symbol">:</a> <a id="2450" href="Categories.Category.Core.html#559" class="Field">Category.Obj</a> <a id="2463" href="Categories.Adjoint.Properties.html#2146" class="Generalizable">E</a><a id="2464" class="Symbol">)</a> <a id="2466" class="Symbol">→</a> <a id="2468" href="Categories.Functor.Bifunctor.html#938" class="Function">appʳ</a> <a id="2473" href="Categories.Adjoint.Properties.html#2364" class="Bound">L</a> <a id="2475" href="Categories.Adjoint.Properties.html#2446" class="Bound">X</a> <a id="2477" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="2479" href="Categories.Adjoint.Properties.html#2386" class="Bound">R</a> <a id="2481" href="Categories.Adjoint.Properties.html#2446" class="Bound">X</a><a id="2482" class="Symbol">)</a> <a id="2484" class="Keyword">where</a>
|
||
<a id="2492" class="Keyword">private</a>
|
||
<a id="2504" class="Keyword">module</a> <a id="2511" href="Categories.Adjoint.Properties.html#2511" class="Module">C</a> <a id="2516" class="Symbol">=</a> <a id="2518" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="2527" href="Categories.Adjoint.Properties.html#2334" class="Bound">C</a> <a id="2529" class="Keyword">using</a> <a id="2535" class="Symbol">(</a><a id="2536" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2538" class="Symbol">;</a> <a id="2540" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a><a id="2543" class="Symbol">;</a> <a id="2545" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a><a id="2548" class="Symbol">;</a> <a id="2550" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="2553" class="Symbol">;</a> <a id="2555" href="Categories.Category.Core.html#715" class="Field">assoc</a><a id="2560" class="Symbol">;</a> <a id="2562" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a><a id="2571" class="Symbol">;</a> <a id="2573" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a><a id="2582" class="Symbol">;</a> <a id="2584" class="Keyword">module</a> <a id="2591" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="2603" class="Symbol">)</a>
|
||
<a id="2609" class="Keyword">module</a> <a id="2616" href="Categories.Adjoint.Properties.html#2616" class="Module">D</a> <a id="2621" class="Symbol">=</a> <a id="2623" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="2632" href="Categories.Adjoint.Properties.html#2382" class="Bound">D</a> <a id="2634" class="Keyword">using</a> <a id="2640" class="Symbol">(</a><a id="2641" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="2644" class="Symbol">;</a> <a id="2646" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2648" class="Symbol">;</a> <a id="2650" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a><a id="2653" class="Symbol">;</a> <a id="2655" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a><a id="2658" class="Symbol">;</a> <a id="2660" class="Keyword">module</a> <a id="2667" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="2679" class="Symbol">;</a> <a id="2681" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a><a id="2690" class="Symbol">;</a> <a id="2692" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a><a id="2701" class="Symbol">)</a>
|
||
<a id="2707" class="Keyword">module</a> <a id="2714" href="Categories.Adjoint.Properties.html#2714" class="Module">E</a> <a id="2719" class="Symbol">=</a> <a id="2721" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="2730" href="Categories.Adjoint.Properties.html#2380" class="Bound">E</a> <a id="2732" class="Keyword">using</a> <a id="2738" class="Symbol">(</a><a id="2739" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a><a id="2742" class="Symbol">;</a> <a id="2744" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2746" class="Symbol">;</a> <a id="2748" class="Keyword">module</a> <a id="2755" href="Categories.Category.Core.html#1530" class="Module">Equiv</a><a id="2760" class="Symbol">;</a> <a id="2762" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="2765" class="Symbol">;</a> <a id="2767" href="Categories.Category.Core.html#3132" class="Function">op</a><a id="2769" class="Symbol">)</a>
|
||
<a id="2775" class="Keyword">module</a> <a id="2782" href="Categories.Adjoint.Properties.html#2782" class="Module">L</a> <a id="2787" class="Symbol">=</a> <a id="2789" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="2797" href="Categories.Adjoint.Properties.html#2364" class="Bound">L</a> <a id="2799" class="Keyword">using</a> <a id="2805" class="Symbol">(</a><a id="2806" href="Categories.Functor.Core.html#455" class="Field">F₁</a><a id="2808" class="Symbol">;</a> <a id="2810" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a><a id="2818" class="Symbol">;</a> <a id="2820" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="2828" class="Symbol">)</a>
|
||
<a id="2834" class="Keyword">module</a> <a id="2841" href="Categories.Adjoint.Properties.html#2841" class="Module">R</a> <a id="2843" href="Categories.Adjoint.Properties.html#2843" class="Bound">X</a> <a id="2846" class="Symbol">=</a> <a id="2848" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="2856" class="Symbol">(</a><a id="2857" href="Categories.Adjoint.Properties.html#2386" class="Bound">R</a> <a id="2859" href="Categories.Adjoint.Properties.html#2843" class="Bound">X</a><a id="2860" class="Symbol">)</a> <a id="2862" class="Keyword">using</a> <a id="2868" class="Symbol">(</a><a id="2869" href="Categories.Functor.Core.html#432" class="Field">F₀</a><a id="2871" class="Symbol">;</a> <a id="2873" href="Categories.Functor.Core.html#455" class="Field">F₁</a><a id="2875" class="Symbol">;</a> <a id="2877" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="2885" class="Symbol">;</a> <a id="2887" href="Categories.Functor.Core.html#565" class="Field">homomorphism</a><a id="2899" class="Symbol">;</a> <a id="2901" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a><a id="2909" class="Symbol">)</a>
|
||
<a id="2915" class="Keyword">module</a> <a id="2922" href="Categories.Adjoint.Properties.html#2922" class="Module">LR</a> <a id="2925" href="Categories.Adjoint.Properties.html#2925" class="Bound">X</a> <a id="2927" class="Symbol">=</a> <a id="2929" href="Categories.Adjoint.html#1306" class="Module">Adjoint</a> <a id="2937" class="Symbol">(</a><a id="2938" href="Categories.Adjoint.Properties.html#2438" class="Bound">LR</a> <a id="2941" href="Categories.Adjoint.Properties.html#2925" class="Bound">X</a><a id="2942" class="Symbol">)</a> <a id="2944" class="Keyword">using</a> <a id="2950" class="Symbol">(</a><a id="2951" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a><a id="2959" class="Symbol">;</a> <a id="2961" class="Keyword">module</a> <a id="2968" href="Categories.Adjoint.html#1621" class="Module">unit</a><a id="2972" class="Symbol">;</a> <a id="2974" class="Keyword">module</a> <a id="2981" href="Categories.Adjoint.html#1664" class="Module">counit</a><a id="2987" class="Symbol">;</a> <a id="2989" href="Categories.Adjoint.html#2072" class="Function">RLadjunct≈id</a><a id="3001" class="Symbol">;</a> <a id="3003" href="Categories.Adjoint.html#1788" class="Field">zag</a><a id="3006" class="Symbol">)</a>
|
||
<a id="3012" class="Keyword">open</a> <a id="3017" href="Categories.Adjoint.Properties.html#2511" class="Module">C</a> <a id="3019" class="Keyword">using</a> <a id="3025" class="Symbol">(</a><a id="3026" href="Categories.Category.Core.html#715" class="Function">assoc</a><a id="3031" class="Symbol">;</a> <a id="3033" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a><a id="3042" class="Symbol">;</a> <a id="3044" href="Categories.Category.Core.html#575" class="Function Operator">_⇒_</a><a id="3047" class="Symbol">;</a> <a id="3049" href="Categories.Category.Core.html#656" class="Function Operator">_∘_</a><a id="3052" class="Symbol">;</a> <a id="3054" href="Categories.Category.Core.html#595" class="Function Operator">_≈_</a><a id="3057" class="Symbol">;</a> <a id="3059" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a><a id="3068" class="Symbol">)</a>
|
||
|
||
<a id="3075" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="3078" class="Symbol">:</a> <a id="3080" class="Symbol">∀</a> <a id="3082" class="Symbol">{</a><a id="3083" href="Categories.Adjoint.Properties.html#3083" class="Bound">A</a> <a id="3085" href="Categories.Adjoint.Properties.html#3085" class="Bound">X</a> <a id="3087" href="Categories.Adjoint.Properties.html#3087" class="Bound">B</a> <a id="3089" href="Categories.Adjoint.Properties.html#3089" class="Bound">Y</a><a id="3090" class="Symbol">}</a> <a id="3092" href="Categories.Adjoint.Properties.html#3092" class="Bound">f</a> <a id="3094" href="Categories.Adjoint.Properties.html#3094" class="Bound">g</a> <a id="3096" class="Symbol">→</a> <a id="3098" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="3103" href="Categories.Adjoint.Properties.html#3083" class="Bound">A</a> <a id="3105" href="Categories.Adjoint.Properties.html#3085" class="Bound">X</a> <a id="3107" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="3109" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="3114" href="Categories.Adjoint.Properties.html#3087" class="Bound">B</a> <a id="3116" href="Categories.Adjoint.Properties.html#3089" class="Bound">Y</a>
|
||
<a id="3122" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="3125" class="Symbol">{</a><a id="3126" href="Categories.Adjoint.Properties.html#3126" class="Bound">A</a><a id="3127" class="Symbol">}</a> <a id="3129" class="Symbol">{</a><a id="3130" href="Categories.Adjoint.Properties.html#3130" class="Bound">X</a><a id="3131" class="Symbol">}</a> <a id="3133" class="Symbol">{</a><a id="3134" href="Categories.Adjoint.Properties.html#3134" class="Bound">B</a><a id="3135" class="Symbol">}</a> <a id="3137" class="Symbol">{</a><a id="3138" href="Categories.Adjoint.Properties.html#3138" class="Bound">Y</a><a id="3139" class="Symbol">}</a> <a id="3141" href="Categories.Adjoint.Properties.html#3141" class="Bound">f</a> <a id="3143" href="Categories.Adjoint.Properties.html#3143" class="Bound">g</a> <a id="3145" class="Symbol">=</a> <a id="3147" href="Categories.Adjoint.html#1916" class="Function">LR.Ladjunct</a> <a id="3159" href="Categories.Adjoint.Properties.html#3134" class="Bound">B</a> <a id="3161" class="Symbol">(</a><a id="3162" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="3174" href="Categories.Adjoint.Properties.html#3126" class="Bound">A</a> <a id="3176" href="Categories.Adjoint.Properties.html#3138" class="Bound">Y</a> <a id="3178" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="3182" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="3187" class="Symbol">(</a><a id="3188" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="3193" href="Categories.Adjoint.Properties.html#3126" class="Bound">A</a> <a id="3195" href="Categories.Adjoint.Properties.html#3143" class="Bound">g</a> <a id="3197" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3199" href="Categories.Adjoint.Properties.html#3141" class="Bound">f</a><a id="3200" class="Symbol">))</a>
|
||
<a id="3207" class="Comment">-- R.F₁ B (LR.counit.η A Y) ∘ R.F₁ B (L.F₁ (R.F₁ A g , f)) ∘ LR.unit.η B (R.F₀ A X)</a>
|
||
|
||
<a id="3297" href="Categories.Adjoint.Properties.html#3297" class="Function">commute′</a> <a id="3306" class="Symbol">:</a> <a id="3308" class="Symbol">∀</a> <a id="3310" class="Symbol">{</a><a id="3311" href="Categories.Adjoint.Properties.html#3311" class="Bound">A</a> <a id="3313" href="Categories.Adjoint.Properties.html#3313" class="Bound">B</a> <a id="3315" href="Categories.Adjoint.Properties.html#3315" class="Bound">X</a><a id="3316" class="Symbol">}</a> <a id="3318" class="Symbol">(</a><a id="3319" href="Categories.Adjoint.Properties.html#3319" class="Bound">f</a> <a id="3321" class="Symbol">:</a> <a id="3323" href="Categories.Adjoint.Properties.html#3311" class="Bound">A</a> <a id="3325" href="Categories.Category.Core.html#575" class="Function Operator">E.⇒</a> <a id="3329" href="Categories.Adjoint.Properties.html#3313" class="Bound">B</a><a id="3330" class="Symbol">)</a> <a id="3332" class="Symbol">→</a> <a id="3334" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="3346" href="Categories.Adjoint.Properties.html#3311" class="Bound">A</a> <a id="3348" href="Categories.Adjoint.Properties.html#3315" class="Bound">X</a> <a id="3350" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="3354" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="3359" class="Symbol">(</a><a id="3360" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="3363" href="Categories.Adjoint.Properties.html#3319" class="Bound">f</a> <a id="3365" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="3370" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3372" href="Categories.Category.Core.html#630" class="Function">E.id</a><a id="3376" class="Symbol">)</a> <a id="3378" href="Categories.Category.Core.html#595" class="Function Operator">D.≈</a> <a id="3382" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="3394" href="Categories.Adjoint.Properties.html#3313" class="Bound">B</a> <a id="3396" href="Categories.Adjoint.Properties.html#3315" class="Bound">X</a> <a id="3398" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="3402" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="3407" class="Symbol">(</a><a id="3408" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="3413" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3415" href="Categories.Adjoint.Properties.html#3319" class="Bound">f</a><a id="3416" class="Symbol">)</a>
|
||
<a id="3422" href="Categories.Adjoint.Properties.html#3297" class="Function">commute′</a> <a id="3431" class="Symbol">{</a><a id="3432" href="Categories.Adjoint.Properties.html#3432" class="Bound">A</a><a id="3433" class="Symbol">}</a> <a id="3435" class="Symbol">{</a><a id="3436" href="Categories.Adjoint.Properties.html#3436" class="Bound">B</a><a id="3437" class="Symbol">}</a> <a id="3439" class="Symbol">{</a><a id="3440" href="Categories.Adjoint.Properties.html#3440" class="Bound">X</a><a id="3441" class="Symbol">}</a> <a id="3443" href="Categories.Adjoint.Properties.html#3443" class="Bound">f</a> <a id="3445" class="Symbol">=</a> <a id="3447" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="3459" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="3471" href="Categories.Adjoint.Properties.html#3432" class="Bound">A</a> <a id="3473" href="Categories.Adjoint.Properties.html#3440" class="Bound">X</a> <a id="3475" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="3479" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="3484" class="Symbol">(</a><a id="3485" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="3488" href="Categories.Adjoint.Properties.html#3443" class="Bound">f</a> <a id="3490" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="3495" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3497" href="Categories.Category.Core.html#630" class="Function">E.id</a><a id="3501" class="Symbol">)</a> <a id="3503" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3506" href="Categories.Adjoint.html#2072" class="Function">LR.RLadjunct≈id</a> <a id="3522" href="Categories.Adjoint.Properties.html#3432" class="Bound">A</a> <a id="3524" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="3532" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="3544" href="Categories.Adjoint.Properties.html#3436" class="Bound">B</a> <a id="3546" href="Categories.Adjoint.Properties.html#3440" class="Bound">X</a> <a id="3548" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="3552" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="3557" class="Symbol">(</a><a id="3558" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="3563" href="Categories.Adjoint.Properties.html#3436" class="Bound">B</a> <a id="3565" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="3570" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3572" href="Categories.Adjoint.Properties.html#3443" class="Bound">f</a><a id="3573" class="Symbol">)</a> <a id="3576" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3579" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="3587" href="Categories.Functor.Core.html#696" class="Function">L.F-resp-≈</a> <a id="3598" class="Symbol">(</a><a id="3599" href="Categories.Functor.Core.html#511" class="Function">R.identity</a> <a id="3610" href="Categories.Adjoint.Properties.html#3436" class="Bound">B</a> <a id="3612" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3614" href="Relation.Binary.Structures.html#1577" class="Function">E.Equiv.refl</a><a id="3626" class="Symbol">)</a> <a id="3628" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="3636" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="3648" href="Categories.Adjoint.Properties.html#3436" class="Bound">B</a> <a id="3650" href="Categories.Adjoint.Properties.html#3440" class="Bound">X</a> <a id="3652" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="3656" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="3661" class="Symbol">(</a><a id="3662" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="3667" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="3669" href="Categories.Adjoint.Properties.html#3443" class="Bound">f</a><a id="3670" class="Symbol">)</a> <a id="3680" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
||
<a id="3688" class="Keyword">where</a> <a id="3694" class="Keyword">open</a> <a id="3699" href="Categories.Category.Core.html#2462" class="Module">D.HomReasoning</a>
|
||
|
||
<a id="3719" class="Keyword">open</a> <a id="3724" href="Categories.Category.Core.html#2462" class="Module">C.HomReasoning</a>
|
||
|
||
<a id="3744" href="Categories.Adjoint.Properties.html#3744" class="Function">decompose₁</a> <a id="3755" class="Symbol">:</a> <a id="3757" class="Symbol">∀</a> <a id="3759" class="Symbol">{</a><a id="3760" href="Categories.Adjoint.Properties.html#3760" class="Bound">A</a> <a id="3762" href="Categories.Adjoint.Properties.html#3762" class="Bound">B</a> <a id="3764" href="Categories.Adjoint.Properties.html#3764" class="Bound">X</a> <a id="3766" href="Categories.Adjoint.Properties.html#3766" class="Bound">Y</a><a id="3767" class="Symbol">}</a> <a id="3769" class="Symbol">{</a><a id="3770" href="Categories.Adjoint.Properties.html#3770" class="Bound">f</a> <a id="3772" class="Symbol">:</a> <a id="3774" href="Categories.Adjoint.Properties.html#3760" class="Bound">A</a> <a id="3776" href="Categories.Category.Core.html#575" class="Function Operator">E.⇒</a> <a id="3780" href="Categories.Adjoint.Properties.html#3762" class="Bound">B</a><a id="3781" class="Symbol">}</a> <a id="3783" class="Symbol">{</a><a id="3784" href="Categories.Adjoint.Properties.html#3784" class="Bound">g</a> <a id="3786" class="Symbol">:</a> <a id="3788" href="Categories.Adjoint.Properties.html#3764" class="Bound">X</a> <a id="3790" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="3794" href="Categories.Adjoint.Properties.html#3766" class="Bound">Y</a><a id="3795" class="Symbol">}</a> <a id="3797" class="Symbol">→</a> <a id="3799" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="3802" href="Categories.Adjoint.Properties.html#3770" class="Bound">f</a> <a id="3804" href="Categories.Adjoint.Properties.html#3784" class="Bound">g</a> <a id="3806" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="3808" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="3813" href="Categories.Adjoint.Properties.html#3760" class="Bound">A</a> <a id="3815" href="Categories.Adjoint.Properties.html#3784" class="Bound">g</a> <a id="3817" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3819" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="3822" href="Categories.Adjoint.Properties.html#3770" class="Bound">f</a> <a id="3824" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="3833" href="Categories.Adjoint.Properties.html#3744" class="Function">decompose₁</a> <a id="3844" class="Symbol">{</a><a id="3845" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a><a id="3846" class="Symbol">}</a> <a id="3848" class="Symbol">{</a><a id="3849" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a><a id="3850" class="Symbol">}</a> <a id="3852" class="Symbol">{</a><a id="3853" href="Categories.Adjoint.Properties.html#3853" class="Bound">X</a><a id="3854" class="Symbol">}</a> <a id="3856" class="Symbol">{</a><a id="3857" href="Categories.Adjoint.Properties.html#3857" class="Bound">Y</a><a id="3858" class="Symbol">}</a> <a id="3860" class="Symbol">{</a><a id="3861" href="Categories.Adjoint.Properties.html#3861" class="Bound">f</a><a id="3862" class="Symbol">}</a> <a id="3864" class="Symbol">{</a><a id="3865" href="Categories.Adjoint.Properties.html#3865" class="Bound">g</a><a id="3866" class="Symbol">}</a> <a id="3868" class="Symbol">=</a> <a id="3870" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="3882" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="3885" href="Categories.Adjoint.Properties.html#3861" class="Bound">f</a> <a id="3887" href="Categories.Adjoint.Properties.html#3865" class="Bound">g</a>
|
||
<a id="3897" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3900" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="3911" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="3913" class="Symbol">(</a><a id="3914" href="Categories.Category.Core.html#1706" class="Function">D.∘-resp-≈ʳ</a> <a id="3926" href="Categories.Functor.Bifunctor.Properties.html#972" class="Function Operator">[</a> <a id="3928" href="Categories.Adjoint.Properties.html#2364" class="Bound">L</a> <a id="3930" href="Categories.Functor.Bifunctor.Properties.html#972" class="Function Operator">]-decompose₁</a><a id="3942" class="Symbol">)</a> <a id="3944" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="3952" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="3960" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="3965" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="3967" class="Symbol">(</a><a id="3968" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="3980" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="3982" href="Categories.Adjoint.Properties.html#3857" class="Bound">Y</a> <a id="3984" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="3988" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="3993" class="Symbol">(</a><a id="3994" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="3999" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4001" href="Categories.Adjoint.Properties.html#3865" class="Bound">g</a> <a id="4003" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4005" href="Categories.Category.Core.html#630" class="Function">E.id</a><a id="4009" class="Symbol">)</a> <a id="4011" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4015" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="4020" class="Symbol">(</a><a id="4021" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="4026" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4028" href="Categories.Adjoint.Properties.html#3861" class="Bound">f</a><a id="4029" class="Symbol">))</a> <a id="4032" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4034" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="4044" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4046" class="Symbol">(</a><a id="4047" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="4052" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4054" href="Categories.Adjoint.Properties.html#3853" class="Bound">X</a><a id="4055" class="Symbol">)</a>
|
||
<a id="4065" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4068" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="4079" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4081" class="Symbol">(</a><a id="4082" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4088" class="Symbol">(</a><a id="4089" href="Categories.NaturalTransformation.Core.html#827" class="Function">LR.counit.commute</a> <a id="4107" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4109" href="Categories.Adjoint.Properties.html#3865" class="Bound">g</a><a id="4110" class="Symbol">))</a> <a id="4113" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="4121" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="4129" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4134" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4136" class="Symbol">((</a><a id="4138" href="Categories.Adjoint.Properties.html#3865" class="Bound">g</a> <a id="4140" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4144" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="4156" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4158" href="Categories.Adjoint.Properties.html#3853" class="Bound">X</a><a id="4159" class="Symbol">)</a> <a id="4161" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4165" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="4170" class="Symbol">(</a><a id="4171" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="4176" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4178" href="Categories.Adjoint.Properties.html#3861" class="Bound">f</a><a id="4179" class="Symbol">))</a> <a id="4182" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4184" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="4194" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4196" class="Symbol">(</a><a id="4197" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="4202" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4204" href="Categories.Adjoint.Properties.html#3853" class="Bound">X</a><a id="4205" class="Symbol">)</a>
|
||
<a id="4215" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="4219" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="4230" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4232" class="Symbol">(</a><a id="4233" href="Categories.Morphism.Reasoning.Core.html#2347" class="Function">pushʳ</a> <a id="4239" class="Symbol">(</a><a id="4240" href="Categories.Category.Core.html#1706" class="Function">D.∘-resp-≈ʳ</a> <a id="4252" class="Symbol">(</a><a id="4253" href="Categories.Functor.Core.html#696" class="Function">L.F-resp-≈</a> <a id="4264" class="Symbol">(</a><a id="4265" href="Categories.Functor.Core.html#511" class="Function">R.identity</a> <a id="4276" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4278" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4280" href="Relation.Binary.Structures.html#1577" class="Function">E.Equiv.refl</a><a id="4292" class="Symbol">))))</a> <a id="4297" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="4305" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="4313" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4318" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4320" class="Symbol">(</a><a id="4321" href="Categories.Adjoint.Properties.html#3865" class="Bound">g</a> <a id="4323" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4327" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="4339" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4341" href="Categories.Adjoint.Properties.html#3853" class="Bound">X</a> <a id="4343" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4347" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="4352" class="Symbol">(</a><a id="4353" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4358" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4360" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="4365" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4367" href="Categories.Adjoint.Properties.html#3861" class="Bound">f</a><a id="4368" class="Symbol">))</a> <a id="4371" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4373" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="4383" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4385" class="Symbol">(</a><a id="4386" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="4391" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4393" href="Categories.Adjoint.Properties.html#3853" class="Bound">X</a><a id="4394" class="Symbol">)</a>
|
||
<a id="4404" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4407" href="Categories.Functor.Core.html#565" class="Function">R.homomorphism</a> <a id="4422" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4424" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="4432" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="4440" class="Symbol">(</a><a id="4441" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4446" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4448" href="Categories.Adjoint.Properties.html#3865" class="Bound">g</a> <a id="4450" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4452" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4457" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4459" class="Symbol">(</a><a id="4460" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="4472" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4474" href="Categories.Adjoint.Properties.html#3853" class="Bound">X</a> <a id="4476" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4480" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="4485" class="Symbol">(</a><a id="4486" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4491" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4493" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="4498" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4500" href="Categories.Adjoint.Properties.html#3861" class="Bound">f</a><a id="4501" class="Symbol">)))</a> <a id="4505" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4507" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="4517" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4519" class="Symbol">(</a><a id="4520" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="4525" href="Categories.Adjoint.Properties.html#3849" class="Bound">B</a> <a id="4527" href="Categories.Adjoint.Properties.html#3853" class="Bound">X</a><a id="4528" class="Symbol">)</a>
|
||
<a id="4538" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4541" href="Categories.Category.Core.html#715" class="Function">assoc</a> <a id="4547" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="4555" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4560" href="Categories.Adjoint.Properties.html#3845" class="Bound">A</a> <a id="4562" href="Categories.Adjoint.Properties.html#3865" class="Bound">g</a> <a id="4564" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4566" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="4569" href="Categories.Adjoint.Properties.html#3861" class="Bound">f</a> <a id="4571" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="4584" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
||
<a id="4592" class="Keyword">where</a> <a id="4598" class="Keyword">open</a> <a id="4603" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="4606" href="Categories.Adjoint.Properties.html#2382" class="Bound">D</a>
|
||
|
||
<a id="4613" href="Categories.Adjoint.Properties.html#4613" class="Function">decompose₂</a> <a id="4624" class="Symbol">:</a> <a id="4626" class="Symbol">∀</a> <a id="4628" class="Symbol">{</a><a id="4629" href="Categories.Adjoint.Properties.html#4629" class="Bound">A</a> <a id="4631" href="Categories.Adjoint.Properties.html#4631" class="Bound">B</a> <a id="4633" href="Categories.Adjoint.Properties.html#4633" class="Bound">X</a> <a id="4635" href="Categories.Adjoint.Properties.html#4635" class="Bound">Y</a><a id="4636" class="Symbol">}</a> <a id="4638" class="Symbol">{</a><a id="4639" href="Categories.Adjoint.Properties.html#4639" class="Bound">f</a> <a id="4641" class="Symbol">:</a> <a id="4643" href="Categories.Adjoint.Properties.html#4629" class="Bound">A</a> <a id="4645" href="Categories.Category.Core.html#575" class="Function Operator">E.⇒</a> <a id="4649" href="Categories.Adjoint.Properties.html#4631" class="Bound">B</a><a id="4650" class="Symbol">}</a> <a id="4652" class="Symbol">{</a><a id="4653" href="Categories.Adjoint.Properties.html#4653" class="Bound">g</a> <a id="4655" class="Symbol">:</a> <a id="4657" href="Categories.Adjoint.Properties.html#4633" class="Bound">X</a> <a id="4659" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="4663" href="Categories.Adjoint.Properties.html#4635" class="Bound">Y</a><a id="4664" class="Symbol">}</a> <a id="4666" class="Symbol">→</a> <a id="4668" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="4671" href="Categories.Adjoint.Properties.html#4639" class="Bound">f</a> <a id="4673" href="Categories.Adjoint.Properties.html#4653" class="Bound">g</a> <a id="4675" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="4677" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="4680" href="Categories.Adjoint.Properties.html#4639" class="Bound">f</a> <a id="4682" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="4687" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4689" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4694" href="Categories.Adjoint.Properties.html#4631" class="Bound">B</a> <a id="4696" href="Categories.Adjoint.Properties.html#4653" class="Bound">g</a>
|
||
<a id="4702" href="Categories.Adjoint.Properties.html#4613" class="Function">decompose₂</a> <a id="4713" class="Symbol">{</a><a id="4714" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a><a id="4715" class="Symbol">}</a> <a id="4717" class="Symbol">{</a><a id="4718" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a><a id="4719" class="Symbol">}</a> <a id="4721" class="Symbol">{</a><a id="4722" href="Categories.Adjoint.Properties.html#4722" class="Bound">X</a><a id="4723" class="Symbol">}</a> <a id="4725" class="Symbol">{</a><a id="4726" href="Categories.Adjoint.Properties.html#4726" class="Bound">Y</a><a id="4727" class="Symbol">}</a> <a id="4729" class="Symbol">{</a><a id="4730" href="Categories.Adjoint.Properties.html#4730" class="Bound">f</a><a id="4731" class="Symbol">}</a> <a id="4733" class="Symbol">{</a><a id="4734" href="Categories.Adjoint.Properties.html#4734" class="Bound">g</a><a id="4735" class="Symbol">}</a> <a id="4737" class="Symbol">=</a> <a id="4739" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="4751" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="4754" href="Categories.Adjoint.Properties.html#4730" class="Bound">f</a> <a id="4756" href="Categories.Adjoint.Properties.html#4734" class="Bound">g</a>
|
||
<a id="4766" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4769" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="4780" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="4782" class="Symbol">(</a><a id="4783" href="Categories.Category.Core.html#1706" class="Function">D.∘-resp-≈ʳ</a> <a id="4795" href="Categories.Functor.Bifunctor.Properties.html#1241" class="Function Operator">[</a> <a id="4797" href="Categories.Adjoint.Properties.html#2364" class="Bound">L</a> <a id="4799" href="Categories.Functor.Bifunctor.Properties.html#1241" class="Function Operator">]-decompose₂</a><a id="4811" class="Symbol">)</a> <a id="4813" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="4821" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="4829" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4834" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="4836" class="Symbol">(</a><a id="4837" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="4849" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="4851" href="Categories.Adjoint.Properties.html#4726" class="Bound">Y</a> <a id="4853" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4857" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="4862" class="Symbol">(</a><a id="4863" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="4868" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4870" href="Categories.Adjoint.Properties.html#4730" class="Bound">f</a><a id="4871" class="Symbol">)</a> <a id="4873" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="4877" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="4882" class="Symbol">(</a><a id="4883" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="4888" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="4890" href="Categories.Adjoint.Properties.html#4734" class="Bound">g</a> <a id="4892" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4894" href="Categories.Category.Core.html#630" class="Function">E.id</a><a id="4898" class="Symbol">))</a> <a id="4901" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="4903" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="4913" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="4915" class="Symbol">(</a><a id="4916" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="4921" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="4923" href="Categories.Adjoint.Properties.html#4722" class="Bound">X</a><a id="4924" class="Symbol">)</a>
|
||
<a id="4934" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="4938" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="4949" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="4951" class="Symbol">(</a><a id="4952" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="4958" class="Symbol">(</a><a id="4959" href="Categories.Category.Core.html#1706" class="Function">D.∘-resp-≈ʳ</a> <a id="4971" class="Symbol">(</a><a id="4972" href="Categories.Functor.Core.html#696" class="Function">L.F-resp-≈</a> <a id="4983" class="Symbol">(</a><a id="4984" href="Categories.Functor.Core.html#511" class="Function">R.identity</a> <a id="4995" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="4997" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4999" href="Relation.Binary.Structures.html#1577" class="Function">E.Equiv.refl</a><a id="5011" class="Symbol">))))</a> <a id="5016" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="5024" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="5032" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5037" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="5039" class="Symbol">((</a><a id="5041" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="5053" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5055" href="Categories.Adjoint.Properties.html#4726" class="Bound">Y</a> <a id="5057" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="5061" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5066" class="Symbol">(</a><a id="5067" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5072" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5074" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="5079" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="5081" href="Categories.Adjoint.Properties.html#4730" class="Bound">f</a><a id="5082" class="Symbol">))</a> <a id="5085" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="5089" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5094" class="Symbol">(</a><a id="5095" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5100" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5102" href="Categories.Adjoint.Properties.html#4734" class="Bound">g</a> <a id="5104" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="5106" href="Categories.Category.Core.html#630" class="Function">E.id</a><a id="5110" class="Symbol">))</a> <a id="5113" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5115" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="5125" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="5127" class="Symbol">(</a><a id="5128" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="5133" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5135" href="Categories.Adjoint.Properties.html#4722" class="Bound">X</a><a id="5136" class="Symbol">)</a>
|
||
<a id="5146" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5149" href="Categories.Functor.Core.html#565" class="Function">R.homomorphism</a> <a id="5164" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="5166" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="5174" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="5182" class="Symbol">(</a><a id="5183" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5188" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="5190" class="Symbol">(</a><a id="5191" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="5203" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5205" href="Categories.Adjoint.Properties.html#4726" class="Bound">Y</a> <a id="5207" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="5211" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5216" class="Symbol">(</a><a id="5217" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5222" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5224" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="5229" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="5231" href="Categories.Adjoint.Properties.html#4730" class="Bound">f</a><a id="5232" class="Symbol">))</a> <a id="5235" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5237" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5242" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="5244" class="Symbol">(</a><a id="5245" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5250" class="Symbol">(</a><a id="5251" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5256" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5258" href="Categories.Adjoint.Properties.html#4734" class="Bound">g</a> <a id="5260" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="5262" href="Categories.Category.Core.html#630" class="Function">E.id</a><a id="5266" class="Symbol">)))</a> <a id="5270" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5272" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="5282" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="5284" class="Symbol">(</a><a id="5285" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="5290" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5292" href="Categories.Adjoint.Properties.html#4722" class="Bound">X</a><a id="5293" class="Symbol">)</a>
|
||
<a id="5303" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="5307" href="Categories.Morphism.Reasoning.Core.html#2347" class="Function">MR.pushʳ</a> <a id="5316" href="Categories.Adjoint.Properties.html#2334" class="Bound">C</a> <a id="5318" class="Symbol">(</a><a id="5319" href="Categories.NaturalTransformation.Core.html#827" class="Function">LR.unit.commute</a> <a id="5335" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="5337" class="Symbol">(</a><a id="5338" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5343" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5345" href="Categories.Adjoint.Properties.html#4734" class="Bound">g</a><a id="5346" class="Symbol">))</a> <a id="5349" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="5357" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5362" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="5364" class="Symbol">(</a><a id="5365" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="5377" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5379" href="Categories.Adjoint.Properties.html#4726" class="Bound">Y</a> <a id="5381" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="5385" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5390" class="Symbol">(</a><a id="5391" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5396" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5398" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="5403" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="5405" href="Categories.Adjoint.Properties.html#4730" class="Bound">f</a><a id="5406" class="Symbol">))</a> <a id="5409" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5411" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="5421" href="Categories.Adjoint.Properties.html#4714" class="Bound">A</a> <a id="5423" class="Symbol">(</a><a id="5424" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="5429" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5431" href="Categories.Adjoint.Properties.html#4726" class="Bound">Y</a><a id="5432" class="Symbol">)</a> <a id="5434" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5436" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5441" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5443" href="Categories.Adjoint.Properties.html#4734" class="Bound">g</a>
|
||
<a id="5453" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5456" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="5466" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="5474" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="5477" href="Categories.Adjoint.Properties.html#4730" class="Bound">f</a> <a id="5479" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="5484" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5486" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5491" href="Categories.Adjoint.Properties.html#4718" class="Bound">B</a> <a id="5493" href="Categories.Adjoint.Properties.html#4734" class="Bound">g</a>
|
||
<a id="5503" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
||
<a id="5511" class="Keyword">where</a> <a id="5517" class="Keyword">open</a> <a id="5522" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="5525" href="Categories.Adjoint.Properties.html#2382" class="Bound">D</a>
|
||
|
||
<a id="5532" href="Categories.Adjoint.Properties.html#5532" class="Function">swap</a> <a id="5537" class="Symbol">:</a> <a id="5539" class="Symbol">∀</a> <a id="5541" class="Symbol">{</a><a id="5542" href="Categories.Adjoint.Properties.html#5542" class="Bound">A</a> <a id="5544" href="Categories.Adjoint.Properties.html#5544" class="Bound">B</a> <a id="5546" href="Categories.Adjoint.Properties.html#5546" class="Bound">X</a> <a id="5548" href="Categories.Adjoint.Properties.html#5548" class="Bound">Y</a><a id="5549" class="Symbol">}</a> <a id="5551" class="Symbol">{</a><a id="5552" href="Categories.Adjoint.Properties.html#5552" class="Bound">f</a> <a id="5554" class="Symbol">:</a> <a id="5556" href="Categories.Adjoint.Properties.html#5542" class="Bound">A</a> <a id="5558" href="Categories.Category.Core.html#575" class="Function Operator">E.⇒</a> <a id="5562" href="Categories.Adjoint.Properties.html#5544" class="Bound">B</a><a id="5563" class="Symbol">}</a> <a id="5565" class="Symbol">{</a><a id="5566" href="Categories.Adjoint.Properties.html#5566" class="Bound">g</a> <a id="5568" class="Symbol">:</a> <a id="5570" href="Categories.Adjoint.Properties.html#5546" class="Bound">X</a> <a id="5572" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="5576" href="Categories.Adjoint.Properties.html#5548" class="Bound">Y</a><a id="5577" class="Symbol">}</a> <a id="5579" class="Symbol">→</a> <a id="5581" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5586" href="Categories.Adjoint.Properties.html#5542" class="Bound">A</a> <a id="5588" href="Categories.Adjoint.Properties.html#5566" class="Bound">g</a> <a id="5590" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5592" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="5595" href="Categories.Adjoint.Properties.html#5552" class="Bound">f</a> <a id="5597" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="5602" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="5604" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="5607" href="Categories.Adjoint.Properties.html#5552" class="Bound">f</a> <a id="5609" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="5614" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5616" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5621" href="Categories.Adjoint.Properties.html#5544" class="Bound">B</a> <a id="5623" href="Categories.Adjoint.Properties.html#5566" class="Bound">g</a>
|
||
<a id="5629" href="Categories.Adjoint.Properties.html#5532" class="Function">swap</a> <a id="5634" class="Symbol">=</a> <a id="5636" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="5638" href="Categories.Adjoint.Properties.html#3744" class="Function">decompose₁</a> <a id="5649" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="5651" href="Categories.Adjoint.Properties.html#4613" class="Function">decompose₂</a>
|
||
|
||
<a id="5667" href="Categories.Adjoint.Properties.html#5667" class="Function">commute″</a> <a id="5676" class="Symbol">:</a> <a id="5678" class="Symbol">∀</a> <a id="5680" class="Symbol">{</a><a id="5681" href="Categories.Adjoint.Properties.html#5681" class="Bound">X</a> <a id="5683" href="Categories.Adjoint.Properties.html#5683" class="Bound">Y</a> <a id="5685" href="Categories.Adjoint.Properties.html#5685" class="Bound">Z</a> <a id="5687" href="Categories.Adjoint.Properties.html#5687" class="Bound">A</a><a id="5688" class="Symbol">}</a> <a id="5690" class="Symbol">{</a><a id="5691" href="Categories.Adjoint.Properties.html#5691" class="Bound">f</a> <a id="5693" class="Symbol">:</a> <a id="5695" href="Categories.Adjoint.Properties.html#5683" class="Bound">Y</a> <a id="5697" href="Categories.Category.Core.html#575" class="Function Operator">E.⇒</a> <a id="5701" href="Categories.Adjoint.Properties.html#5685" class="Bound">Z</a><a id="5702" class="Symbol">}</a> <a id="5704" class="Symbol">{</a><a id="5705" href="Categories.Adjoint.Properties.html#5705" class="Bound">g</a> <a id="5707" class="Symbol">:</a> <a id="5709" href="Categories.Adjoint.Properties.html#5681" class="Bound">X</a> <a id="5711" href="Categories.Category.Core.html#575" class="Function Operator">E.⇒</a> <a id="5715" href="Categories.Adjoint.Properties.html#5683" class="Bound">Y</a><a id="5716" class="Symbol">}</a> <a id="5718" class="Symbol">→</a> <a id="5720" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="5723" class="Symbol">(</a><a id="5724" href="Categories.Adjoint.Properties.html#5691" class="Bound">f</a> <a id="5726" href="Categories.Category.Core.html#656" class="Function Operator">E.∘</a> <a id="5730" href="Categories.Adjoint.Properties.html#5705" class="Bound">g</a><a id="5731" class="Symbol">)</a> <a id="5733" class="Symbol">(</a><a id="5734" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="5739" class="Symbol">{</a><a id="5740" href="Categories.Adjoint.Properties.html#5687" class="Bound">A</a><a id="5741" class="Symbol">})</a> <a id="5744" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="5746" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="5749" href="Categories.Adjoint.Properties.html#5705" class="Bound">g</a> <a id="5751" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="5756" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5758" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="5761" href="Categories.Adjoint.Properties.html#5691" class="Bound">f</a> <a id="5763" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="5772" href="Categories.Adjoint.Properties.html#5667" class="Function">commute″</a> <a id="5781" class="Symbol">{</a><a id="5782" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a><a id="5783" class="Symbol">}</a> <a id="5785" class="Symbol">{</a><a id="5786" href="Categories.Adjoint.Properties.html#5786" class="Bound">Y</a><a id="5787" class="Symbol">}</a> <a id="5789" class="Symbol">{</a><a id="5790" href="Categories.Adjoint.Properties.html#5790" class="Bound">Z</a><a id="5791" class="Symbol">}</a> <a id="5793" class="Symbol">{</a><a id="5794" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a><a id="5795" class="Symbol">}</a> <a id="5797" class="Symbol">{</a><a id="5798" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a><a id="5799" class="Symbol">}</a> <a id="5801" class="Symbol">{</a><a id="5802" href="Categories.Adjoint.Properties.html#5802" class="Bound">g</a><a id="5803" class="Symbol">}</a> <a id="5805" class="Symbol">=</a> <a id="5807" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="5819" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="5822" class="Symbol">(</a><a id="5823" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a> <a id="5825" href="Categories.Category.Core.html#656" class="Function Operator">E.∘</a> <a id="5829" href="Categories.Adjoint.Properties.html#5802" class="Bound">g</a><a id="5830" class="Symbol">)</a> <a id="5832" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="5845" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5848" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="5859" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="5861" class="Symbol">(</a><a id="5862" href="Categories.Category.Core.html#1706" class="Function">D.∘-resp-≈ʳ</a> <a id="5874" class="Symbol">(</a><a id="5875" href="Categories.Functor.Core.html#696" class="Function">L.F-resp-≈</a> <a id="5886" class="Symbol">(</a><a id="5887" href="Categories.Functor.Core.html#511" class="Function">R.identity</a> <a id="5898" href="Categories.Adjoint.Properties.html#5790" class="Bound">Z</a> <a id="5900" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="5902" href="Relation.Binary.Structures.html#1577" class="Function">E.Equiv.refl</a><a id="5914" class="Symbol">)))</a> <a id="5918" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="5926" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="5934" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="5939" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="5941" class="Symbol">(</a><a id="5942" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="5954" href="Categories.Adjoint.Properties.html#5790" class="Bound">Z</a> <a id="5956" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a> <a id="5958" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="5962" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="5967" class="Symbol">(</a><a id="5968" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="5973" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="5975" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a> <a id="5977" href="Categories.Category.Core.html#656" class="Function Operator">E.∘</a> <a id="5981" href="Categories.Adjoint.Properties.html#5802" class="Bound">g</a><a id="5982" class="Symbol">))</a> <a id="5985" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="5987" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="5997" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="5999" class="Symbol">(</a><a id="6000" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="6005" href="Categories.Adjoint.Properties.html#5790" class="Bound">Z</a> <a id="6007" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a><a id="6008" class="Symbol">)</a>
|
||
<a id="6018" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="6021" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="6032" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6034" class="Symbol">(</a><a id="6035" href="Categories.Category.Core.html#1706" class="Function">D.∘-resp-≈ʳ</a> <a id="6047" class="Symbol">(</a><a id="6048" href="Categories.Functor.Core.html#565" class="Field">Functor.homomorphism</a> <a id="6069" class="Symbol">(</a><a id="6070" href="Categories.Functor.Bifunctor.html#874" class="Function">appˡ</a> <a id="6075" href="Categories.Adjoint.Properties.html#2364" class="Bound">L</a> <a id="6077" class="Symbol">(</a><a id="6078" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="6083" href="Categories.Adjoint.Properties.html#5790" class="Bound">Z</a> <a id="6085" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a><a id="6086" class="Symbol">))))</a> <a id="6091" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="6099" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="6107" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="6112" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6114" class="Symbol">(</a><a id="6115" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="6127" href="Categories.Adjoint.Properties.html#5790" class="Bound">Z</a> <a id="6129" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a> <a id="6131" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="6135" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6140" class="Symbol">(</a><a id="6141" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="6146" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6148" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a><a id="6149" class="Symbol">)</a> <a id="6151" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="6155" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6160" class="Symbol">(</a><a id="6161" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="6166" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6168" href="Categories.Adjoint.Properties.html#5802" class="Bound">g</a><a id="6169" class="Symbol">))</a> <a id="6172" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="6174" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="6184" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6186" class="Symbol">(</a><a id="6187" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="6192" href="Categories.Adjoint.Properties.html#5790" class="Bound">Z</a> <a id="6194" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a><a id="6195" class="Symbol">)</a>
|
||
<a id="6205" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="6209" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="6220" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6222" class="Symbol">(</a><a id="6223" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">MR.pushˡ</a> <a id="6232" href="Categories.Adjoint.Properties.html#2382" class="Bound">D</a> <a id="6234" class="Symbol">(</a><a id="6235" href="Categories.Adjoint.Properties.html#3297" class="Function">commute′</a> <a id="6244" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a><a id="6245" class="Symbol">))</a> <a id="6248" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="6256" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="6264" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="6269" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6271" class="Symbol">((</a><a id="6273" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="6285" href="Categories.Adjoint.Properties.html#5786" class="Bound">Y</a> <a id="6287" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a> <a id="6289" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="6293" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6298" class="Symbol">(</a><a id="6299" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="6302" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a> <a id="6304" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="6309" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6311" href="Categories.Category.Core.html#630" class="Function">E.id</a><a id="6315" class="Symbol">))</a> <a id="6318" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="6322" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6327" class="Symbol">(</a><a id="6328" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="6333" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6335" href="Categories.Adjoint.Properties.html#5802" class="Bound">g</a><a id="6336" class="Symbol">))</a> <a id="6339" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="6341" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="6351" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6353" class="Symbol">(</a><a id="6354" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="6359" href="Categories.Adjoint.Properties.html#5790" class="Bound">Z</a> <a id="6361" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a><a id="6362" class="Symbol">)</a>
|
||
<a id="6372" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="6376" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="6387" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6389" class="Symbol">(</a><a id="6390" href="Categories.Morphism.Reasoning.Core.html#2347" class="Function">MR.pushʳ</a> <a id="6399" href="Categories.Adjoint.Properties.html#2382" class="Bound">D</a> <a id="6401" href="Categories.Functor.Bifunctor.Properties.html#632" class="Function Operator">[</a> <a id="6403" href="Categories.Adjoint.Properties.html#2364" class="Bound">L</a> <a id="6405" href="Categories.Functor.Bifunctor.Properties.html#632" class="Function Operator">]-commute</a><a id="6414" class="Symbol">)</a> <a id="6416" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="6424" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="6432" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="6437" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6439" class="Symbol">(</a><a id="6440" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="6452" href="Categories.Adjoint.Properties.html#5786" class="Bound">Y</a> <a id="6454" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a> <a id="6456" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="6460" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6465" class="Symbol">(</a><a id="6466" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="6471" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6473" href="Categories.Adjoint.Properties.html#5802" class="Bound">g</a><a id="6474" class="Symbol">)</a> <a id="6476" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="6480" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6485" class="Symbol">(</a><a id="6486" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="6489" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a> <a id="6491" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="6496" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6498" href="Categories.Category.Core.html#630" class="Function">E.id</a><a id="6502" class="Symbol">))</a> <a id="6505" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="6507" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="6517" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6519" class="Symbol">(</a><a id="6520" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="6525" href="Categories.Adjoint.Properties.html#5790" class="Bound">Z</a> <a id="6527" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a><a id="6528" class="Symbol">)</a>
|
||
<a id="6538" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="6541" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="6552" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6554" href="Categories.Category.Core.html#1004" class="Function">D.sym-assoc</a> <a id="6566" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="6574" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="6582" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="6587" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6589" class="Symbol">((</a><a id="6591" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="6603" href="Categories.Adjoint.Properties.html#5786" class="Bound">Y</a> <a id="6605" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a> <a id="6607" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="6611" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6616" class="Symbol">(</a><a id="6617" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="6622" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6624" href="Categories.Adjoint.Properties.html#5802" class="Bound">g</a><a id="6625" class="Symbol">))</a> <a id="6628" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="6632" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6637" class="Symbol">(</a><a id="6638" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="6641" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a> <a id="6643" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="6648" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6650" href="Categories.Category.Core.html#630" class="Function">E.id</a><a id="6654" class="Symbol">))</a> <a id="6657" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="6659" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="6669" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6671" class="Symbol">(</a><a id="6672" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="6677" href="Categories.Adjoint.Properties.html#5790" class="Bound">Z</a> <a id="6679" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a><a id="6680" class="Symbol">)</a>
|
||
<a id="6690" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="6693" href="Categories.Functor.Core.html#565" class="Function">R.homomorphism</a> <a id="6708" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6710" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="6718" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="6726" class="Symbol">(</a><a id="6727" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="6732" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6734" class="Symbol">(</a><a id="6735" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="6747" href="Categories.Adjoint.Properties.html#5786" class="Bound">Y</a> <a id="6749" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a> <a id="6751" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="6755" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6760" class="Symbol">(</a><a id="6761" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="6766" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6768" href="Categories.Adjoint.Properties.html#5802" class="Bound">g</a><a id="6769" class="Symbol">))</a> <a id="6772" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="6774" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="6779" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6781" class="Symbol">(</a><a id="6782" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6787" class="Symbol">(</a><a id="6788" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="6791" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a> <a id="6793" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="6798" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6800" href="Categories.Category.Core.html#630" class="Function">E.id</a><a id="6804" class="Symbol">)))</a> <a id="6808" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="6810" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="6820" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6822" class="Symbol">(</a><a id="6823" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="6828" href="Categories.Adjoint.Properties.html#5790" class="Bound">Z</a> <a id="6830" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a><a id="6831" class="Symbol">)</a>
|
||
<a id="6841" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="6845" href="Categories.Morphism.Reasoning.Core.html#2347" class="Function">MR.pushʳ</a> <a id="6854" href="Categories.Adjoint.Properties.html#2334" class="Bound">C</a> <a id="6856" class="Symbol">(</a><a id="6857" href="Categories.NaturalTransformation.Core.html#827" class="Function">LR.unit.commute</a> <a id="6873" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6875" class="Symbol">(</a><a id="6876" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="6879" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a> <a id="6881" href="Categories.Category.Core.html#630" class="Function">D.id</a><a id="6885" class="Symbol">))</a> <a id="6888" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="6896" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="6901" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6903" class="Symbol">(</a><a id="6904" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="6916" href="Categories.Adjoint.Properties.html#5786" class="Bound">Y</a> <a id="6918" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a> <a id="6920" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="6924" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="6929" class="Symbol">(</a><a id="6930" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="6935" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6937" href="Categories.Adjoint.Properties.html#5802" class="Bound">g</a><a id="6938" class="Symbol">))</a> <a id="6941" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="6943" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="6953" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="6955" class="Symbol">(</a><a id="6956" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="6961" href="Categories.Adjoint.Properties.html#5786" class="Bound">Y</a> <a id="6963" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a><a id="6964" class="Symbol">)</a> <a id="6966" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="6968" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="6971" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a> <a id="6973" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="6986" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="6990" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="7001" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="7003" class="Symbol">(</a><a id="7004" href="Categories.Category.Core.html#1706" class="Function">D.∘-resp-≈ʳ</a> <a id="7016" class="Symbol">(</a><a id="7017" href="Categories.Functor.Core.html#696" class="Function">L.F-resp-≈</a> <a id="7028" class="Symbol">(</a><a id="7029" href="Categories.Functor.Core.html#511" class="Function">R.identity</a> <a id="7040" href="Categories.Adjoint.Properties.html#5786" class="Bound">Y</a> <a id="7042" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7044" href="Relation.Binary.Structures.html#1577" class="Function">E.Equiv.refl</a><a id="7056" class="Symbol">)))</a> <a id="7060" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="7068" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="7076" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="7081" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="7083" class="Symbol">(</a><a id="7084" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="7096" href="Categories.Adjoint.Properties.html#5786" class="Bound">Y</a> <a id="7098" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a> <a id="7100" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="7104" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="7109" class="Symbol">(</a><a id="7110" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="7115" href="Categories.Adjoint.Properties.html#5786" class="Bound">Y</a> <a id="7117" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="7122" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7124" href="Categories.Adjoint.Properties.html#5802" class="Bound">g</a><a id="7125" class="Symbol">))</a> <a id="7128" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="7130" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="7140" href="Categories.Adjoint.Properties.html#5782" class="Bound">X</a> <a id="7142" class="Symbol">(</a><a id="7143" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="7148" href="Categories.Adjoint.Properties.html#5786" class="Bound">Y</a> <a id="7150" href="Categories.Adjoint.Properties.html#5794" class="Bound">A</a><a id="7151" class="Symbol">)</a> <a id="7153" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="7155" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="7158" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a> <a id="7160" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="7173" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="7176" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="7186" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="7194" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="7197" href="Categories.Adjoint.Properties.html#5802" class="Bound">g</a> <a id="7199" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="7204" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="7206" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="7209" href="Categories.Adjoint.Properties.html#5798" class="Bound">f</a> <a id="7211" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="7224" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
||
|
||
<a id="7229" href="Categories.Adjoint.Properties.html#7229" class="Function">induced-bifunctorʳ</a> <a id="7248" class="Symbol">:</a> <a id="7250" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="7260" href="Categories.Category.Core.html#3132" class="Function">E.op</a> <a id="7265" href="Categories.Adjoint.Properties.html#2382" class="Bound">D</a> <a id="7267" href="Categories.Adjoint.Properties.html#2334" class="Bound">C</a>
|
||
<a id="7271" href="Categories.Adjoint.Properties.html#7229" class="Function">induced-bifunctorʳ</a> <a id="7290" class="Symbol">=</a> <a id="7292" class="Keyword">record</a>
|
||
<a id="7303" class="Symbol">{</a> <a id="7305" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="7318" class="Symbol">=</a> <a id="7320" href="Data.Product.html#3431" class="Function">uncurry</a> <a id="7328" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a>
|
||
<a id="7337" class="Symbol">;</a> <a id="7339" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="7352" class="Symbol">=</a> <a id="7354" href="Data.Product.html#3431" class="Function">uncurry</a> <a id="7362" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a>
|
||
<a id="7369" class="Symbol">;</a> <a id="7371" href="Categories.Functor.Core.html#511" class="Field">identity</a> <a id="7384" class="Symbol">=</a> <a id="7386" class="Symbol">λ</a> <a id="7388" class="Keyword">where</a>
|
||
<a id="7400" class="Symbol">{</a><a id="7401" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7403" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7405" href="Categories.Adjoint.Properties.html#7405" class="Bound">d</a><a id="7406" class="Symbol">}</a> <a id="7408" class="Symbol">→</a>
|
||
<a id="7418" class="Keyword">let</a> <a id="7422" class="Keyword">open</a> <a id="7427" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="7430" href="Categories.Adjoint.Properties.html#2382" class="Bound">D</a>
|
||
<a id="7440" class="Keyword">in</a> <a id="7443" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="7459" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="7462" href="Categories.Category.Core.html#630" class="Function">E.id</a> <a id="7467" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="7484" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="7487" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="7498" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7500" class="Symbol">(</a><a id="7501" href="Categories.Category.Core.html#1706" class="Function">D.∘-resp-≈ʳ</a> <a id="7513" class="Symbol">(</a><a id="7514" href="Categories.Functor.Core.html#696" class="Function">L.F-resp-≈</a> <a id="7525" class="Symbol">(</a><a id="7526" href="Categories.Functor.Core.html#511" class="Function">R.identity</a> <a id="7537" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7539" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7541" href="Relation.Binary.Structures.html#1577" class="Function">E.Equiv.refl</a><a id="7553" class="Symbol">)))</a> <a id="7557" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="7565" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="7577" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="7582" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7584" class="Symbol">(</a><a id="7585" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="7597" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7599" href="Categories.Adjoint.Properties.html#7405" class="Bound">d</a> <a id="7601" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="7605" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="7610" class="Symbol">(</a><a id="7611" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="7616" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7618" href="Categories.Category.Core.html#630" class="Function">E.id</a><a id="7622" class="Symbol">))</a> <a id="7625" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="7627" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="7637" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7639" class="Symbol">(</a><a id="7640" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="7645" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7647" href="Categories.Adjoint.Properties.html#7405" class="Bound">d</a><a id="7648" class="Symbol">)</a>
|
||
<a id="7662" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="7665" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="7676" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7678" class="Symbol">(</a><a id="7679" href="Categories.Morphism.Reasoning.Core.html#2786" class="Function">elimʳ</a> <a id="7685" href="Categories.Functor.Core.html#511" class="Function">L.identity</a><a id="7695" class="Symbol">)</a> <a id="7697" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="7705" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="7717" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="7722" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7724" class="Symbol">(</a><a id="7725" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.counit.η</a> <a id="7737" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7739" href="Categories.Adjoint.Properties.html#7405" class="Bound">d</a><a id="7740" class="Symbol">)</a> <a id="7742" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="7744" href="Categories.NaturalTransformation.Core.html#783" class="Function">LR.unit.η</a> <a id="7754" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7756" class="Symbol">(</a><a id="7757" href="Categories.Functor.Core.html#432" class="Function">R.F₀</a> <a id="7762" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7764" href="Categories.Adjoint.Properties.html#7405" class="Bound">d</a><a id="7765" class="Symbol">)</a>
|
||
<a id="7779" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="7782" href="Categories.Adjoint.html#1788" class="Function">LR.zag</a> <a id="7789" href="Categories.Adjoint.Properties.html#7401" class="Bound">e</a> <a id="7791" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="7803" href="Categories.Category.Core.html#630" class="Function">C.id</a>
|
||
<a id="7820" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
||
<a id="7826" class="Symbol">;</a> <a id="7828" href="Categories.Functor.Core.html#565" class="Field">homomorphism</a> <a id="7841" class="Symbol">=</a> <a id="7843" class="Symbol">λ</a> <a id="7845" class="Keyword">where</a>
|
||
<a id="7857" class="Symbol">{</a><a id="7858" href="Categories.Adjoint.Properties.html#7858" class="Bound">A</a> <a id="7860" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7862" href="Categories.Adjoint.Properties.html#7862" class="Bound">X</a><a id="7863" class="Symbol">}</a> <a id="7865" class="Symbol">{</a><a id="7866" href="Categories.Adjoint.Properties.html#7866" class="Bound">B</a> <a id="7868" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7870" href="Categories.Adjoint.Properties.html#7870" class="Bound">Y</a><a id="7871" class="Symbol">}</a> <a id="7873" class="Symbol">{</a><a id="7874" href="Categories.Adjoint.Properties.html#7874" class="Bound">W</a> <a id="7876" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7878" href="Categories.Adjoint.Properties.html#7878" class="Bound">Z</a><a id="7879" class="Symbol">}</a> <a id="7881" class="Symbol">{</a><a id="7882" href="Categories.Adjoint.Properties.html#7882" class="Bound">f</a> <a id="7884" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7886" href="Categories.Adjoint.Properties.html#7886" class="Bound">h</a><a id="7887" class="Symbol">}</a> <a id="7889" class="Symbol">{</a><a id="7890" href="Categories.Adjoint.Properties.html#7890" class="Bound">g</a> <a id="7892" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7894" href="Categories.Adjoint.Properties.html#7894" class="Bound">i</a><a id="7895" class="Symbol">}</a> <a id="7897" class="Symbol">→</a>
|
||
<a id="7907" class="Keyword">let</a> <a id="7911" class="Keyword">open</a> <a id="7916" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="7919" href="Categories.Adjoint.Properties.html#2334" class="Bound">C</a>
|
||
<a id="7929" class="Keyword">in</a> <a id="7932" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="7948" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="7951" class="Symbol">(</a><a id="7952" href="Categories.Adjoint.Properties.html#7882" class="Bound">f</a> <a id="7954" href="Categories.Category.Core.html#656" class="Function Operator">E.∘</a> <a id="7958" href="Categories.Adjoint.Properties.html#7890" class="Bound">g</a><a id="7959" class="Symbol">)</a> <a id="7961" class="Symbol">(</a><a id="7962" href="Categories.Adjoint.Properties.html#7894" class="Bound">i</a> <a id="7964" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="7968" href="Categories.Adjoint.Properties.html#7886" class="Bound">h</a><a id="7969" class="Symbol">)</a>
|
||
<a id="7983" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="7986" href="Categories.Adjoint.Properties.html#3744" class="Function">decompose₁</a> <a id="7997" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="8009" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="8014" href="Categories.Adjoint.Properties.html#7874" class="Bound">W</a> <a id="8016" class="Symbol">(</a><a id="8017" href="Categories.Adjoint.Properties.html#7894" class="Bound">i</a> <a id="8019" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="8023" href="Categories.Adjoint.Properties.html#7886" class="Bound">h</a><a id="8024" class="Symbol">)</a> <a id="8026" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="8028" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="8031" class="Symbol">(</a><a id="8032" href="Categories.Adjoint.Properties.html#7882" class="Bound">f</a> <a id="8034" href="Categories.Category.Core.html#656" class="Function Operator">E.∘</a> <a id="8038" href="Categories.Adjoint.Properties.html#7890" class="Bound">g</a><a id="8039" class="Symbol">)</a> <a id="8041" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="8058" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="8062" href="Categories.Morphism.Reasoning.Core.html#7391" class="Function">center⁻¹</a> <a id="8071" class="Symbol">(</a><a id="8072" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="8074" class="Symbol">(</a><a id="8075" href="Categories.Functor.Core.html#565" class="Function">R.homomorphism</a> <a id="8090" href="Categories.Adjoint.Properties.html#7874" class="Bound">W</a><a id="8091" class="Symbol">))</a> <a id="8094" class="Symbol">(</a><a id="8095" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="8097" href="Categories.Adjoint.Properties.html#5667" class="Function">commute″</a><a id="8105" class="Symbol">)</a> <a id="8107" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="8119" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="8124" href="Categories.Adjoint.Properties.html#7874" class="Bound">W</a> <a id="8126" href="Categories.Adjoint.Properties.html#7894" class="Bound">i</a> <a id="8128" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="8130" class="Symbol">(</a><a id="8131" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="8136" href="Categories.Adjoint.Properties.html#7874" class="Bound">W</a> <a id="8138" href="Categories.Adjoint.Properties.html#7886" class="Bound">h</a> <a id="8140" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="8142" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="8145" href="Categories.Adjoint.Properties.html#7890" class="Bound">g</a> <a id="8147" href="Categories.Category.Core.html#630" class="Function">D.id</a><a id="8151" class="Symbol">)</a> <a id="8153" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="8155" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="8158" href="Categories.Adjoint.Properties.html#7882" class="Bound">f</a> <a id="8160" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="8177" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="8181" href="Categories.Morphism.Reasoning.Core.html#7259" class="Function">center</a> <a id="8188" class="Symbol">(</a><a id="8189" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="8191" href="Categories.Adjoint.Properties.html#5532" class="Function">swap</a><a id="8195" class="Symbol">)</a> <a id="8197" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="8209" class="Symbol">(</a><a id="8210" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="8215" href="Categories.Adjoint.Properties.html#7874" class="Bound">W</a> <a id="8217" href="Categories.Adjoint.Properties.html#7894" class="Bound">i</a> <a id="8219" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="8221" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="8224" href="Categories.Adjoint.Properties.html#7890" class="Bound">g</a> <a id="8226" href="Categories.Category.Core.html#630" class="Function">D.id</a><a id="8230" class="Symbol">)</a> <a id="8232" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="8234" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="8239" href="Categories.Adjoint.Properties.html#7866" class="Bound">B</a> <a id="8241" href="Categories.Adjoint.Properties.html#7886" class="Bound">h</a> <a id="8243" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="8245" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="8248" href="Categories.Adjoint.Properties.html#7882" class="Bound">f</a> <a id="8250" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="8267" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="8271" href="Categories.Adjoint.Properties.html#3744" class="Function">decompose₁</a> <a id="8282" href="Categories.Category.Core.html#2634" class="Function Operator">⟩∘⟨</a> <a id="8286" href="Categories.Adjoint.Properties.html#3744" class="Function">decompose₁</a> <a id="8297" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="8309" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="8312" href="Categories.Adjoint.Properties.html#7890" class="Bound">g</a> <a id="8314" href="Categories.Adjoint.Properties.html#7894" class="Bound">i</a> <a id="8316" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="8318" href="Categories.Adjoint.Properties.html#3075" class="Function">F′</a> <a id="8321" href="Categories.Adjoint.Properties.html#7882" class="Bound">f</a> <a id="8323" href="Categories.Adjoint.Properties.html#7886" class="Bound">h</a>
|
||
<a id="8337" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
||
<a id="8343" class="Symbol">;</a> <a id="8345" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a> <a id="8358" class="Symbol">=</a> <a id="8360" class="Symbol">λ</a> <a id="8362" class="Keyword">where</a>
|
||
<a id="8374" class="Symbol">{</a><a id="8375" href="Categories.Adjoint.Properties.html#8375" class="Bound">A</a> <a id="8377" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="8379" href="Categories.Adjoint.Properties.html#8379" class="Bound">X</a><a id="8380" class="Symbol">}</a> <a id="8382" class="Symbol">{</a><a id="8383" href="Categories.Adjoint.Properties.html#8383" class="Bound">B</a> <a id="8385" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="8387" href="Categories.Adjoint.Properties.html#8387" class="Bound">Y</a><a id="8388" class="Symbol">}</a> <a id="8390" class="Symbol">(</a><a id="8391" href="Categories.Adjoint.Properties.html#8391" class="Bound">eq</a> <a id="8394" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="8396" href="Categories.Adjoint.Properties.html#8396" class="Bound">eq′</a><a id="8399" class="Symbol">)</a> <a id="8401" class="Symbol">→</a>
|
||
<a id="8411" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="8421" class="Symbol">(</a><a id="8422" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="8433" href="Categories.Adjoint.Properties.html#8383" class="Bound">B</a> <a id="8435" class="Symbol">(</a><a id="8436" href="Categories.Category.Core.html#1706" class="Function">D.∘-resp-≈ʳ</a> <a id="8448" class="Symbol">(</a><a id="8449" href="Categories.Functor.Core.html#696" class="Function">L.F-resp-≈</a> <a id="8460" class="Symbol">(</a><a id="8461" href="Categories.Functor.Core.html#696" class="Function">R.F-resp-≈</a> <a id="8472" href="Categories.Adjoint.Properties.html#8375" class="Bound">A</a> <a id="8474" href="Categories.Adjoint.Properties.html#8396" class="Bound">eq′</a> <a id="8478" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="8480" href="Categories.Adjoint.Properties.html#8391" class="Bound">eq</a><a id="8482" class="Symbol">))))</a>
|
||
<a id="8491" class="Symbol">}</a>
|
||
|
||
<a id="8494" class="Comment">-- LAPC: left adjoint preserves colimits.</a>
|
||
<a id="8536" class="Keyword">module</a> <a id="8543" href="Categories.Adjoint.Properties.html#8543" class="Module">_</a> <a id="8545" class="Symbol">{</a><a id="8546" href="Categories.Adjoint.Properties.html#8546" class="Bound">L</a> <a id="8548" class="Symbol">:</a> <a id="8550" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="8558" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a> <a id="8560" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a><a id="8561" class="Symbol">}</a> <a id="8563" class="Symbol">{</a><a id="8564" href="Categories.Adjoint.Properties.html#8564" class="Bound">R</a> <a id="8566" class="Symbol">:</a> <a id="8568" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="8576" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a> <a id="8578" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a><a id="8579" class="Symbol">}</a> <a id="8581" class="Symbol">(</a><a id="8582" href="Categories.Adjoint.Properties.html#8582" class="Bound">L⊣R</a> <a id="8586" class="Symbol">:</a> <a id="8588" href="Categories.Adjoint.Properties.html#8546" class="Bound">L</a> <a id="8590" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="8592" href="Categories.Adjoint.Properties.html#8564" class="Bound">R</a><a id="8593" class="Symbol">)</a> <a id="8595" class="Symbol">(</a><a id="8596" href="Categories.Adjoint.Properties.html#8596" class="Bound">F</a> <a id="8598" class="Symbol">:</a> <a id="8600" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="8608" href="Categories.Adjoint.Properties.html#2148" class="Generalizable">J</a> <a id="8610" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a><a id="8611" class="Symbol">)</a> <a id="8613" class="Keyword">where</a>
|
||
<a id="8621" class="Keyword">private</a>
|
||
<a id="8633" class="Keyword">module</a> <a id="8640" href="Categories.Adjoint.Properties.html#8640" class="Module">F</a> <a id="8642" class="Symbol">=</a> <a id="8644" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="8652" href="Categories.Adjoint.Properties.html#8596" class="Bound">F</a>
|
||
|
||
<a id="8657" href="Categories.Adjoint.Properties.html#8657" class="Function">lapc</a> <a id="8662" class="Symbol">:</a> <a id="8664" href="Categories.Diagram.Colimit.html#961" class="Record">Colimit</a> <a id="8672" href="Categories.Adjoint.Properties.html#8596" class="Bound">F</a> <a id="8674" class="Symbol">→</a> <a id="8676" href="Categories.Diagram.Colimit.html#961" class="Record">Colimit</a> <a id="8684" class="Symbol">(</a><a id="8685" href="Categories.Adjoint.Properties.html#8546" class="Bound">L</a> <a id="8687" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="8690" href="Categories.Adjoint.Properties.html#8596" class="Bound">F</a><a id="8691" class="Symbol">)</a>
|
||
<a id="8695" href="Categories.Adjoint.Properties.html#8657" class="Function">lapc</a> <a id="8700" href="Categories.Adjoint.Properties.html#8700" class="Bound">col</a> <a id="8704" class="Symbol">=</a> <a id="8706" href="Categories.Diagram.Duality.html#4031" class="Function">Duality.coLimit⇒Colimit</a> <a id="8730" href="Categories.Adjoint.Properties.html#8560" class="Bound">D</a> <a id="8732" class="Symbol">(</a><a id="8733" href="Categories.Adjoint.RAPL.html#835" class="Function">rapl</a> <a id="8738" class="Symbol">(</a><a id="8739" href="Categories.Adjoint.html#3935" class="Function">Adjoint.op</a> <a id="8750" href="Categories.Adjoint.Properties.html#8582" class="Bound">L⊣R</a><a id="8753" class="Symbol">)</a> <a id="8755" href="Categories.Functor.Core.html#816" class="Function">F.op</a> <a id="8760" class="Symbol">(</a><a id="8761" href="Categories.Diagram.Duality.html#4402" class="Function">Duality.Colimit⇒coLimit</a> <a id="8785" href="Categories.Adjoint.Properties.html#8558" class="Bound">C</a> <a id="8787" href="Categories.Adjoint.Properties.html#8700" class="Bound">col</a><a id="8790" class="Symbol">))</a>
|
||
|
||
<a id="8794" class="Comment">-- adjoint functors induce monads and comonads</a>
|
||
<a id="8841" class="Keyword">module</a> <a id="8848" href="Categories.Adjoint.Properties.html#8848" class="Module">_</a> <a id="8850" class="Symbol">{</a><a id="8851" href="Categories.Adjoint.Properties.html#8851" class="Bound">L</a> <a id="8853" class="Symbol">:</a> <a id="8855" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="8863" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a> <a id="8865" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a><a id="8866" class="Symbol">}</a> <a id="8868" class="Symbol">{</a><a id="8869" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a> <a id="8871" class="Symbol">:</a> <a id="8873" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="8881" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a> <a id="8883" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a><a id="8884" class="Symbol">}</a> <a id="8886" class="Symbol">(</a><a id="8887" href="Categories.Adjoint.Properties.html#8887" class="Bound">L⊣R</a> <a id="8891" class="Symbol">:</a> <a id="8893" href="Categories.Adjoint.Properties.html#8851" class="Bound">L</a> <a id="8895" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="8897" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a><a id="8898" class="Symbol">)</a> <a id="8900" class="Keyword">where</a>
|
||
<a id="8908" class="Keyword">private</a>
|
||
<a id="8920" class="Keyword">module</a> <a id="8927" href="Categories.Adjoint.Properties.html#8927" class="Module">C</a> <a id="8929" class="Symbol">=</a> <a id="8931" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="8940" href="Categories.Adjoint.Properties.html#8863" class="Bound">C</a> <a id="8942" class="Keyword">using</a> <a id="8948" class="Symbol">(</a><a id="8949" href="Categories.Category.Core.html#630" class="Field">id</a><a id="8951" class="Symbol">;</a> <a id="8953" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="8956" class="Symbol">;</a> <a id="8958" class="Keyword">module</a> <a id="8965" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="8977" class="Symbol">)</a>
|
||
<a id="8983" class="Keyword">module</a> <a id="8990" href="Categories.Adjoint.Properties.html#8990" class="Module">D</a> <a id="8992" class="Symbol">=</a> <a id="8994" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="9003" href="Categories.Adjoint.Properties.html#8865" class="Bound">D</a> <a id="9005" class="Keyword">using</a> <a id="9011" class="Symbol">(</a><a id="9012" href="Categories.Category.Core.html#630" class="Field">id</a><a id="9014" class="Symbol">)</a>
|
||
<a id="9020" class="Keyword">module</a> <a id="9027" href="Categories.Adjoint.Properties.html#9027" class="Module">L</a> <a id="9029" class="Symbol">=</a> <a id="9031" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="9039" href="Categories.Adjoint.Properties.html#8851" class="Bound">L</a> <a id="9041" class="Keyword">using</a> <a id="9047" class="Symbol">(</a><a id="9048" href="Categories.Functor.Core.html#455" class="Field">F₁</a><a id="9050" class="Symbol">)</a>
|
||
<a id="9056" class="Keyword">module</a> <a id="9063" href="Categories.Adjoint.Properties.html#9063" class="Module">R</a> <a id="9065" class="Symbol">=</a> <a id="9067" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="9075" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a> <a id="9077" class="Keyword">using</a> <a id="9083" class="Symbol">(</a><a id="9084" href="Categories.Functor.Core.html#455" class="Field">F₁</a><a id="9086" class="Symbol">;</a> <a id="9088" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="9096" class="Symbol">)</a>
|
||
<a id="9102" class="Keyword">open</a> <a id="9107" href="Categories.Adjoint.html#1306" class="Module">Adjoint</a> <a id="9115" href="Categories.Adjoint.Properties.html#8887" class="Bound">L⊣R</a> <a id="9119" class="Keyword">using</a> <a id="9125" class="Symbol">(</a><a id="9126" href="Categories.Adjoint.html#1519" class="Field">unit</a><a id="9130" class="Symbol">;</a> <a id="9132" href="Categories.Adjoint.html#1567" class="Field">counit</a><a id="9138" class="Symbol">;</a> <a id="9140" href="Categories.Adjoint.html#1715" class="Field">zig</a><a id="9143" class="Symbol">;</a> <a id="9145" href="Categories.Adjoint.html#1788" class="Field">zag</a><a id="9148" class="Symbol">)</a>
|
||
|
||
<a id="9153" href="Categories.Adjoint.Properties.html#9153" class="Function">rapl′</a> <a id="9159" class="Symbol">:</a> <a id="9161" class="Symbol">∀</a> <a id="9163" class="Symbol">{</a><a id="9164" href="Categories.Adjoint.Properties.html#9164" class="Bound">o</a> <a id="9166" href="Categories.Adjoint.Properties.html#9166" class="Bound">ℓ</a> <a id="9168" href="Categories.Adjoint.Properties.html#9168" class="Bound">e</a><a id="9169" class="Symbol">}</a> <a id="9171" class="Symbol">→</a> <a id="9173" href="Categories.Functor.Limits.html#1594" class="Function">Continuous</a> <a id="9184" href="Categories.Adjoint.Properties.html#9164" class="Bound">o</a> <a id="9186" href="Categories.Adjoint.Properties.html#9166" class="Bound">ℓ</a> <a id="9188" href="Categories.Adjoint.Properties.html#9168" class="Bound">e</a> <a id="9190" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a>
|
||
<a id="9194" href="Categories.Adjoint.Properties.html#9153" class="Function">rapl′</a> <a id="9200" href="Categories.Adjoint.Properties.html#9200" class="Bound">lim</a> <a id="9204" class="Symbol">=</a> <a id="9206" href="Categories.Object.Terminal.html#917" class="Function">terminal.⊤-is-terminal</a>
|
||
<a id="9233" class="Keyword">where</a> <a id="9239" class="Keyword">open</a> <a id="9244" href="Categories.Diagram.Limit.html#934" class="Module">Limit</a> <a id="9250" class="Symbol">(</a><a id="9251" href="Categories.Adjoint.RAPL.html#835" class="Function">rapl</a> <a id="9256" href="Categories.Adjoint.Properties.html#8887" class="Bound">L⊣R</a> <a id="9260" class="Symbol">_</a> <a id="9262" href="Categories.Adjoint.Properties.html#9200" class="Bound">lim</a><a id="9265" class="Symbol">)</a> <a id="9267" class="Keyword">using</a> <a id="9273" class="Symbol">(</a><a id="9274" class="Keyword">module</a> <a id="9281" href="Categories.Diagram.Limit.html#1027" class="Module">terminal</a><a id="9289" class="Symbol">)</a>
|
||
|
||
<a id="9294" href="Categories.Adjoint.Properties.html#9294" class="Function">lapc′</a> <a id="9300" class="Symbol">:</a> <a id="9302" class="Symbol">∀</a> <a id="9304" class="Symbol">{</a><a id="9305" href="Categories.Adjoint.Properties.html#9305" class="Bound">o</a> <a id="9307" href="Categories.Adjoint.Properties.html#9307" class="Bound">ℓ</a> <a id="9309" href="Categories.Adjoint.Properties.html#9309" class="Bound">e</a><a id="9310" class="Symbol">}</a> <a id="9312" class="Symbol">→</a> <a id="9314" href="Categories.Functor.Limits.html#1749" class="Function">Cocontinuous</a> <a id="9327" href="Categories.Adjoint.Properties.html#9305" class="Bound">o</a> <a id="9329" href="Categories.Adjoint.Properties.html#9307" class="Bound">ℓ</a> <a id="9331" href="Categories.Adjoint.Properties.html#9309" class="Bound">e</a> <a id="9333" href="Categories.Adjoint.Properties.html#8851" class="Bound">L</a>
|
||
<a id="9337" href="Categories.Adjoint.Properties.html#9294" class="Function">lapc′</a> <a id="9343" href="Categories.Adjoint.Properties.html#9343" class="Bound">col</a> <a id="9347" class="Symbol">=</a> <a id="9349" href="Categories.Object.Initial.html#816" class="Function">initial.⊥-is-initial</a>
|
||
<a id="9374" class="Keyword">where</a> <a id="9380" class="Keyword">open</a> <a id="9385" href="Categories.Diagram.Colimit.html#961" class="Module">Colimit</a> <a id="9393" class="Symbol">(</a><a id="9394" href="Categories.Adjoint.Properties.html#8657" class="Function">lapc</a> <a id="9399" href="Categories.Adjoint.Properties.html#8887" class="Bound">L⊣R</a> <a id="9403" class="Symbol">_</a> <a id="9405" href="Categories.Adjoint.Properties.html#9343" class="Bound">col</a><a id="9408" class="Symbol">)</a> <a id="9410" class="Keyword">using</a> <a id="9416" class="Symbol">(</a><a id="9417" class="Keyword">module</a> <a id="9424" href="Categories.Diagram.Colimit.html#1056" class="Module">initial</a><a id="9431" class="Symbol">)</a>
|
||
|
||
<a id="9436" href="Categories.Adjoint.Properties.html#9436" class="Function">adjoint⇒monad</a> <a id="9450" class="Symbol">:</a> <a id="9452" href="Categories.Monad.html#454" class="Record">Monad</a> <a id="9458" href="Categories.Adjoint.Properties.html#8863" class="Bound">C</a>
|
||
<a id="9462" href="Categories.Adjoint.Properties.html#9436" class="Function">adjoint⇒monad</a> <a id="9476" class="Symbol">=</a> <a id="9478" class="Keyword">record</a>
|
||
<a id="9489" class="Symbol">{</a> <a id="9491" href="Categories.Monad.html#525" class="Field">F</a> <a id="9501" class="Symbol">=</a> <a id="9503" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a> <a id="9505" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="9508" href="Categories.Adjoint.Properties.html#8851" class="Bound">L</a>
|
||
<a id="9514" class="Symbol">;</a> <a id="9516" href="Categories.Monad.html#547" class="Field">η</a> <a id="9526" class="Symbol">=</a> <a id="9528" href="Categories.Adjoint.html#1519" class="Field">unit</a>
|
||
<a id="9537" class="Symbol">;</a> <a id="9539" href="Categories.Monad.html#583" class="Field">μ</a> <a id="9549" class="Symbol">=</a> <a id="9551" class="Keyword">record</a>
|
||
<a id="9564" class="Symbol">{</a> <a id="9566" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="9578" class="Symbol">=</a> <a id="9580" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ′.η</a>
|
||
<a id="9591" class="Symbol">;</a> <a id="9593" href="Categories.NaturalTransformation.Core.html#827" class="Field">commute</a> <a id="9605" class="Symbol">=</a> <a id="9607" href="Categories.NaturalTransformation.Core.html#827" class="Function">μ′.commute</a>
|
||
<a id="9624" class="Symbol">;</a> <a id="9626" href="Categories.NaturalTransformation.Core.html#1043" class="Field">sym-commute</a> <a id="9638" class="Symbol">=</a> <a id="9640" href="Categories.NaturalTransformation.Core.html#1043" class="Function">μ′.sym-commute</a>
|
||
<a id="9661" class="Symbol">}</a>
|
||
<a id="9667" class="Symbol">;</a> <a id="9669" href="Categories.Monad.html#759" class="Field">assoc</a> <a id="9679" class="Symbol">=</a> <a id="9681" href="Categories.Functor.Properties.html#2676" class="Function Operator">[</a> <a id="9683" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a> <a id="9685" href="Categories.Functor.Properties.html#2676" class="Function Operator">]-resp-square</a> <a id="9699" class="Symbol">(</a><a id="9700" href="Categories.NaturalTransformation.Core.html#827" class="Function">counit.commute</a> <a id="9715" class="Symbol">_)</a>
|
||
<a id="9722" class="Symbol">;</a> <a id="9724" href="Categories.Monad.html#829" class="Field">sym-assoc</a> <a id="9734" class="Symbol">=</a> <a id="9736" href="Categories.Functor.Properties.html#2676" class="Function Operator">[</a> <a id="9738" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a> <a id="9740" href="Categories.Functor.Properties.html#2676" class="Function Operator">]-resp-square</a> <a id="9754" class="Symbol">(</a><a id="9755" href="Categories.NaturalTransformation.Core.html#1043" class="Function">counit.sym-commute</a> <a id="9774" class="Symbol">_)</a>
|
||
<a id="9781" class="Symbol">;</a> <a id="9783" href="Categories.Monad.html#899" class="Field">identityˡ</a> <a id="9793" class="Symbol">=</a> <a id="9795" class="Symbol">λ</a> <a id="9797" class="Symbol">{</a><a id="9798" href="Categories.Adjoint.Properties.html#9798" class="Bound">X</a><a id="9799" class="Symbol">}</a> <a id="9801" class="Symbol">→</a> <a id="9803" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="9815" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ′.η</a> <a id="9820" href="Categories.Adjoint.Properties.html#9798" class="Bound">X</a> <a id="9822" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="9826" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="9831" class="Symbol">(</a><a id="9832" href="Categories.Functor.Core.html#455" class="Function">L.F₁</a> <a id="9837" class="Symbol">(</a><a id="9838" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="9845" href="Categories.Adjoint.Properties.html#9798" class="Bound">X</a><a id="9846" class="Symbol">))</a> <a id="9849" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="9852" href="Categories.Functor.Properties.html#2426" class="Function Operator">[</a> <a id="9854" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a> <a id="9856" href="Categories.Functor.Properties.html#2426" class="Function Operator">]-resp-∘</a> <a id="9865" href="Categories.Adjoint.html#1715" class="Field">zig</a> <a id="9869" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="9877" href="Categories.Functor.Core.html#455" class="Function">R.F₁</a> <a id="9882" href="Categories.Category.Core.html#630" class="Function">D.id</a> <a id="9911" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="9914" href="Categories.Functor.Core.html#511" class="Function">R.identity</a> <a id="9925" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="9933" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="9967" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
||
<a id="9973" class="Symbol">;</a> <a id="9975" href="Categories.Monad.html#953" class="Field">identityʳ</a> <a id="9985" class="Symbol">=</a> <a id="9987" href="Categories.Adjoint.html#1788" class="Field">zag</a>
|
||
<a id="9995" class="Symbol">}</a>
|
||
<a id="10001" class="Keyword">where</a> <a id="10007" class="Keyword">open</a> <a id="10012" href="Categories.Category.Core.html#2462" class="Module">C.HomReasoning</a>
|
||
<a id="10037" href="Categories.Adjoint.Properties.html#10037" class="Function">μ′</a> <a id="10040" class="Symbol">:</a> <a id="10042" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="10064" class="Symbol">(</a><a id="10065" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a> <a id="10067" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="10070" class="Symbol">(</a><a id="10071" href="Categories.Adjoint.Properties.html#8851" class="Bound">L</a> <a id="10073" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="10076" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a><a id="10077" class="Symbol">)</a> <a id="10079" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="10082" href="Categories.Adjoint.Properties.html#8851" class="Bound">L</a><a id="10083" class="Symbol">)</a> <a id="10085" class="Symbol">(</a><a id="10086" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a> <a id="10088" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="10091" href="Categories.Functor.html#349" class="Function">Categories.Functor.id</a> <a id="10113" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="10116" href="Categories.Adjoint.Properties.html#8851" class="Bound">L</a><a id="10117" class="Symbol">)</a>
|
||
<a id="10129" href="Categories.Adjoint.Properties.html#10037" class="Function">μ′</a> <a id="10132" class="Symbol">=</a> <a id="10134" href="Categories.Adjoint.Properties.html#8869" class="Bound">R</a> <a id="10136" href="Categories.NaturalTransformation.Core.html#3439" class="Function Operator">∘ˡ</a> <a id="10139" href="Categories.Adjoint.html#1567" class="Field">counit</a> <a id="10146" href="Categories.NaturalTransformation.Core.html#3784" class="Function Operator">∘ʳ</a> <a id="10149" href="Categories.Adjoint.Properties.html#8851" class="Bound">L</a>
|
||
<a id="10161" class="Keyword">module</a> <a id="10168" href="Categories.Adjoint.Properties.html#10168" class="Module">μ′</a> <a id="10171" class="Symbol">=</a> <a id="10173" href="Categories.NaturalTransformation.Core.html#466" class="Module">NaturalTransformation</a> <a id="10195" href="Categories.Adjoint.Properties.html#10037" class="Function">μ′</a> <a id="10198" class="Keyword">using</a> <a id="10204" class="Symbol">(</a><a id="10205" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a><a id="10206" class="Symbol">;</a> <a id="10208" href="Categories.NaturalTransformation.Core.html#827" class="Field">commute</a><a id="10215" class="Symbol">;</a> <a id="10217" href="Categories.NaturalTransformation.Core.html#1043" class="Field">sym-commute</a><a id="10228" class="Symbol">)</a>
|
||
|
||
<a id="10231" class="Keyword">module</a> <a id="10238" href="Categories.Adjoint.Properties.html#10238" class="Module">_</a> <a id="10240" class="Symbol">{</a><a id="10241" href="Categories.Adjoint.Properties.html#10241" class="Bound">L</a> <a id="10243" class="Symbol">:</a> <a id="10245" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="10253" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a> <a id="10255" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a><a id="10256" class="Symbol">}</a> <a id="10258" class="Symbol">{</a><a id="10259" href="Categories.Adjoint.Properties.html#10259" class="Bound">R</a> <a id="10261" class="Symbol">:</a> <a id="10263" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="10271" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a> <a id="10273" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a><a id="10274" class="Symbol">}</a> <a id="10276" class="Symbol">(</a><a id="10277" href="Categories.Adjoint.Properties.html#10277" class="Bound">L⊣R</a> <a id="10281" class="Symbol">:</a> <a id="10283" href="Categories.Adjoint.Properties.html#10241" class="Bound">L</a> <a id="10285" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="10287" href="Categories.Adjoint.Properties.html#10259" class="Bound">R</a><a id="10288" class="Symbol">)</a> <a id="10290" class="Keyword">where</a>
|
||
<a id="10298" href="Categories.Adjoint.Properties.html#10298" class="Function">adjoint⇒comonad</a> <a id="10314" class="Symbol">:</a> <a id="10316" href="Categories.Comonad.html#456" class="Record">Comonad</a> <a id="10324" href="Categories.Adjoint.Properties.html#10255" class="Bound">D</a>
|
||
<a id="10328" href="Categories.Adjoint.Properties.html#10298" class="Function">adjoint⇒comonad</a> <a id="10344" class="Symbol">=</a> <a id="10346" href="Categories.Monad.Duality.html#467" class="Function">coMonad⇒Comonad</a> <a id="10362" href="Categories.Adjoint.Properties.html#10255" class="Bound">D</a> <a id="10364" class="Symbol">(</a><a id="10365" href="Categories.Adjoint.Properties.html#9436" class="Function">adjoint⇒monad</a> <a id="10379" class="Symbol">(</a><a id="10380" href="Categories.Adjoint.html#3935" class="Function">Adjoint.op</a> <a id="10391" href="Categories.Adjoint.Properties.html#10277" class="Bound">L⊣R</a><a id="10394" class="Symbol">))</a>
|
||
|
||
<a id="10398" class="Comment">-- adjoint functors are the same as universal morphisms</a>
|
||
<a id="10454" class="Keyword">module</a> <a id="10461" href="Categories.Adjoint.Properties.html#10461" class="Module">_</a> <a id="10463" class="Symbol">{</a><a id="10464" href="Categories.Adjoint.Properties.html#10464" class="Bound">R</a> <a id="10466" class="Symbol">:</a> <a id="10468" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="10476" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a> <a id="10478" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a><a id="10479" class="Symbol">}</a> <a id="10481" class="Keyword">where</a>
|
||
<a id="10489" class="Keyword">private</a>
|
||
<a id="10501" class="Keyword">module</a> <a id="10508" href="Categories.Adjoint.Properties.html#10508" class="Module">C</a> <a id="10510" class="Symbol">=</a> <a id="10512" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="10521" href="Categories.Adjoint.Properties.html#10478" class="Bound">C</a> <a id="10523" class="Comment">-- all of the structure is needed</a>
|
||
<a id="10561" class="Keyword">module</a> <a id="10568" href="Categories.Adjoint.Properties.html#10568" class="Module">D</a> <a id="10570" class="Symbol">=</a> <a id="10572" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="10581" href="Categories.Adjoint.Properties.html#10476" class="Bound">D</a> <a id="10583" class="Keyword">using</a> <a id="10589" class="Symbol">(</a><a id="10590" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="10593" class="Symbol">;</a> <a id="10595" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a><a id="10598" class="Symbol">;</a> <a id="10600" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="10603" class="Symbol">;</a> <a id="10605" href="Categories.Category.Core.html#630" class="Field">id</a><a id="10607" class="Symbol">;</a> <a id="10609" class="Keyword">module</a> <a id="10616" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="10628" class="Symbol">)</a>
|
||
<a id="10634" class="Keyword">module</a> <a id="10641" href="Categories.Adjoint.Properties.html#10641" class="Module">R</a> <a id="10643" class="Symbol">=</a> <a id="10645" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="10653" href="Categories.Adjoint.Properties.html#10464" class="Bound">R</a> <a id="10655" class="Keyword">using</a> <a id="10661" class="Symbol">(</a><a id="10662" href="Categories.Functor.Core.html#432" class="Field">F₀</a><a id="10664" class="Symbol">;</a> <a id="10666" href="Categories.Functor.Core.html#455" class="Field">F₁</a><a id="10668" class="Symbol">;</a> <a id="10670" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="10678" class="Symbol">;</a> <a id="10680" href="Categories.Functor.Core.html#565" class="Field">homomorphism</a><a id="10692" class="Symbol">)</a>
|
||
|
||
<a id="10697" href="Categories.Adjoint.Properties.html#10697" class="Function">adjoint⇒universalMorphisms</a> <a id="10724" class="Symbol">:</a> <a id="10726" class="Symbol">∀</a> <a id="10728" class="Symbol">{</a><a id="10729" href="Categories.Adjoint.Properties.html#10729" class="Bound">L</a> <a id="10731" class="Symbol">:</a> <a id="10733" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="10741" href="Categories.Adjoint.Properties.html#10478" class="Bound">C</a> <a id="10743" href="Categories.Adjoint.Properties.html#10476" class="Bound">D</a><a id="10744" class="Symbol">}</a> <a id="10746" class="Symbol">→</a> <a id="10748" href="Categories.Adjoint.Properties.html#10729" class="Bound">L</a> <a id="10750" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="10752" href="Categories.Adjoint.Properties.html#10464" class="Bound">R</a> <a id="10754" class="Symbol">→</a> <a id="10756" class="Symbol">∀</a> <a id="10758" class="Symbol">(</a><a id="10759" href="Categories.Adjoint.Properties.html#10759" class="Bound">X</a> <a id="10761" class="Symbol">:</a> <a id="10763" href="Categories.Category.Core.html#559" class="Function">C.Obj</a><a id="10768" class="Symbol">)</a> <a id="10770" class="Symbol">→</a> <a id="10772" href="Categories.Morphism.Universal.html#259" class="Record">UniversalMorphism</a> <a id="10790" href="Categories.Adjoint.Properties.html#10759" class="Bound">X</a> <a id="10792" href="Categories.Adjoint.Properties.html#10464" class="Bound">R</a>
|
||
<a id="10796" href="Categories.Adjoint.Properties.html#10697" class="Function">adjoint⇒universalMorphisms</a> <a id="10823" class="Symbol">{</a><a id="10824" href="Categories.Adjoint.Properties.html#10824" class="Bound">L</a><a id="10825" class="Symbol">}</a> <a id="10827" href="Categories.Adjoint.Properties.html#10827" class="Bound">L⊣R</a> <a id="10831" href="Categories.Adjoint.Properties.html#10831" class="Bound">X</a> <a id="10833" class="Symbol">=</a> <a id="10835" class="Keyword">record</a>
|
||
<a id="10846" class="Symbol">{</a> <a id="10848" href="Categories.Morphism.Universal.html#532" class="Field">initial</a> <a id="10856" class="Symbol">=</a> <a id="10858" class="Keyword">record</a>
|
||
<a id="10871" class="Symbol">{</a> <a id="10873" href="Categories.Object.Initial.html#804" class="Field">⊥</a> <a id="10882" class="Symbol">=</a> <a id="10884" class="Keyword">record</a> <a id="10891" class="Symbol">{</a> <a id="10893" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="10895" class="Symbol">=</a> <a id="10897" href="Categories.NaturalTransformation.Core.html#783" class="Function">unit.η</a> <a id="10904" href="Categories.Adjoint.Properties.html#10831" class="Bound">X</a> <a id="10906" class="Symbol">}</a>
|
||
<a id="10914" class="Symbol">;</a> <a id="10916" href="Categories.Object.Initial.html#816" class="Field">⊥-is-initial</a> <a id="10929" class="Symbol">=</a> <a id="10931" class="Keyword">record</a>
|
||
<a id="10946" class="Symbol">{</a> <a id="10948" href="Categories.Object.Initial.html#478" class="Field">!</a> <a id="10957" class="Symbol">=</a>
|
||
<a id="10969" class="Keyword">let</a> <a id="10973" class="Keyword">open</a> <a id="10978" href="Categories.Category.Core.html#2462" class="Module">C.HomReasoning</a>
|
||
<a id="11003" class="Keyword">in</a> <a id="11006" class="Keyword">record</a> <a id="11013" class="Symbol">{</a> <a id="11015" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="11023" class="Symbol">=</a> <a id="11025" href="Categories.Adjoint.html#2579" class="Function">LRadjunct≈id</a> <a id="11038" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="11040" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="11042" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a> <a id="11054" class="Symbol">}</a>
|
||
<a id="11064" class="Symbol">;</a> <a id="11066" href="Categories.Object.Initial.html#506" class="Field">!-unique</a> <a id="11075" class="Symbol">=</a> <a id="11077" class="Symbol">λ</a> <a id="11079" class="Symbol">{</a><a id="11080" href="Categories.Adjoint.Properties.html#11080" class="Bound">A</a><a id="11081" class="Symbol">}</a> <a id="11083" href="Categories.Adjoint.Properties.html#11083" class="Bound">g</a> <a id="11085" class="Symbol">→</a>
|
||
<a id="11097" class="Keyword">let</a> <a id="11101" class="Keyword">open</a> <a id="11106" href="Categories.Category.Core.html#2462" class="Module">D.HomReasoning</a>
|
||
<a id="11131" class="Keyword">in</a> <a id="11134" href="Data.Product.html#2256" class="Function Operator">-,</a> <a id="11137" class="Symbol">(</a><a id="11138" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="11156" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="11165" class="Symbol">(</a><a id="11166" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="11168" href="Categories.Adjoint.Properties.html#11080" class="Bound">A</a><a id="11169" class="Symbol">)</a> <a id="11182" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="11185" href="Categories.Adjoint.html#6375" class="Function">Radjunct-resp-≈</a> <a id="11201" class="Symbol">(</a><a id="11202" href="Relation.Binary.Structures.html#1603" class="Function">C.Equiv.sym</a> <a id="11214" class="Symbol">(</a><a id="11215" href="Relation.Binary.Structures.html#1629" class="Function">C.Equiv.trans</a> <a id="11229" class="Symbol">(</a><a id="11230" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="11238" href="Categories.Adjoint.Properties.html#11083" class="Bound">g</a><a id="11239" class="Symbol">)</a> <a id="11241" class="Symbol">(</a><a id="11242" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a> <a id="11254" class="Symbol">{</a><a id="11255" class="Argument">f</a> <a id="11257" class="Symbol">=</a> <a id="11259" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="11261" href="Categories.Adjoint.Properties.html#11080" class="Bound">A</a><a id="11262" class="Symbol">})))</a> <a id="11267" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="11281" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a> <a id="11290" class="Symbol">(</a><a id="11291" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a> <a id="11300" class="Symbol">(</a><a id="11301" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="11303" href="Categories.Adjoint.Properties.html#11083" class="Bound">g</a><a id="11304" class="Symbol">))</a> <a id="11307" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="11310" href="Categories.Adjoint.html#2072" class="Function">RLadjunct≈id</a> <a id="11323" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="11337" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="11339" href="Categories.Adjoint.Properties.html#11083" class="Bound">g</a> <a id="11363" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a><a id="11364" class="Symbol">)</a>
|
||
<a id="11374" class="Symbol">}</a>
|
||
<a id="11382" class="Symbol">}</a>
|
||
<a id="11388" class="Symbol">}</a>
|
||
<a id="11394" class="Keyword">where</a> <a id="11400" class="Keyword">open</a> <a id="11405" href="Categories.Adjoint.html#1306" class="Module">Adjoint</a> <a id="11413" href="Categories.Adjoint.Properties.html#10827" class="Bound">L⊣R</a> <a id="11417" class="Keyword">using</a> <a id="11423" class="Symbol">(</a><a id="11424" href="Categories.Adjoint.html#1993" class="Function">Radjunct</a><a id="11432" class="Symbol">;</a> <a id="11434" href="Categories.Adjoint.html#1916" class="Function">Ladjunct</a><a id="11442" class="Symbol">;</a> <a id="11444" href="Categories.Adjoint.html#2579" class="Function">LRadjunct≈id</a><a id="11456" class="Symbol">;</a> <a id="11458" href="Categories.Adjoint.html#2072" class="Function">RLadjunct≈id</a><a id="11470" class="Symbol">;</a> <a id="11472" href="Categories.Adjoint.html#6375" class="Function">Radjunct-resp-≈</a><a id="11487" class="Symbol">;</a> <a id="11489" class="Keyword">module</a> <a id="11496" href="Categories.Adjoint.html#1621" class="Module">unit</a><a id="11500" class="Symbol">)</a>
|
||
<a id="11512" class="Keyword">open</a> <a id="11517" href="Categories.Category.Construction.Comma.html#1094" class="Module">Comma⇒</a> <a id="11524" class="Keyword">using</a> <a id="11530" class="Symbol">(</a><a id="11531" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a><a id="11532" class="Symbol">;</a> <a id="11534" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a><a id="11541" class="Symbol">)</a>
|
||
<a id="11553" class="Keyword">open</a> <a id="11558" href="Categories.Category.Construction.Comma.html#840" class="Module">CommaObj</a> <a id="11567" class="Keyword">using</a> <a id="11573" class="Symbol">(</a><a id="11574" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a><a id="11575" class="Symbol">)</a>
|
||
|
||
<a id="11580" href="Categories.Adjoint.Properties.html#11580" class="Function">universalMophisms⇒adjoint</a> <a id="11606" class="Symbol">:</a> <a id="11608" class="Symbol">(∀</a> <a id="11611" class="Symbol">(</a><a id="11612" href="Categories.Adjoint.Properties.html#11612" class="Bound">X</a> <a id="11614" class="Symbol">:</a> <a id="11616" href="Categories.Category.Core.html#559" class="Function">C.Obj</a><a id="11621" class="Symbol">)</a> <a id="11623" class="Symbol">→</a> <a id="11625" href="Categories.Morphism.Universal.html#259" class="Record">UniversalMorphism</a> <a id="11643" href="Categories.Adjoint.Properties.html#11612" class="Bound">X</a> <a id="11645" href="Categories.Adjoint.Properties.html#10464" class="Bound">R</a><a id="11646" class="Symbol">)</a> <a id="11648" class="Symbol">→</a> <a id="11650" href="Agda.Builtin.Sigma.html#148" class="Record">Σ</a> <a id="11652" class="Symbol">(</a><a id="11653" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="11661" href="Categories.Adjoint.Properties.html#10478" class="Bound">C</a> <a id="11663" href="Categories.Adjoint.Properties.html#10476" class="Bound">D</a><a id="11664" class="Symbol">)</a> <a id="11666" class="Symbol">(λ</a> <a id="11669" href="Categories.Adjoint.Properties.html#11669" class="Bound">L</a> <a id="11671" class="Symbol">→</a> <a id="11673" href="Categories.Adjoint.Properties.html#11669" class="Bound">L</a> <a id="11675" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="11677" href="Categories.Adjoint.Properties.html#10464" class="Bound">R</a><a id="11678" class="Symbol">)</a>
|
||
<a id="11682" href="Categories.Adjoint.Properties.html#11580" class="Function">universalMophisms⇒adjoint</a> <a id="11708" href="Categories.Adjoint.Properties.html#11708" class="Bound">umors</a> <a id="11714" class="Symbol">=</a> <a id="11716" href="Categories.Adjoint.Properties.html#15431" class="Function">L</a> <a id="11718" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="11720" class="Keyword">record</a>
|
||
<a id="11731" class="Symbol">{</a> <a id="11733" href="Categories.Adjoint.html#1519" class="Field">unit</a> <a id="11740" class="Symbol">=</a> <a id="11742" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="11751" class="Keyword">record</a>
|
||
<a id="11764" class="Symbol">{</a> <a id="11766" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="11774" class="Symbol">=</a> <a id="11776" class="Symbol">λ</a> <a id="11778" href="Categories.Adjoint.Properties.html#11778" class="Bound">c</a> <a id="11780" class="Symbol">→</a> <a id="11782" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="11784" class="Symbol">(</a><a id="11785" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="11793" href="Categories.Adjoint.Properties.html#11778" class="Bound">c</a><a id="11794" class="Symbol">)</a>
|
||
<a id="11802" class="Symbol">;</a> <a id="11804" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="11812" class="Symbol">=</a> <a id="11814" class="Symbol">λ</a> <a id="11816" href="Categories.Adjoint.Properties.html#11816" class="Bound">i</a> <a id="11818" class="Symbol">→</a> <a id="11820" class="Keyword">let</a> <a id="11824" class="Keyword">open</a> <a id="11829" href="Categories.Category.Core.html#2462" class="Module">C.HomReasoning</a> <a id="11844" class="Keyword">in</a> <a id="11847" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="11849" class="Symbol">(</a><a id="11850" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="11858" class="Symbol">(</a><a id="11859" href="Categories.Adjoint.Properties.html#14245" class="Function">⊥X⇒⊥Y</a> <a id="11865" href="Categories.Adjoint.Properties.html#11816" class="Bound">i</a><a id="11866" class="Symbol">)</a> <a id="11868" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="11870" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a> <a id="11882" class="Symbol">)</a>
|
||
<a id="11890" class="Symbol">}</a>
|
||
<a id="11896" class="Symbol">;</a> <a id="11898" href="Categories.Adjoint.html#1567" class="Field">counit</a> <a id="11905" class="Symbol">=</a> <a id="11907" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="11916" class="Keyword">record</a>
|
||
<a id="11929" class="Symbol">{</a> <a id="11931" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="11939" class="Symbol">=</a> <a id="11941" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a>
|
||
<a id="11949" class="Symbol">;</a> <a id="11951" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="11959" class="Symbol">=</a> <a id="11961" class="Symbol">λ</a> <a id="11963" class="Symbol">{</a><a id="11964" href="Categories.Adjoint.Properties.html#11964" class="Bound">X</a> <a id="11966" href="Categories.Adjoint.Properties.html#11966" class="Bound">Y</a><a id="11967" class="Symbol">}</a> <a id="11969" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a> <a id="11971" class="Symbol">→</a>
|
||
<a id="11981" class="Keyword">let</a> <a id="11985" class="Keyword">open</a> <a id="11990" href="Categories.Category.Core.html#2462" class="Module">C.HomReasoning</a>
|
||
<a id="12017" class="Keyword">open</a> <a id="12022" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="12025" href="Categories.Adjoint.Properties.html#10478" class="Bound">C</a> <a id="12027" class="Keyword">using</a> <a id="12033" class="Symbol">(</a><a id="12034" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a><a id="12039" class="Symbol">;</a> <a id="12041" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a><a id="12048" class="Symbol">;</a> <a id="12050" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a><a id="12057" class="Symbol">)</a>
|
||
<a id="12067" class="Keyword">in</a> <a id="12070" href="Agda.Builtin.Sigma.html#246" class="Field">proj₂</a> <a id="12076" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="12078" href="Categories.Object.Initial.html#548" class="Function">umors.!-unique₂</a> <a id="12094" class="Symbol">(</a><a id="12095" href="Categories.Functor.Core.html#432" class="Field">R.F₀</a> <a id="12100" href="Categories.Adjoint.Properties.html#11964" class="Bound">X</a><a id="12101" class="Symbol">)</a>
|
||
<a id="12114" class="Symbol">{</a><a id="12115" class="Keyword">record</a> <a id="12122" class="Symbol">{</a> <a id="12124" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="12126" class="Symbol">=</a> <a id="12128" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12133" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a> <a id="12135" class="Symbol">}}</a>
|
||
<a id="12149" class="Symbol">(</a><a id="12150" class="Keyword">record</a>
|
||
<a id="12168" class="Symbol">{</a> <a id="12170" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="12178" class="Symbol">=</a> <a id="12180" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="12182" href="Categories.Adjoint.Properties.html#11966" class="Bound">Y</a> <a id="12184" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="12188" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a> <a id="12191" class="Symbol">(</a><a id="12192" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12197" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a><a id="12198" class="Symbol">)</a>
|
||
<a id="12211" class="Symbol">;</a> <a id="12213" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="12221" class="Symbol">=</a> <a id="12223" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="12242" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12247" class="Symbol">(</a><a id="12248" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="12250" href="Categories.Adjoint.Properties.html#11966" class="Bound">Y</a> <a id="12252" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="12256" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a> <a id="12259" class="Symbol">(</a><a id="12260" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12265" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a><a id="12266" class="Symbol">))</a> <a id="12269" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="12273" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="12275" class="Symbol">(</a><a id="12276" href="Categories.Adjoint.Properties.html#16016" class="Function">⊥Rd</a> <a id="12280" href="Categories.Adjoint.Properties.html#11964" class="Bound">X</a><a id="12281" class="Symbol">)</a> <a id="12292" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="12295" href="Categories.Functor.Core.html#565" class="Field">R.homomorphism</a> <a id="12310" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="12318" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="12333" class="Symbol">(</a><a id="12334" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12339" class="Symbol">(</a><a id="12340" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="12342" href="Categories.Adjoint.Properties.html#11966" class="Bound">Y</a><a id="12343" class="Symbol">)</a> <a id="12345" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="12349" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12354" class="Symbol">(</a><a id="12355" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a> <a id="12358" class="Symbol">(</a><a id="12359" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12364" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a><a id="12365" class="Symbol">)))</a> <a id="12369" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="12373" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="12375" class="Symbol">(</a><a id="12376" href="Categories.Adjoint.Properties.html#16016" class="Function">⊥Rd</a> <a id="12380" href="Categories.Adjoint.Properties.html#11964" class="Bound">X</a><a id="12381" class="Symbol">)</a> <a id="12383" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="12386" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="12392" class="Symbol">(</a><a id="12393" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="12401" class="Symbol">(</a><a id="12402" href="Categories.Adjoint.Properties.html#14245" class="Function">⊥X⇒⊥Y</a> <a id="12408" class="Symbol">(</a><a id="12409" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12414" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a><a id="12415" class="Symbol">))</a> <a id="12418" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="12420" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a><a id="12431" class="Symbol">)</a> <a id="12433" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="12448" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12453" class="Symbol">(</a><a id="12454" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="12456" href="Categories.Adjoint.Properties.html#11966" class="Bound">Y</a><a id="12457" class="Symbol">)</a> <a id="12459" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="12463" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="12465" class="Symbol">(</a><a id="12466" href="Categories.Adjoint.Properties.html#16016" class="Function">⊥Rd</a> <a id="12470" href="Categories.Adjoint.Properties.html#11966" class="Bound">Y</a><a id="12471" class="Symbol">)</a> <a id="12473" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="12477" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12482" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a> <a id="12498" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="12501" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="12509" class="Symbol">(</a><a id="12510" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="12518" class="Symbol">(</a><a id="12519" href="Categories.Adjoint.Properties.html#16116" class="Function">⊥Rd⇒id</a> <a id="12526" href="Categories.Adjoint.Properties.html#11966" class="Bound">Y</a><a id="12527" class="Symbol">)</a> <a id="12529" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="12531" href="Categories.Category.Core.html#1096" class="Function">C.identityˡ</a><a id="12542" class="Symbol">)</a> <a id="12544" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="12559" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12564" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a> <a id="12609" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="12613" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a> <a id="12625" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="12640" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12645" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a> <a id="12647" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="12651" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="12690" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
||
<a id="12703" class="Symbol">})</a>
|
||
<a id="12717" class="Symbol">(</a><a id="12718" class="Keyword">record</a>
|
||
<a id="12736" class="Symbol">{</a> <a id="12738" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="12746" class="Symbol">=</a> <a id="12748" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a> <a id="12750" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="12754" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="12756" href="Categories.Adjoint.Properties.html#11964" class="Bound">X</a>
|
||
<a id="12769" class="Symbol">;</a> <a id="12771" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="12779" class="Symbol">=</a> <a id="12781" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="12800" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12805" class="Symbol">(</a><a id="12806" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a> <a id="12808" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="12812" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="12814" href="Categories.Adjoint.Properties.html#11964" class="Bound">X</a><a id="12815" class="Symbol">)</a> <a id="12817" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="12821" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="12823" class="Symbol">(</a><a id="12824" href="Categories.Adjoint.Properties.html#16016" class="Function">⊥Rd</a> <a id="12828" href="Categories.Adjoint.Properties.html#11964" class="Bound">X</a><a id="12829" class="Symbol">)</a> <a id="12838" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="12841" href="Categories.Functor.Core.html#565" class="Field">R.homomorphism</a> <a id="12856" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="12864" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="12879" class="Symbol">(</a><a id="12880" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12885" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a> <a id="12887" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="12891" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12896" class="Symbol">(</a><a id="12897" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="12899" href="Categories.Adjoint.Properties.html#11964" class="Bound">X</a><a id="12900" class="Symbol">))</a> <a id="12903" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="12907" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="12909" class="Symbol">(</a><a id="12910" href="Categories.Adjoint.Properties.html#16016" class="Function">⊥Rd</a> <a id="12914" href="Categories.Adjoint.Properties.html#11964" class="Bound">X</a><a id="12915" class="Symbol">)</a> <a id="12917" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="12920" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="12928" class="Symbol">(</a><a id="12929" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="12937" class="Symbol">(</a><a id="12938" href="Categories.Adjoint.Properties.html#16116" class="Function">⊥Rd⇒id</a> <a id="12945" href="Categories.Adjoint.Properties.html#11964" class="Bound">X</a><a id="12946" class="Symbol">)</a> <a id="12948" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="12950" href="Categories.Category.Core.html#1096" class="Function">C.identityˡ</a><a id="12961" class="Symbol">)</a> <a id="12963" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="12978" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="12983" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a> <a id="13016" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="13020" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a> <a id="13032" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="13047" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="13052" href="Categories.Adjoint.Properties.html#11969" class="Bound">i</a> <a id="13054" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="13058" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="13085" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
||
<a id="13098" class="Symbol">})</a>
|
||
<a id="13107" class="Symbol">}</a>
|
||
<a id="13113" class="Symbol">;</a> <a id="13115" href="Categories.Adjoint.html#1715" class="Field">zig</a> <a id="13122" class="Symbol">=</a> <a id="13124" class="Symbol">λ</a> <a id="13126" class="Symbol">{</a><a id="13127" href="Categories.Adjoint.Properties.html#13127" class="Bound">c</a><a id="13128" class="Symbol">}</a> <a id="13130" class="Symbol">→</a>
|
||
<a id="13138" class="Keyword">let</a> <a id="13142" class="Keyword">open</a> <a id="13147" href="Categories.Category.Core.html#2462" class="Module">C.HomReasoning</a>
|
||
<a id="13172" class="Keyword">open</a> <a id="13177" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="13180" href="Categories.Adjoint.Properties.html#10478" class="Bound">C</a> <a id="13182" class="Keyword">using</a> <a id="13188" class="Symbol">(</a><a id="13189" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a><a id="13194" class="Symbol">;</a> <a id="13196" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a><a id="13203" class="Symbol">;</a> <a id="13205" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a><a id="13216" class="Symbol">)</a>
|
||
<a id="13228" href="Categories.Adjoint.Properties.html#13228" class="Bound">α</a> <a id="13230" class="Symbol">=</a> <a id="13232" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="13234" class="Symbol">(</a><a id="13235" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="13243" href="Categories.Adjoint.Properties.html#13127" class="Bound">c</a><a id="13244" class="Symbol">)</a>
|
||
<a id="13252" class="Keyword">in</a> <a id="13255" href="Agda.Builtin.Sigma.html#246" class="Field">proj₂</a> <a id="13261" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="13263" href="Categories.Object.Initial.html#548" class="Function">umors.!-unique₂</a> <a id="13279" href="Categories.Adjoint.Properties.html#13127" class="Bound">c</a>
|
||
<a id="13290" class="Symbol">{</a><a id="13291" class="Keyword">record</a> <a id="13298" class="Symbol">{</a> <a id="13300" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="13302" class="Symbol">=</a> <a id="13304" href="Categories.Adjoint.Properties.html#13228" class="Bound">α</a> <a id="13306" class="Symbol">}}</a>
|
||
<a id="13318" class="Symbol">(</a><a id="13319" class="Keyword">record</a>
|
||
<a id="13335" class="Symbol">{</a> <a id="13337" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="13345" class="Symbol">=</a> <a id="13347" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="13349" class="Symbol">(</a><a id="13350" href="Categories.Adjoint.Properties.html#14378" class="Function">L₀</a> <a id="13353" href="Categories.Adjoint.Properties.html#13127" class="Bound">c</a><a id="13354" class="Symbol">)</a> <a id="13356" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="13360" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a> <a id="13363" href="Categories.Adjoint.Properties.html#13228" class="Bound">α</a>
|
||
<a id="13374" class="Symbol">;</a> <a id="13376" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="13384" class="Symbol">=</a> <a id="13386" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="13403" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="13408" class="Symbol">(</a><a id="13409" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="13411" class="Symbol">(</a><a id="13412" href="Categories.Adjoint.Properties.html#14378" class="Function">L₀</a> <a id="13415" href="Categories.Adjoint.Properties.html#13127" class="Bound">c</a><a id="13416" class="Symbol">)</a> <a id="13418" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="13422" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a> <a id="13425" href="Categories.Adjoint.Properties.html#13228" class="Bound">α</a><a id="13426" class="Symbol">)</a> <a id="13428" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="13432" href="Categories.Adjoint.Properties.html#13228" class="Bound">α</a> <a id="13444" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="13447" href="Categories.Functor.Core.html#565" class="Field">R.homomorphism</a> <a id="13462" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="13470" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="13483" class="Symbol">(</a><a id="13484" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="13489" class="Symbol">(</a><a id="13490" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="13492" class="Symbol">(</a><a id="13493" href="Categories.Adjoint.Properties.html#14378" class="Function">L₀</a> <a id="13496" href="Categories.Adjoint.Properties.html#13127" class="Bound">c</a><a id="13497" class="Symbol">))</a> <a id="13500" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="13504" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="13509" class="Symbol">(</a><a id="13510" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a> <a id="13513" href="Categories.Adjoint.Properties.html#13228" class="Bound">α</a><a id="13514" class="Symbol">))</a> <a id="13517" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="13521" href="Categories.Adjoint.Properties.html#13228" class="Bound">α</a> <a id="13524" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="13527" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="13533" class="Symbol">(</a><a id="13534" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="13542" class="Symbol">(</a><a id="13543" href="Categories.Adjoint.Properties.html#14245" class="Function">⊥X⇒⊥Y</a> <a id="13549" href="Categories.Adjoint.Properties.html#13228" class="Bound">α</a><a id="13550" class="Symbol">)</a> <a id="13552" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="13554" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a><a id="13565" class="Symbol">)</a> <a id="13567" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="13580" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="13585" class="Symbol">(</a><a id="13586" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="13588" class="Symbol">(</a><a id="13589" href="Categories.Adjoint.Properties.html#14378" class="Function">L₀</a> <a id="13592" href="Categories.Adjoint.Properties.html#13127" class="Bound">c</a><a id="13593" class="Symbol">))</a> <a id="13596" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="13600" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="13602" class="Symbol">(</a><a id="13603" href="Categories.Adjoint.Properties.html#16016" class="Function">⊥Rd</a> <a id="13607" class="Symbol">(</a><a id="13608" href="Categories.Adjoint.Properties.html#14378" class="Function">L₀</a> <a id="13611" href="Categories.Adjoint.Properties.html#13127" class="Bound">c</a><a id="13612" class="Symbol">))</a> <a id="13615" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="13619" href="Categories.Adjoint.Properties.html#13228" class="Bound">α</a> <a id="13621" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="13624" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="13632" class="Symbol">(</a><a id="13633" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="13641" class="Symbol">(</a><a id="13642" href="Categories.Adjoint.Properties.html#16116" class="Function">⊥Rd⇒id</a> <a id="13649" class="Symbol">(</a><a id="13650" href="Categories.Adjoint.Properties.html#14378" class="Function">L₀</a> <a id="13653" href="Categories.Adjoint.Properties.html#13127" class="Bound">c</a><a id="13654" class="Symbol">))</a> <a id="13657" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="13659" href="Categories.Category.Core.html#1096" class="Function">C.identityˡ</a><a id="13670" class="Symbol">)</a> <a id="13672" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="13685" href="Categories.Adjoint.Properties.html#13228" class="Bound">α</a> <a id="13726" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="13730" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a> <a id="13742" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="13755" href="Categories.Adjoint.Properties.html#13228" class="Bound">α</a> <a id="13757" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="13761" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="13796" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
||
<a id="13807" class="Symbol">})</a>
|
||
<a id="13819" class="Symbol">(</a><a id="13820" class="Keyword">record</a>
|
||
<a id="13836" class="Symbol">{</a> <a id="13838" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="13846" class="Symbol">=</a> <a id="13848" href="Categories.Category.Core.html#630" class="Function">D.id</a>
|
||
<a id="13862" class="Symbol">;</a> <a id="13864" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="13872" class="Symbol">=</a> <a id="13874" href="Categories.Category.Core.html#1597" class="Function">C.∘-resp-≈ˡ</a> <a id="13886" href="Categories.Functor.Core.html#511" class="Field">R.identity</a> <a id="13897" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="13899" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a>
|
||
<a id="13920" class="Symbol">})</a>
|
||
<a id="13927" class="Symbol">;</a> <a id="13929" href="Categories.Adjoint.html#1788" class="Field">zag</a> <a id="13936" class="Symbol">=</a> <a id="13938" class="Symbol">λ</a> <a id="13940" class="Symbol">{</a><a id="13941" href="Categories.Adjoint.Properties.html#13941" class="Bound">d</a><a id="13942" class="Symbol">}</a> <a id="13944" class="Symbol">→</a> <a id="13946" href="Relation.Binary.Structures.html#1629" class="Function">C.Equiv.trans</a> <a id="13960" class="Symbol">(</a><a id="13961" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="13969" class="Symbol">(</a><a id="13970" href="Categories.Adjoint.Properties.html#16116" class="Function">⊥Rd⇒id</a> <a id="13977" href="Categories.Adjoint.Properties.html#13941" class="Bound">d</a><a id="13978" class="Symbol">))</a> <a id="13981" href="Categories.Category.Core.html#1096" class="Function">C.identityˡ</a>
|
||
<a id="13997" class="Symbol">}</a>
|
||
<a id="14003" class="Keyword">where</a> <a id="14009" class="Keyword">module</a> <a id="14016" href="Categories.Adjoint.Properties.html#14016" class="Module">umors</a> <a id="14022" href="Categories.Adjoint.Properties.html#14022" class="Bound">X</a> <a id="14024" class="Symbol">=</a> <a id="14026" href="Categories.Morphism.Universal.html#259" class="Module">UniversalMorphism</a> <a id="14044" class="Symbol">(</a><a id="14045" href="Categories.Adjoint.Properties.html#11708" class="Bound">umors</a> <a id="14051" href="Categories.Adjoint.Properties.html#14022" class="Bound">X</a><a id="14052" class="Symbol">)</a>
|
||
<a id="14064" class="Keyword">open</a> <a id="14069" href="Categories.Category.Construction.Comma.html#840" class="Module">CommaObj</a>
|
||
<a id="14088" class="Keyword">open</a> <a id="14093" href="Categories.Category.Construction.Comma.html#1094" class="Module">Comma⇒</a>
|
||
|
||
<a id="14111" href="Categories.Adjoint.Properties.html#14111" class="Function">commaObj∘g</a> <a id="14122" class="Symbol">:</a> <a id="14124" class="Symbol">∀</a> <a id="14126" class="Symbol">{</a><a id="14127" href="Categories.Adjoint.Properties.html#14127" class="Bound">X</a> <a id="14129" href="Categories.Adjoint.Properties.html#14129" class="Bound">Y</a><a id="14130" class="Symbol">}</a> <a id="14132" class="Symbol">→</a> <a id="14134" href="Categories.Adjoint.Properties.html#14127" class="Bound">X</a> <a id="14136" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="14140" href="Categories.Adjoint.Properties.html#14129" class="Bound">Y</a> <a id="14142" class="Symbol">→</a> <a id="14144" href="Categories.Category.Construction.Comma.html#840" class="Record">CommaObj</a> <a id="14153" class="Symbol">(</a><a id="14154" href="Categories.Functor.Construction.Constant.html#719" class="Function">const!</a> <a id="14161" href="Categories.Adjoint.Properties.html#14127" class="Bound">X</a><a id="14162" class="Symbol">)</a> <a id="14164" href="Categories.Adjoint.Properties.html#10464" class="Bound">R</a>
|
||
<a id="14176" href="Categories.Adjoint.Properties.html#14111" class="Function">commaObj∘g</a> <a id="14187" class="Symbol">{</a><a id="14188" href="Categories.Adjoint.Properties.html#14188" class="Bound">X</a><a id="14189" class="Symbol">}</a> <a id="14191" class="Symbol">{</a><a id="14192" href="Categories.Adjoint.Properties.html#14192" class="Bound">Y</a><a id="14193" class="Symbol">}</a> <a id="14195" href="Categories.Adjoint.Properties.html#14195" class="Bound">g</a> <a id="14197" class="Symbol">=</a> <a id="14199" class="Keyword">record</a> <a id="14206" class="Symbol">{</a> <a id="14208" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="14210" class="Symbol">=</a> <a id="14212" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="14214" class="Symbol">(</a><a id="14215" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="14223" href="Categories.Adjoint.Properties.html#14192" class="Bound">Y</a><a id="14224" class="Symbol">)</a> <a id="14226" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="14230" href="Categories.Adjoint.Properties.html#14195" class="Bound">g</a> <a id="14232" class="Symbol">}</a>
|
||
|
||
<a id="14245" href="Categories.Adjoint.Properties.html#14245" class="Function">⊥X⇒⊥Y</a> <a id="14251" class="Symbol">:</a> <a id="14253" class="Symbol">∀</a> <a id="14255" class="Symbol">{</a><a id="14256" href="Categories.Adjoint.Properties.html#14256" class="Bound">X</a> <a id="14258" href="Categories.Adjoint.Properties.html#14258" class="Bound">Y</a><a id="14259" class="Symbol">}</a> <a id="14261" class="Symbol">(</a><a id="14262" href="Categories.Adjoint.Properties.html#14262" class="Bound">g</a> <a id="14264" class="Symbol">:</a> <a id="14266" href="Categories.Adjoint.Properties.html#14256" class="Bound">X</a> <a id="14268" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="14272" href="Categories.Adjoint.Properties.html#14258" class="Bound">Y</a><a id="14273" class="Symbol">)</a> <a id="14275" class="Symbol">→</a> <a id="14277" class="Symbol">(</a><a id="14278" href="Categories.Adjoint.Properties.html#14256" class="Bound">X</a> <a id="14280" href="Categories.Category.Construction.Comma.html#4286" class="Function Operator">↙</a> <a id="14282" href="Categories.Adjoint.Properties.html#10464" class="Bound">R</a><a id="14283" class="Symbol">)</a> <a id="14285" href="Categories.Category.html#502" class="Function Operator">[</a> <a id="14287" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="14295" href="Categories.Adjoint.Properties.html#14256" class="Bound">X</a> <a id="14297" href="Categories.Category.html#502" class="Function Operator">,</a> <a id="14299" href="Categories.Adjoint.Properties.html#14111" class="Function">commaObj∘g</a> <a id="14310" href="Categories.Adjoint.Properties.html#14262" class="Bound">g</a> <a id="14312" href="Categories.Category.html#502" class="Function Operator">]</a>
|
||
<a id="14324" href="Categories.Adjoint.Properties.html#14245" class="Function">⊥X⇒⊥Y</a> <a id="14330" class="Symbol">{</a><a id="14331" href="Categories.Adjoint.Properties.html#14331" class="Bound">X</a><a id="14332" class="Symbol">}</a> <a id="14334" class="Symbol">{</a><a id="14335" href="Categories.Adjoint.Properties.html#14335" class="Bound">Y</a><a id="14336" class="Symbol">}</a> <a id="14338" href="Categories.Adjoint.Properties.html#14338" class="Bound">g</a> <a id="14340" class="Symbol">=</a> <a id="14342" href="Categories.Object.Initial.html#478" class="Function">umors.!</a> <a id="14350" href="Categories.Adjoint.Properties.html#14331" class="Bound">X</a> <a id="14352" class="Symbol">{</a><a id="14353" href="Categories.Adjoint.Properties.html#14111" class="Function">commaObj∘g</a> <a id="14364" href="Categories.Adjoint.Properties.html#14338" class="Bound">g</a><a id="14365" class="Symbol">}</a>
|
||
|
||
<a id="14378" href="Categories.Adjoint.Properties.html#14378" class="Function">L₀</a> <a id="14381" class="Symbol">:</a> <a id="14383" class="Symbol">∀</a> <a id="14385" href="Categories.Adjoint.Properties.html#14385" class="Bound">X</a> <a id="14387" class="Symbol">→</a> <a id="14389" href="Categories.Category.Core.html#559" class="Function">D.Obj</a>
|
||
<a id="14405" href="Categories.Adjoint.Properties.html#14378" class="Function">L₀</a> <a id="14408" href="Categories.Adjoint.Properties.html#14408" class="Bound">X</a> <a id="14418" class="Symbol">=</a> <a id="14420" href="Categories.Category.Construction.Comma.html#1043" class="Field">β</a> <a id="14422" class="Symbol">(</a><a id="14423" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="14431" href="Categories.Adjoint.Properties.html#14408" class="Bound">X</a><a id="14432" class="Symbol">)</a>
|
||
<a id="14444" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a> <a id="14447" class="Symbol">:</a> <a id="14449" class="Symbol">∀</a> <a id="14451" class="Symbol">{</a><a id="14452" href="Categories.Adjoint.Properties.html#14452" class="Bound">X</a> <a id="14454" href="Categories.Adjoint.Properties.html#14454" class="Bound">Y</a><a id="14455" class="Symbol">}</a> <a id="14457" class="Symbol">→</a> <a id="14459" href="Categories.Adjoint.Properties.html#14452" class="Bound">X</a> <a id="14461" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="14465" href="Categories.Adjoint.Properties.html#14454" class="Bound">Y</a> <a id="14467" class="Symbol">→</a> <a id="14469" href="Categories.Category.Construction.Comma.html#1043" class="Field">β</a> <a id="14471" class="Symbol">(</a><a id="14472" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="14480" href="Categories.Adjoint.Properties.html#14452" class="Bound">X</a><a id="14481" class="Symbol">)</a> <a id="14483" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="14487" href="Categories.Category.Construction.Comma.html#1043" class="Field">β</a> <a id="14489" class="Symbol">(</a><a id="14490" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="14498" href="Categories.Adjoint.Properties.html#14454" class="Bound">Y</a><a id="14499" class="Symbol">)</a>
|
||
<a id="14511" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a> <a id="14514" class="Symbol">{</a><a id="14515" href="Categories.Adjoint.Properties.html#14515" class="Bound">X</a><a id="14516" class="Symbol">}</a> <a id="14518" class="Symbol">{</a><a id="14519" href="Categories.Adjoint.Properties.html#14519" class="Bound">Y</a><a id="14520" class="Symbol">}</a> <a id="14522" href="Categories.Adjoint.Properties.html#14522" class="Bound">g</a> <a id="14524" class="Symbol">=</a> <a id="14526" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="14528" class="Symbol">(</a><a id="14529" href="Categories.Adjoint.Properties.html#14245" class="Function">⊥X⇒⊥Y</a> <a id="14535" href="Categories.Adjoint.Properties.html#14522" class="Bound">g</a><a id="14536" class="Symbol">)</a>
|
||
<a id="14548" href="Categories.Adjoint.Properties.html#14548" class="Function">L-Hom</a> <a id="14554" class="Symbol">:</a> <a id="14556" class="Symbol">∀</a> <a id="14558" class="Symbol">{</a><a id="14559" href="Categories.Adjoint.Properties.html#14559" class="Bound">X</a> <a id="14561" href="Categories.Adjoint.Properties.html#14561" class="Bound">Y</a> <a id="14563" href="Categories.Adjoint.Properties.html#14563" class="Bound">Z</a><a id="14564" class="Symbol">}</a> <a id="14566" class="Symbol">{</a><a id="14567" href="Categories.Adjoint.Properties.html#14567" class="Bound">i</a> <a id="14569" class="Symbol">:</a> <a id="14571" href="Categories.Adjoint.Properties.html#14559" class="Bound">X</a> <a id="14573" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="14577" href="Categories.Adjoint.Properties.html#14561" class="Bound">Y</a><a id="14578" class="Symbol">}</a> <a id="14580" class="Symbol">{</a><a id="14581" href="Categories.Adjoint.Properties.html#14581" class="Bound">j</a> <a id="14583" class="Symbol">:</a> <a id="14585" href="Categories.Adjoint.Properties.html#14561" class="Bound">Y</a> <a id="14587" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="14591" href="Categories.Adjoint.Properties.html#14563" class="Bound">Z</a><a id="14592" class="Symbol">}</a> <a id="14594" class="Symbol">→</a> <a id="14596" href="Categories.Adjoint.Properties.html#10476" class="Bound">D</a> <a id="14598" href="Categories.Category.html#609" class="Function Operator">[</a> <a id="14600" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a> <a id="14603" class="Symbol">(</a><a id="14604" href="Categories.Adjoint.Properties.html#10478" class="Bound">C</a> <a id="14606" href="Categories.Category.html#700" class="Function Operator">[</a> <a id="14608" href="Categories.Adjoint.Properties.html#14581" class="Bound">j</a> <a id="14610" href="Categories.Category.html#700" class="Function Operator">∘</a> <a id="14612" href="Categories.Adjoint.Properties.html#14567" class="Bound">i</a> <a id="14614" href="Categories.Category.html#700" class="Function Operator">]</a><a id="14615" class="Symbol">)</a> <a id="14617" href="Categories.Category.html#609" class="Function Operator">≈</a> <a id="14619" class="Symbol">(</a><a id="14620" href="Categories.Adjoint.Properties.html#10476" class="Bound">D</a> <a id="14622" href="Categories.Category.html#700" class="Function Operator">[</a> <a id="14624" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a> <a id="14627" href="Categories.Adjoint.Properties.html#14581" class="Bound">j</a> <a id="14629" href="Categories.Category.html#700" class="Function Operator">∘</a> <a id="14631" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a> <a id="14634" href="Categories.Adjoint.Properties.html#14567" class="Bound">i</a> <a id="14636" href="Categories.Category.html#700" class="Function Operator">]</a><a id="14637" class="Symbol">)</a> <a id="14639" href="Categories.Category.html#609" class="Function Operator">]</a>
|
||
<a id="14651" href="Categories.Adjoint.Properties.html#14548" class="Function">L-Hom</a> <a id="14657" class="Symbol">{</a><a id="14658" href="Categories.Adjoint.Properties.html#14658" class="Bound">X</a><a id="14659" class="Symbol">}</a> <a id="14661" class="Symbol">{</a><a id="14662" href="Categories.Adjoint.Properties.html#14662" class="Bound">Y</a><a id="14663" class="Symbol">}</a> <a id="14665" class="Symbol">{</a><a id="14666" href="Categories.Adjoint.Properties.html#14666" class="Bound">Z</a><a id="14667" class="Symbol">}</a> <a id="14669" class="Symbol">{</a><a id="14670" href="Categories.Adjoint.Properties.html#14670" class="Bound">i</a><a id="14671" class="Symbol">}</a> <a id="14673" class="Symbol">{</a><a id="14674" href="Categories.Adjoint.Properties.html#14674" class="Bound">j</a><a id="14675" class="Symbol">}</a> <a id="14677" class="Symbol">=</a> <a id="14679" href="Agda.Builtin.Sigma.html#246" class="Field">proj₂</a> <a id="14685" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="14687" href="Categories.Object.Initial.html#548" class="Function">umors.!-unique₂</a> <a id="14703" href="Categories.Adjoint.Properties.html#14658" class="Bound">X</a> <a id="14705" class="Symbol">(</a><a id="14706" href="Categories.Object.Initial.html#478" class="Function">umors.!</a> <a id="14714" href="Categories.Adjoint.Properties.html#14658" class="Bound">X</a><a id="14715" class="Symbol">)</a> <a id="14717" href="Function.Base.html#1928" class="Function Operator">$</a>
|
||
<a id="14733" class="Keyword">record</a> <a id="14740" class="Symbol">{</a> <a id="14742" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="14750" class="Symbol">=</a> <a id="14752" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
||
<a id="14774" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="14779" class="Symbol">(</a><a id="14780" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="14782" class="Symbol">(</a><a id="14783" href="Categories.Object.Initial.html#478" class="Function">umors.!</a> <a id="14791" href="Categories.Adjoint.Properties.html#14662" class="Bound">Y</a><a id="14792" class="Symbol">)</a> <a id="14794" href="Categories.Category.Core.html#656" class="Function Operator">D.∘</a> <a id="14798" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="14800" class="Symbol">(</a><a id="14801" href="Categories.Object.Initial.html#478" class="Function">umors.!</a> <a id="14809" href="Categories.Adjoint.Properties.html#14658" class="Bound">X</a><a id="14810" class="Symbol">))</a> <a id="14813" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="14817" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="14819" class="Symbol">(</a><a id="14820" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="14828" href="Categories.Adjoint.Properties.html#14658" class="Bound">X</a><a id="14829" class="Symbol">)</a>
|
||
<a id="14849" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="14852" class="Symbol">(</a><a id="14853" href="Categories.Category.Core.html#1597" class="Function">C.∘-resp-≈ˡ</a> <a id="14865" href="Categories.Functor.Core.html#565" class="Field">R.homomorphism</a><a id="14879" class="Symbol">)</a> <a id="14881" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="14883" href="Categories.Category.Core.html#715" class="Function">C.assoc</a> <a id="14891" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="14909" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="14914" class="Symbol">(</a><a id="14915" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="14917" class="Symbol">(</a><a id="14918" href="Categories.Object.Initial.html#478" class="Function">umors.!</a> <a id="14926" href="Categories.Adjoint.Properties.html#14662" class="Bound">Y</a><a id="14927" class="Symbol">))</a> <a id="14930" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="14934" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="14939" class="Symbol">(</a><a id="14940" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="14942" class="Symbol">(</a><a id="14943" href="Categories.Object.Initial.html#478" class="Function">umors.!</a> <a id="14951" href="Categories.Adjoint.Properties.html#14658" class="Bound">X</a><a id="14952" class="Symbol">))</a> <a id="14955" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="14959" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="14961" class="Symbol">(</a><a id="14962" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="14970" href="Categories.Adjoint.Properties.html#14658" class="Bound">X</a><a id="14971" class="Symbol">)</a>
|
||
<a id="14991" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="14994" class="Symbol">(</a><a id="14995" href="Categories.Category.Core.html#1706" class="Function">C.∘-resp-≈ʳ</a> <a id="15007" class="Symbol">(</a><a id="15008" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="15016" class="Symbol">(</a><a id="15017" href="Categories.Adjoint.Properties.html#14245" class="Function">⊥X⇒⊥Y</a> <a id="15023" href="Categories.Adjoint.Properties.html#14670" class="Bound">i</a><a id="15024" class="Symbol">)</a> <a id="15026" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="15028" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a><a id="15039" class="Symbol">))</a> <a id="15042" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="15044" href="Categories.Category.Core.html#1004" class="Function">C.sym-assoc</a> <a id="15056" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="15074" class="Symbol">(</a><a id="15075" href="Categories.Functor.Core.html#455" class="Field">R.F₁</a> <a id="15080" class="Symbol">(</a><a id="15081" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="15083" class="Symbol">(</a><a id="15084" href="Categories.Object.Initial.html#478" class="Function">umors.!</a> <a id="15092" href="Categories.Adjoint.Properties.html#14662" class="Bound">Y</a><a id="15093" class="Symbol">))</a> <a id="15096" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="15100" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="15102" class="Symbol">(</a><a id="15103" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="15111" href="Categories.Adjoint.Properties.html#14662" class="Bound">Y</a><a id="15112" class="Symbol">))</a> <a id="15115" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="15119" href="Categories.Adjoint.Properties.html#14670" class="Bound">i</a>
|
||
<a id="15139" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="15142" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="15148" class="Symbol">(</a><a id="15149" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="15157" class="Symbol">(</a><a id="15158" href="Categories.Adjoint.Properties.html#14245" class="Function">⊥X⇒⊥Y</a> <a id="15164" href="Categories.Adjoint.Properties.html#14674" class="Bound">j</a><a id="15165" class="Symbol">)</a> <a id="15167" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="15169" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a><a id="15180" class="Symbol">)</a> <a id="15182" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
||
<a id="15200" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="15202" class="Symbol">(</a><a id="15203" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="15211" href="Categories.Adjoint.Properties.html#14666" class="Bound">Z</a><a id="15212" class="Symbol">)</a> <a id="15214" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="15218" href="Categories.Adjoint.Properties.html#14674" class="Bound">j</a> <a id="15220" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="15224" href="Categories.Adjoint.Properties.html#14670" class="Bound">i</a>
|
||
<a id="15244" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="15248" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a> <a id="15260" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
||
<a id="15278" class="Symbol">(</a><a id="15279" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="15281" class="Symbol">(</a><a id="15282" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="15290" href="Categories.Adjoint.Properties.html#14666" class="Bound">Z</a><a id="15291" class="Symbol">)</a> <a id="15293" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="15297" href="Categories.Adjoint.Properties.html#14674" class="Bound">j</a> <a id="15299" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="15303" href="Categories.Adjoint.Properties.html#14670" class="Bound">i</a><a id="15304" class="Symbol">)</a> <a id="15306" href="Categories.Category.Core.html#656" class="Function Operator">C.∘</a> <a id="15310" href="Categories.Category.Core.html#630" class="Function">C.id</a>
|
||
<a id="15333" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a> <a id="15335" class="Symbol">}</a>
|
||
<a id="15351" class="Keyword">where</a> <a id="15357" class="Keyword">open</a> <a id="15362" href="Categories.Category.Core.html#2462" class="Module">C.HomReasoning</a>
|
||
<a id="15397" class="Keyword">open</a> <a id="15402" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="15405" href="Categories.Adjoint.Properties.html#10478" class="Bound">C</a> <a id="15407" class="Keyword">using</a> <a id="15413" class="Symbol">(</a><a id="15414" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a><a id="15419" class="Symbol">)</a>
|
||
<a id="15431" href="Categories.Adjoint.Properties.html#15431" class="Function">L</a> <a id="15433" class="Symbol">:</a> <a id="15435" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="15443" href="Categories.Adjoint.Properties.html#10478" class="Bound">C</a> <a id="15445" href="Categories.Adjoint.Properties.html#10476" class="Bound">D</a>
|
||
<a id="15457" href="Categories.Adjoint.Properties.html#15431" class="Function">L</a> <a id="15470" class="Symbol">=</a> <a id="15472" class="Keyword">record</a>
|
||
<a id="15491" class="Symbol">{</a> <a id="15493" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="15506" class="Symbol">=</a> <a id="15508" href="Categories.Adjoint.Properties.html#14378" class="Function">L₀</a>
|
||
<a id="15523" class="Symbol">;</a> <a id="15525" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="15538" class="Symbol">=</a> <a id="15540" href="Categories.Adjoint.Properties.html#14444" class="Function">L₁</a>
|
||
<a id="15555" class="Symbol">;</a> <a id="15557" href="Categories.Functor.Core.html#511" class="Field">identity</a> <a id="15570" class="Symbol">=</a> <a id="15572" class="Symbol">λ</a> <a id="15574" class="Symbol">{</a><a id="15575" href="Categories.Adjoint.Properties.html#15575" class="Bound">X</a><a id="15576" class="Symbol">}</a> <a id="15578" class="Symbol">→</a> <a id="15580" href="Agda.Builtin.Sigma.html#246" class="Field">proj₂</a> <a id="15586" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="15588" href="Categories.Object.Initial.html#506" class="Function">umors.!-unique</a> <a id="15603" href="Categories.Adjoint.Properties.html#15575" class="Bound">X</a> <a id="15605" href="Function.Base.html#1928" class="Function Operator">$</a>
|
||
<a id="15621" class="Keyword">record</a> <a id="15628" class="Symbol">{</a> <a id="15630" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="15638" class="Symbol">=</a> <a id="15640" href="Categories.Morphism.Reasoning.Core.html#2948" class="Function">elimˡ</a> <a id="15646" href="Categories.Functor.Core.html#511" class="Field">R.identity</a> <a id="15657" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="15659" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="15661" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a> <a id="15673" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="15675" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="15677" href="Categories.Category.Core.html#1145" class="Function">C.identityʳ</a> <a id="15689" class="Symbol">}</a>
|
||
<a id="15703" class="Symbol">;</a> <a id="15705" href="Categories.Functor.Core.html#565" class="Field">homomorphism</a> <a id="15718" class="Symbol">=</a> <a id="15720" href="Categories.Adjoint.Properties.html#14548" class="Function">L-Hom</a>
|
||
<a id="15738" class="Symbol">;</a> <a id="15740" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a> <a id="15753" class="Symbol">=</a> <a id="15755" class="Symbol">λ</a> <a id="15757" class="Symbol">{</a><a id="15758" href="Categories.Adjoint.Properties.html#15758" class="Bound">X</a><a id="15759" class="Symbol">}</a> <a id="15761" href="Categories.Adjoint.Properties.html#15761" class="Bound">eq</a> <a id="15764" class="Symbol">→</a> <a id="15766" href="Agda.Builtin.Sigma.html#246" class="Field">proj₂</a> <a id="15772" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="15774" href="Categories.Object.Initial.html#548" class="Function">umors.!-unique₂</a> <a id="15790" href="Categories.Adjoint.Properties.html#15758" class="Bound">X</a> <a id="15792" class="Symbol">(</a><a id="15793" href="Categories.Object.Initial.html#478" class="Function">umors.!</a> <a id="15801" href="Categories.Adjoint.Properties.html#15758" class="Bound">X</a><a id="15802" class="Symbol">)</a> <a id="15804" href="Function.Base.html#1928" class="Function Operator">$</a>
|
||
<a id="15820" class="Keyword">record</a> <a id="15827" class="Symbol">{</a> <a id="15829" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="15837" class="Symbol">=</a> <a id="15839" href="Categories.Category.Construction.Comma.html#1481" class="Field">commute</a> <a id="15847" class="Symbol">(</a><a id="15848" href="Categories.Object.Initial.html#478" class="Function">umors.!</a> <a id="15856" href="Categories.Adjoint.Properties.html#15758" class="Bound">X</a><a id="15857" class="Symbol">)</a> <a id="15859" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="15861" href="Categories.Category.Core.html#1597" class="Function">C.∘-resp-≈ˡ</a> <a id="15873" class="Symbol">(</a><a id="15874" href="Categories.Category.Core.html#1706" class="Function">C.∘-resp-≈ʳ</a> <a id="15886" class="Symbol">(</a><a id="15887" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="15889" href="Categories.Adjoint.Properties.html#15761" class="Bound">eq</a><a id="15891" class="Symbol">))</a> <a id="15894" class="Symbol">}</a>
|
||
<a id="15908" class="Symbol">}</a>
|
||
<a id="15922" class="Keyword">where</a> <a id="15928" class="Keyword">open</a> <a id="15933" href="Categories.Category.Core.html#2462" class="Module">C.HomReasoning</a> <a id="15948" class="Keyword">using</a> <a id="15954" class="Symbol">(</a><a id="15955" href="Categories.Category.Core.html#3061" class="Function Operator">_○_</a><a id="15958" class="Symbol">;</a> <a id="15960" href="Categories.Category.Core.html#3005" class="Function">⟺</a><a id="15961" class="Symbol">)</a>
|
||
<a id="15981" class="Keyword">open</a> <a id="15986" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="15989" href="Categories.Adjoint.Properties.html#10478" class="Bound">C</a> <a id="15991" class="Keyword">using</a> <a id="15997" class="Symbol">(</a><a id="15998" href="Categories.Morphism.Reasoning.Core.html#2948" class="Function">elimˡ</a><a id="16003" class="Symbol">)</a>
|
||
|
||
<a id="16016" href="Categories.Adjoint.Properties.html#16016" class="Function">⊥Rd</a> <a id="16023" class="Symbol">:</a> <a id="16025" class="Symbol">(</a><a id="16026" href="Categories.Adjoint.Properties.html#16026" class="Bound">d</a> <a id="16028" class="Symbol">:</a> <a id="16030" href="Categories.Category.Core.html#559" class="Function">D.Obj</a><a id="16035" class="Symbol">)</a> <a id="16037" class="Symbol">→</a> <a id="16039" href="Categories.Category.Construction.Comma.html#840" class="Record">CommaObj</a> <a id="16048" class="Symbol">(</a><a id="16049" href="Categories.Functor.Construction.Constant.html#719" class="Function">const!</a> <a id="16056" class="Symbol">(</a><a id="16057" href="Categories.Functor.Core.html#432" class="Field">R.F₀</a> <a id="16062" href="Categories.Adjoint.Properties.html#16026" class="Bound">d</a><a id="16063" class="Symbol">))</a> <a id="16066" href="Categories.Adjoint.Properties.html#10464" class="Bound">R</a>
|
||
<a id="16078" href="Categories.Adjoint.Properties.html#16016" class="Function">⊥Rd</a> <a id="16082" href="Categories.Adjoint.Properties.html#16082" class="Bound">d</a> <a id="16087" class="Symbol">=</a> <a id="16089" href="Categories.Object.Initial.html#804" class="Function">umors.⊥</a> <a id="16097" class="Symbol">(</a><a id="16098" href="Categories.Functor.Core.html#432" class="Field">R.F₀</a> <a id="16103" href="Categories.Adjoint.Properties.html#16082" class="Bound">d</a><a id="16104" class="Symbol">)</a>
|
||
<a id="16116" href="Categories.Adjoint.Properties.html#16116" class="Function">⊥Rd⇒id</a> <a id="16123" class="Symbol">:</a> <a id="16125" class="Symbol">(</a><a id="16126" href="Categories.Adjoint.Properties.html#16126" class="Bound">d</a> <a id="16128" class="Symbol">:</a> <a id="16130" href="Categories.Category.Core.html#559" class="Function">D.Obj</a><a id="16135" class="Symbol">)</a> <a id="16137" class="Symbol">→</a> <a id="16140" class="Symbol">(</a><a id="16141" href="Categories.Functor.Core.html#432" class="Field">R.F₀</a> <a id="16146" href="Categories.Adjoint.Properties.html#16126" class="Bound">d</a> <a id="16148" href="Categories.Category.Construction.Comma.html#4286" class="Function Operator">↙</a> <a id="16150" href="Categories.Adjoint.Properties.html#10464" class="Bound">R</a><a id="16151" class="Symbol">)</a> <a id="16153" href="Categories.Category.html#502" class="Function Operator">[</a> <a id="16155" href="Categories.Adjoint.Properties.html#16016" class="Function">⊥Rd</a> <a id="16159" href="Categories.Adjoint.Properties.html#16126" class="Bound">d</a> <a id="16161" href="Categories.Category.html#502" class="Function Operator">,</a> <a id="16163" class="Keyword">record</a> <a id="16170" class="Symbol">{</a> <a id="16172" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="16174" class="Symbol">=</a> <a id="16176" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="16181" class="Symbol">}</a> <a id="16183" href="Categories.Category.html#502" class="Function Operator">]</a>
|
||
<a id="16195" href="Categories.Adjoint.Properties.html#16116" class="Function">⊥Rd⇒id</a> <a id="16202" href="Categories.Adjoint.Properties.html#16202" class="Bound">d</a> <a id="16204" class="Symbol">=</a> <a id="16206" href="Categories.Object.Initial.html#478" class="Function">umors.!</a> <a id="16214" class="Symbol">(</a><a id="16215" href="Categories.Functor.Core.html#432" class="Field">R.F₀</a> <a id="16220" href="Categories.Adjoint.Properties.html#16202" class="Bound">d</a><a id="16221" class="Symbol">)</a> <a id="16223" class="Symbol">{</a><a id="16224" class="Keyword">record</a> <a id="16231" class="Symbol">{</a> <a id="16233" href="Categories.Category.Construction.Comma.html#1060" class="Field">f</a> <a id="16235" class="Symbol">=</a> <a id="16237" href="Categories.Category.Core.html#630" class="Function">C.id</a> <a id="16242" class="Symbol">}}</a>
|
||
<a id="16255" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="16262" class="Symbol">:</a> <a id="16264" class="Symbol">∀</a> <a id="16266" href="Categories.Adjoint.Properties.html#16266" class="Bound">d</a> <a id="16268" class="Symbol">→</a> <a id="16270" href="Categories.Adjoint.Properties.html#14378" class="Function">L₀</a> <a id="16273" class="Symbol">(</a><a id="16274" href="Categories.Functor.Core.html#432" class="Field">R.F₀</a> <a id="16279" href="Categories.Adjoint.Properties.html#16266" class="Bound">d</a><a id="16280" class="Symbol">)</a> <a id="16282" href="Categories.Category.Core.html#575" class="Function Operator">D.⇒</a> <a id="16286" href="Categories.Adjoint.Properties.html#16266" class="Bound">d</a>
|
||
<a id="16298" href="Categories.Adjoint.Properties.html#16255" class="Function">ε</a> <a id="16300" href="Categories.Adjoint.Properties.html#16300" class="Bound">d</a> <a id="16307" class="Symbol">=</a> <a id="16309" href="Categories.Category.Construction.Comma.html#1451" class="Field">h</a> <a id="16311" class="Symbol">(</a><a id="16312" href="Categories.Adjoint.Properties.html#16116" class="Function">⊥Rd⇒id</a> <a id="16319" href="Categories.Adjoint.Properties.html#16300" class="Bound">d</a><a id="16320" class="Symbol">)</a>
|
||
|
||
<a id="16323" class="Comment">-- adjoint functors of a functor are isomorphic</a>
|
||
<a id="16371" class="Keyword">module</a> <a id="16378" href="Categories.Adjoint.Properties.html#16378" class="Module">_</a> <a id="16380" class="Symbol">(</a><a id="16381" href="Categories.Adjoint.Properties.html#16381" class="Bound">L</a> <a id="16383" class="Symbol">:</a> <a id="16385" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="16393" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a> <a id="16395" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a><a id="16396" class="Symbol">)</a> <a id="16398" class="Keyword">where</a>
|
||
<a id="16406" href="Categories.Adjoint.Properties.html#16406" class="Function">R≃R′</a> <a id="16411" class="Symbol">:</a> <a id="16413" class="Symbol">∀</a> <a id="16415" class="Symbol">{</a><a id="16416" href="Categories.Adjoint.Properties.html#16416" class="Bound">R</a> <a id="16418" href="Categories.Adjoint.Properties.html#16418" class="Bound">R′</a><a id="16420" class="Symbol">}</a> <a id="16422" class="Symbol">→</a> <a id="16424" href="Categories.Adjoint.Properties.html#16381" class="Bound">L</a> <a id="16426" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="16428" href="Categories.Adjoint.Properties.html#16416" class="Bound">R</a> <a id="16430" class="Symbol">→</a> <a id="16432" href="Categories.Adjoint.Properties.html#16381" class="Bound">L</a> <a id="16434" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="16436" href="Categories.Adjoint.Properties.html#16418" class="Bound">R′</a> <a id="16439" class="Symbol">→</a> <a id="16441" href="Categories.Adjoint.Properties.html#16416" class="Bound">R</a> <a id="16443" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">≃</a> <a id="16445" href="Categories.Adjoint.Properties.html#16418" class="Bound">R′</a>
|
||
<a id="16450" href="Categories.Adjoint.Properties.html#16406" class="Function">R≃R′</a> <a id="16455" class="Symbol">{</a><a id="16456" href="Categories.Adjoint.Properties.html#16456" class="Bound">R</a><a id="16457" class="Symbol">}</a> <a id="16459" class="Symbol">{</a><a id="16460" href="Categories.Adjoint.Properties.html#16460" class="Bound">R′</a><a id="16462" class="Symbol">}</a> <a id="16464" href="Categories.Adjoint.Properties.html#16464" class="Bound">L⊣R</a> <a id="16468" href="Categories.Adjoint.Properties.html#16468" class="Bound">L⊣R′</a> <a id="16473" class="Symbol">=</a> <a id="16475" href="Categories.Yoneda.Properties.html#5618" class="Function">YP.yoneda-NI</a> <a id="16488" href="Categories.Adjoint.Properties.html#16393" class="Bound">C</a> <a id="16490" href="Categories.Adjoint.Properties.html#16456" class="Bound">R</a> <a id="16492" href="Categories.Adjoint.Properties.html#16460" class="Bound">R′</a> <a id="16495" class="Symbol">(</a><a id="16496" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3437" class="Function">unlift-≃</a> <a id="16505" href="Categories.Adjoint.Properties.html#16660" class="Function">Hom[-,R-]≃Hom[-,R′-]</a><a id="16525" class="Symbol">)</a>
|
||
<a id="16531" class="Keyword">where</a> <a id="16537" class="Keyword">module</a> <a id="16544" href="Categories.Adjoint.Properties.html#16544" class="Module">⊣₁</a> <a id="16547" class="Symbol">=</a> <a id="16549" href="Categories.Adjoint.html#1306" class="Module">Adjoint</a> <a id="16557" href="Categories.Adjoint.Properties.html#16464" class="Bound">L⊣R</a> <a id="16561" class="Keyword">using</a> <a id="16567" class="Symbol">(</a><a id="16568" href="Categories.Adjoint.html#6987" class="Function">Hom[-,R-]′</a><a id="16578" class="Symbol">;</a> <a id="16580" href="Categories.Adjoint.html#7117" class="Function">Hom-NI</a><a id="16586" class="Symbol">)</a>
|
||
<a id="16598" class="Keyword">module</a> <a id="16605" href="Categories.Adjoint.Properties.html#16605" class="Module">⊣₂</a> <a id="16608" class="Symbol">=</a> <a id="16610" href="Categories.Adjoint.html#1306" class="Module">Adjoint</a> <a id="16618" href="Categories.Adjoint.Properties.html#16468" class="Bound">L⊣R′</a> <a id="16623" class="Keyword">using</a> <a id="16629" class="Symbol">(</a><a id="16630" href="Categories.Adjoint.html#6987" class="Function">Hom[-,R-]′</a><a id="16640" class="Symbol">;</a> <a id="16642" href="Categories.Adjoint.html#7117" class="Function">Hom-NI</a><a id="16648" class="Symbol">)</a>
|
||
<a id="16660" href="Categories.Adjoint.Properties.html#16660" class="Function">Hom[-,R-]≃Hom[-,R′-]</a> <a id="16681" class="Symbol">:</a> <a id="16683" href="Categories.Adjoint.html#6987" class="Function">⊣₁.Hom[-,R-]′</a> <a id="16697" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">≃</a> <a id="16699" href="Categories.Adjoint.html#6987" class="Function">⊣₂.Hom[-,R-]′</a>
|
||
<a id="16723" href="Categories.Adjoint.Properties.html#16660" class="Function">Hom[-,R-]≃Hom[-,R′-]</a> <a id="16744" class="Symbol">=</a> <a id="16746" href="Relation.Binary.Structures.html#1629" class="Function">≃.trans</a> <a id="16754" class="Symbol">(</a><a id="16755" href="Relation.Binary.Structures.html#1603" class="Function">≃.sym</a> <a id="16761" href="Categories.Adjoint.html#7117" class="Function">⊣₁.Hom-NI</a><a id="16770" class="Symbol">)</a> <a id="16772" href="Categories.Adjoint.html#7117" class="Function">⊣₂.Hom-NI</a>
|
||
|
||
<a id="16783" class="Keyword">module</a> <a id="16790" href="Categories.Adjoint.Properties.html#16790" class="Module">_</a> <a id="16792" class="Symbol">{</a><a id="16793" href="Categories.Adjoint.Properties.html#16793" class="Bound">R</a> <a id="16795" class="Symbol">:</a> <a id="16797" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="16805" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a> <a id="16807" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a><a id="16808" class="Symbol">}</a> <a id="16810" class="Keyword">where</a>
|
||
|
||
<a id="16819" href="Categories.Adjoint.Properties.html#16819" class="Function">L≃L′</a> <a id="16824" class="Symbol">:</a> <a id="16826" class="Symbol">∀</a> <a id="16828" class="Symbol">{</a><a id="16829" href="Categories.Adjoint.Properties.html#16829" class="Bound">L</a> <a id="16831" href="Categories.Adjoint.Properties.html#16831" class="Bound">L′</a><a id="16833" class="Symbol">}</a> <a id="16835" class="Symbol">→</a> <a id="16837" href="Categories.Adjoint.Properties.html#16829" class="Bound">L</a> <a id="16839" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="16841" href="Categories.Adjoint.Properties.html#16793" class="Bound">R</a> <a id="16843" class="Symbol">→</a> <a id="16845" href="Categories.Adjoint.Properties.html#16831" class="Bound">L′</a> <a id="16848" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="16850" href="Categories.Adjoint.Properties.html#16793" class="Bound">R</a> <a id="16852" class="Symbol">→</a> <a id="16854" href="Categories.Adjoint.Properties.html#16829" class="Bound">L</a> <a id="16856" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">≃</a> <a id="16858" href="Categories.Adjoint.Properties.html#16831" class="Bound">L′</a>
|
||
<a id="16863" href="Categories.Adjoint.Properties.html#16819" class="Function">L≃L′</a> <a id="16868" href="Categories.Adjoint.Properties.html#16868" class="Bound">L⊣R</a> <a id="16872" href="Categories.Adjoint.Properties.html#16872" class="Bound">L′⊣R</a> <a id="16877" class="Symbol">=</a> <a id="16879" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1266" class="Function">NaturalIsomorphism.op</a> <a id="16901" class="Symbol">(</a><a id="16902" href="Categories.Adjoint.Properties.html#16406" class="Function">R≃R′</a> <a id="16907" class="Symbol">(</a><a id="16908" href="Categories.Functor.Core.html#816" class="Function">Functor.op</a> <a id="16919" href="Categories.Adjoint.Properties.html#16793" class="Bound">R</a><a id="16920" class="Symbol">)</a> <a id="16922" href="Categories.Adjoint.html#3935" class="Function">⊣₂.op</a> <a id="16928" href="Categories.Adjoint.html#3935" class="Function">⊣₁.op</a><a id="16933" class="Symbol">)</a>
|
||
<a id="16939" class="Keyword">where</a> <a id="16945" class="Keyword">module</a> <a id="16952" href="Categories.Adjoint.Properties.html#16952" class="Module">⊣₁</a> <a id="16955" class="Symbol">=</a> <a id="16957" href="Categories.Adjoint.html#1306" class="Module">Adjoint</a> <a id="16965" href="Categories.Adjoint.Properties.html#16868" class="Bound">L⊣R</a> <a id="16969" class="Keyword">using</a> <a id="16975" class="Symbol">(</a><a id="16976" href="Categories.Adjoint.html#3935" class="Function">op</a><a id="16978" class="Symbol">)</a>
|
||
<a id="16990" class="Keyword">module</a> <a id="16997" href="Categories.Adjoint.Properties.html#16997" class="Module">⊣₂</a> <a id="17000" class="Symbol">=</a> <a id="17002" href="Categories.Adjoint.html#1306" class="Module">Adjoint</a> <a id="17010" href="Categories.Adjoint.Properties.html#16872" class="Bound">L′⊣R</a> <a id="17015" class="Keyword">using</a> <a id="17021" class="Symbol">(</a><a id="17022" href="Categories.Adjoint.html#3935" class="Function">op</a><a id="17024" class="Symbol">)</a>
|
||
|
||
<a id="17027" class="Comment">-- adjoint functors are preserved by natural isomorphisms</a>
|
||
<a id="17085" class="Keyword">module</a> <a id="17092" href="Categories.Adjoint.Properties.html#17092" class="Module">_</a> <a id="17094" class="Symbol">{</a><a id="17095" href="Categories.Adjoint.Properties.html#17095" class="Bound">L</a> <a id="17097" href="Categories.Adjoint.Properties.html#17097" class="Bound">L′</a> <a id="17100" class="Symbol">:</a> <a id="17102" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="17110" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a> <a id="17112" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a><a id="17113" class="Symbol">}</a> <a id="17115" class="Symbol">{</a><a id="17116" href="Categories.Adjoint.Properties.html#17116" class="Bound">R</a> <a id="17118" href="Categories.Adjoint.Properties.html#17118" class="Bound">R′</a> <a id="17121" class="Symbol">:</a> <a id="17123" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="17131" href="Categories.Adjoint.Properties.html#2144" class="Generalizable">D</a> <a id="17133" href="Categories.Adjoint.Properties.html#2142" class="Generalizable">C</a><a id="17134" class="Symbol">}</a> <a id="17136" class="Keyword">where</a>
|
||
|
||
<a id="17145" href="Categories.Adjoint.Properties.html#17145" class="Function">⊣×≃⇒⊣</a> <a id="17151" class="Symbol">:</a> <a id="17153" href="Categories.Adjoint.Properties.html#17095" class="Bound">L</a> <a id="17155" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="17157" href="Categories.Adjoint.Properties.html#17116" class="Bound">R</a> <a id="17159" class="Symbol">→</a> <a id="17161" href="Categories.Adjoint.Properties.html#17095" class="Bound">L</a> <a id="17163" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">≃</a> <a id="17165" href="Categories.Adjoint.Properties.html#17097" class="Bound">L′</a> <a id="17168" class="Symbol">→</a> <a id="17170" href="Categories.Adjoint.Properties.html#17116" class="Bound">R</a> <a id="17172" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">≃</a> <a id="17174" href="Categories.Adjoint.Properties.html#17118" class="Bound">R′</a> <a id="17177" class="Symbol">→</a> <a id="17179" href="Categories.Adjoint.Properties.html#17097" class="Bound">L′</a> <a id="17182" href="Categories.Adjoint.html#7972" class="Function Operator">⊣</a> <a id="17184" href="Categories.Adjoint.Properties.html#17118" class="Bound">R′</a>
|
||
<a id="17189" href="Categories.Adjoint.Properties.html#17145" class="Function">⊣×≃⇒⊣</a> <a id="17195" href="Categories.Adjoint.Properties.html#17195" class="Bound">L⊣R</a> <a id="17199" href="Categories.Adjoint.Properties.html#17199" class="Bound">L≃L′</a> <a id="17204" href="Categories.Adjoint.Properties.html#17204" class="Bound">R≃R′</a> <a id="17209" class="Symbol">=</a> <a id="17211" href="Categories.Adjoint.Equivalents.html#9581" class="Function">Hom-NI′⇒Adjoint</a> <a id="17227" class="Symbol">(</a><a id="17228" href="Relation.Binary.Structures.html#1629" class="Function">≃.trans</a> <a id="17236" class="Symbol">(</a><a id="17237" href="Categories.Functor.Construction.LiftSetoids.html#957" class="Function">LiftSetoids</a> <a id="17249" class="Symbol">_</a> <a id="17251" class="Symbol">_</a> <a id="17254" href="Categories.NaturalTransformation.NaturalIsomorphism.html#4354" class="Function Operator">ⓘˡ</a> <a id="17257" href="Categories.Adjoint.Properties.html#17453" class="Function">Hom[L′-,-]≃Hom[L-,-]</a><a id="17277" class="Symbol">)</a>
|
||
<a id="17319" class="Symbol">(</a><a id="17320" href="Relation.Binary.Structures.html#1629" class="Function">≃.trans</a> <a id="17328" class="Symbol">(</a><a id="17329" href="Categories.Adjoint.html#7117" class="Function">Adjoint.Hom-NI</a> <a id="17344" href="Categories.Adjoint.Properties.html#17195" class="Bound">L⊣R</a><a id="17347" class="Symbol">)</a>
|
||
<a id="17398" class="Symbol">(</a><a id="17399" href="Categories.Functor.Construction.LiftSetoids.html#957" class="Function">LiftSetoids</a> <a id="17411" class="Symbol">_</a> <a id="17413" class="Symbol">_</a> <a id="17416" href="Categories.NaturalTransformation.NaturalIsomorphism.html#4354" class="Function Operator">ⓘˡ</a> <a id="17419" href="Categories.Adjoint.Properties.html#17655" class="Function">Hom[-,R-]≃Hom[-,R′-]</a><a id="17439" class="Symbol">)))</a>
|
||
<a id="17447" class="Keyword">where</a> <a id="17453" href="Categories.Adjoint.Properties.html#17453" class="Function">Hom[L′-,-]≃Hom[L-,-]</a> <a id="17474" class="Symbol">:</a> <a id="17476" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="17481" href="Categories.Adjoint.Properties.html#17112" class="Bound">D</a> <a id="17483" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="17490" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="17493" class="Symbol">(</a><a id="17494" href="Categories.Functor.Core.html#816" class="Function">Functor.op</a> <a id="17505" href="Categories.Adjoint.Properties.html#17097" class="Bound">L′</a> <a id="17508" href="Categories.Category.Product.html#1962" class="Function Operator">⁂</a> <a id="17510" href="Categories.Adjoint.Properties.html#755" class="Function">idF</a><a id="17513" class="Symbol">)</a> <a id="17515" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">≃</a> <a id="17517" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="17522" href="Categories.Adjoint.Properties.html#17112" class="Bound">D</a> <a id="17524" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="17531" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="17534" class="Symbol">(</a><a id="17535" href="Categories.Functor.Core.html#816" class="Function">Functor.op</a> <a id="17546" href="Categories.Adjoint.Properties.html#17095" class="Bound">L</a> <a id="17548" href="Categories.Category.Product.html#1962" class="Function Operator">⁂</a> <a id="17550" href="Categories.Adjoint.Properties.html#755" class="Function">idF</a><a id="17553" class="Symbol">)</a>
|
||
<a id="17565" href="Categories.Adjoint.Properties.html#17453" class="Function">Hom[L′-,-]≃Hom[L-,-]</a> <a id="17586" class="Symbol">=</a> <a id="17588" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="17593" href="Categories.Adjoint.Properties.html#17112" class="Bound">D</a> <a id="17595" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="17602" href="Categories.NaturalTransformation.NaturalIsomorphism.html#4354" class="Function Operator">ⓘˡ</a> <a id="17605" class="Symbol">(</a><a id="17606" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1266" class="Function">NaturalIsomorphism.op</a> <a id="17628" href="Categories.Adjoint.Properties.html#17199" class="Bound">L≃L′</a> <a id="17633" href="Categories.Category.Product.html#3445" class="Function Operator">⁂ⁿⁱ</a> <a id="17637" href="Relation.Binary.Structures.html#1577" class="Function">≃.refl</a><a id="17643" class="Symbol">)</a>
|
||
<a id="17655" href="Categories.Adjoint.Properties.html#17655" class="Function">Hom[-,R-]≃Hom[-,R′-]</a> <a id="17676" class="Symbol">:</a> <a id="17678" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="17683" href="Categories.Adjoint.Properties.html#17110" class="Bound">C</a> <a id="17685" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="17692" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="17695" class="Symbol">(</a><a id="17696" href="Categories.Adjoint.Properties.html#755" class="Function">idF</a> <a id="17700" href="Categories.Category.Product.html#1962" class="Function Operator">⁂</a> <a id="17702" href="Categories.Adjoint.Properties.html#17116" class="Bound">R</a><a id="17703" class="Symbol">)</a> <a id="17705" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">≃</a> <a id="17707" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="17712" href="Categories.Adjoint.Properties.html#17110" class="Bound">C</a> <a id="17714" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="17721" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="17724" class="Symbol">(</a><a id="17725" href="Categories.Adjoint.Properties.html#755" class="Function">idF</a> <a id="17729" href="Categories.Category.Product.html#1962" class="Function Operator">⁂</a> <a id="17731" href="Categories.Adjoint.Properties.html#17118" class="Bound">R′</a><a id="17733" class="Symbol">)</a>
|
||
<a id="17745" href="Categories.Adjoint.Properties.html#17655" class="Function">Hom[-,R-]≃Hom[-,R′-]</a> <a id="17766" class="Symbol">=</a> <a id="17768" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="17773" href="Categories.Adjoint.Properties.html#17110" class="Bound">C</a> <a id="17775" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="17782" href="Categories.NaturalTransformation.NaturalIsomorphism.html#4354" class="Function Operator">ⓘˡ</a> <a id="17785" class="Symbol">(</a><a id="17786" href="Relation.Binary.Structures.html#1577" class="Function">≃.refl</a> <a id="17793" href="Categories.Category.Product.html#3445" class="Function Operator">⁂ⁿⁱ</a> <a id="17797" href="Categories.Adjoint.Properties.html#17204" class="Bound">R≃R′</a><a id="17801" class="Symbol">)</a>
|
||
</pre></body></html> |