mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
269 lines
No EOL
149 KiB
HTML
269 lines
No EOL
149 KiB
HTML
<!DOCTYPE HTML>
|
||
<html><head><meta charset="utf-8"><title>Categories.Monad.Strong.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">open</a> <a id="42" class="Keyword">import</a> <a id="49" href="Categories.Category.html" class="Module">Categories.Category</a> <a id="69" class="Keyword">using</a> <a id="75" class="Symbol">(</a><a id="76" href="Categories.Category.Core.html#442" class="Record">Category</a><a id="84" class="Symbol">;</a> <a id="86" class="Keyword">module</a> <a id="93" href="Categories.Category.html#1298" class="Module">Commutation</a><a id="104" class="Symbol">)</a>
|
||
|
||
<a id="107" class="Keyword">module</a> <a id="114" href="Categories.Monad.Strong.Properties.html" class="Module">Categories.Monad.Strong.Properties</a> <a id="149" class="Symbol">{</a><a id="150" href="Categories.Monad.Strong.Properties.html#150" class="Bound">o</a> <a id="152" href="Categories.Monad.Strong.Properties.html#152" class="Bound">ℓ</a> <a id="154" href="Categories.Monad.Strong.Properties.html#154" class="Bound">e</a><a id="155" class="Symbol">}</a> <a id="157" class="Symbol">{</a><a id="158" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a> <a id="160" class="Symbol">:</a> <a id="162" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="171" href="Categories.Monad.Strong.Properties.html#150" class="Bound">o</a> <a id="173" href="Categories.Monad.Strong.Properties.html#152" class="Bound">ℓ</a> <a id="175" href="Categories.Monad.Strong.Properties.html#154" class="Bound">e</a><a id="176" class="Symbol">}</a> <a id="178" class="Keyword">where</a>
|
||
|
||
<a id="185" class="Keyword">open</a> <a id="190" class="Keyword">import</a> <a id="197" href="Level.html" class="Module">Level</a>
|
||
<a id="203" class="Keyword">open</a> <a id="208" class="Keyword">import</a> <a id="215" href="Data.Product.html" class="Module">Data.Product</a> <a id="228" class="Keyword">using</a> <a id="234" class="Symbol">(</a><a id="235" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="238" class="Symbol">;</a> <a id="240" href="Data.Product.Base.html#1618" class="Function Operator">_×_</a><a id="243" class="Symbol">)</a>
|
||
|
||
<a id="246" class="Keyword">import</a> <a id="253" href="Categories.Category.Construction.Core.html" class="Module">Categories.Category.Construction.Core</a> <a id="291" class="Symbol">as</a> <a id="294" class="Module">Core</a>
|
||
<a id="299" class="Keyword">open</a> <a id="304" class="Keyword">import</a> <a id="311" href="Categories.Category.Product.html" class="Module">Categories.Category.Product</a>
|
||
<a id="339" class="Keyword">open</a> <a id="344" class="Keyword">import</a> <a id="351" href="Categories.Functor.html" class="Module">Categories.Functor</a> <a id="370" class="Keyword">renaming</a> <a id="379" class="Symbol">(</a><a id="380" href="Categories.Functor.html#349" class="Function">id</a> <a id="383" class="Symbol">to</a> <a id="386" class="Function">idF</a><a id="389" class="Symbol">)</a>
|
||
<a id="391" class="Keyword">open</a> <a id="396" class="Keyword">import</a> <a id="403" href="Categories.Category.Monoidal.html" class="Module">Categories.Category.Monoidal</a> <a id="432" class="Keyword">using</a> <a id="438" class="Symbol">(</a><a id="439" href="Categories.Category.Monoidal.Core.html#1287" class="Record">Monoidal</a><a id="447" class="Symbol">)</a>
|
||
<a id="449" class="Keyword">open</a> <a id="454" class="Keyword">import</a> <a id="461" href="Categories.Category.Monoidal.Braided.html" class="Module">Categories.Category.Monoidal.Braided</a> <a id="498" class="Keyword">using</a> <a id="504" class="Symbol">(</a><a id="505" href="Categories.Category.Monoidal.Braided.html#643" class="Record">Braided</a><a id="512" class="Symbol">)</a>
|
||
<a id="514" class="Keyword">open</a> <a id="519" class="Keyword">import</a> <a id="526" href="Categories.Category.Monoidal.Construction.Reverse.html" class="Module">Categories.Category.Monoidal.Construction.Reverse</a>
|
||
<a id="578" class="Keyword">using</a> <a id="584" class="Symbol">(</a><a id="585" href="Categories.Category.Monoidal.Construction.Reverse.html#1704" class="Function">Reverse-Monoidal</a><a id="601" class="Symbol">;</a> <a id="603" href="Categories.Category.Monoidal.Construction.Reverse.html#2599" class="Function">Reverse-Braided</a><a id="618" class="Symbol">)</a>
|
||
<a id="620" class="Keyword">import</a> <a id="627" href="Categories.Category.Monoidal.Braided.Properties.html" class="Module">Categories.Category.Monoidal.Braided.Properties</a> <a id="675" class="Symbol">as</a> <a id="678" class="Module">BraidedProps</a>
|
||
<a id="691" class="Keyword">import</a> <a id="698" href="Categories.Category.Monoidal.Reasoning.html" class="Module">Categories.Category.Monoidal.Reasoning</a> <a id="737" class="Symbol">as</a> <a id="740" class="Module">MonoidalReasoning</a>
|
||
<a id="758" class="Keyword">import</a> <a id="765" href="Categories.Category.Monoidal.Utilities.html" class="Module">Categories.Category.Monoidal.Utilities</a> <a id="804" class="Symbol">as</a> <a id="807" class="Module">MonoidalUtils</a>
|
||
<a id="821" class="Keyword">open</a> <a id="826" class="Keyword">import</a> <a id="833" href="Categories.Monad.html" class="Module">Categories.Monad</a> <a id="850" class="Keyword">using</a> <a id="856" class="Symbol">(</a><a id="857" href="Categories.Monad.html#454" class="Record">Monad</a><a id="862" class="Symbol">)</a>
|
||
<a id="864" class="Keyword">open</a> <a id="869" class="Keyword">import</a> <a id="876" href="Categories.Monad.Strong.html" class="Module">Categories.Monad.Strong</a> <a id="900" class="Keyword">using</a> <a id="906" class="Symbol">(</a><a id="907" href="Categories.Monad.Strong.html#764" class="Record">Strength</a><a id="915" class="Symbol">;</a> <a id="917" href="Categories.Monad.Strong.html#2046" class="Record">RightStrength</a><a id="930" class="Symbol">;</a> <a id="932" href="Categories.Monad.Strong.html#1832" class="Record">StrongMonad</a><a id="943" class="Symbol">;</a> <a id="945" href="Categories.Monad.Strong.html#3115" class="Record">RightStrongMonad</a><a id="961" class="Symbol">)</a>
|
||
<a id="963" class="Keyword">import</a> <a id="970" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="1000" class="Symbol">as</a> <a id="1003" class="Module">MR</a>
|
||
<a id="1006" class="Keyword">open</a> <a id="1011" class="Keyword">import</a> <a id="1018" href="Categories.NaturalTransformation.html" class="Module">Categories.NaturalTransformation</a> <a id="1051" class="Keyword">using</a> <a id="1057" class="Symbol">(</a><a id="1058" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a><a id="1079" class="Symbol">;</a> <a id="1081" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a><a id="1089" class="Symbol">)</a>
|
||
|
||
<a id="1092" class="Comment">-- A left strength is a right strength in the reversed category.</a>
|
||
|
||
<a id="rightInReversed"></a><a id="1158" href="Categories.Monad.Strong.Properties.html#1158" class="Function">rightInReversed</a> <a id="1174" class="Symbol">:</a> <a id="1176" class="Symbol">{</a><a id="1177" href="Categories.Monad.Strong.Properties.html#1177" class="Bound">V</a> <a id="1179" class="Symbol">:</a> <a id="1181" href="Categories.Category.Monoidal.Core.html#1287" class="Record">Monoidal</a> <a id="1190" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="1191" class="Symbol">}</a> <a id="1193" class="Symbol">{</a><a id="1194" href="Categories.Monad.Strong.Properties.html#1194" class="Bound">M</a> <a id="1196" class="Symbol">:</a> <a id="1198" href="Categories.Monad.html#454" class="Record">Monad</a> <a id="1204" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="1205" class="Symbol">}</a> <a id="1207" class="Symbol">→</a>
|
||
<a id="1227" href="Categories.Monad.Strong.html#764" class="Record">Strength</a> <a id="1236" href="Categories.Monad.Strong.Properties.html#1177" class="Bound">V</a> <a id="1238" href="Categories.Monad.Strong.Properties.html#1194" class="Bound">M</a> <a id="1240" class="Symbol">→</a> <a id="1242" href="Categories.Monad.Strong.html#2046" class="Record">RightStrength</a> <a id="1256" class="Symbol">(</a><a id="1257" href="Categories.Category.Monoidal.Construction.Reverse.html#1704" class="Function">Reverse-Monoidal</a> <a id="1274" href="Categories.Monad.Strong.Properties.html#1177" class="Bound">V</a><a id="1275" class="Symbol">)</a> <a id="1277" href="Categories.Monad.Strong.Properties.html#1194" class="Bound">M</a>
|
||
<a id="1279" href="Categories.Monad.Strong.Properties.html#1158" class="Function">rightInReversed</a> <a id="1295" href="Categories.Monad.Strong.Properties.html#1295" class="Bound">left</a> <a id="1300" class="Symbol">=</a> <a id="1302" class="Keyword">record</a>
|
||
<a id="1311" class="Symbol">{</a> <a id="1313" href="Categories.Monad.Strong.html#2347" class="Field">strengthen</a> <a id="1328" class="Symbol">=</a> <a id="1330" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="1339" class="Symbol">(</a><a id="1340" class="Keyword">record</a>
|
||
<a id="1351" class="Symbol">{</a> <a id="1353" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="1366" class="Symbol">=</a> <a id="1368" class="Symbol">λ{</a> <a id="1371" class="Symbol">(</a><a id="1372" href="Categories.Monad.Strong.Properties.html#1372" class="Bound">X</a> <a id="1374" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1376" href="Categories.Monad.Strong.Properties.html#1376" class="Bound">Y</a><a id="1377" class="Symbol">)</a> <a id="1379" class="Symbol">→</a> <a id="1381" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthen.η</a> <a id="1394" class="Symbol">(</a><a id="1395" href="Categories.Monad.Strong.Properties.html#1376" class="Bound">Y</a> <a id="1397" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1399" href="Categories.Monad.Strong.Properties.html#1372" class="Bound">X</a><a id="1400" class="Symbol">)</a> <a id="1408" class="Symbol">}</a>
|
||
<a id="1414" class="Symbol">;</a> <a id="1416" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="1429" class="Symbol">=</a> <a id="1431" class="Symbol">λ{</a> <a id="1434" class="Symbol">(</a><a id="1435" href="Categories.Monad.Strong.Properties.html#1435" class="Bound">f</a> <a id="1437" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1439" href="Categories.Monad.Strong.Properties.html#1439" class="Bound">g</a><a id="1440" class="Symbol">)</a> <a id="1442" class="Symbol">→</a> <a id="1444" href="Categories.NaturalTransformation.Core.html#827" class="Function">strengthen.commute</a> <a id="1463" class="Symbol">(</a><a id="1464" href="Categories.Monad.Strong.Properties.html#1439" class="Bound">g</a> <a id="1466" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1468" href="Categories.Monad.Strong.Properties.html#1435" class="Bound">f</a><a id="1469" class="Symbol">)</a> <a id="1471" class="Symbol">}</a>
|
||
<a id="1477" class="Symbol">})</a>
|
||
<a id="1482" class="Symbol">;</a> <a id="1484" href="Categories.Monad.Strong.html#2555" class="Field">identityˡ</a> <a id="1499" class="Symbol">=</a> <a id="1501" href="Categories.Monad.Strong.html#1268" class="Field">identityˡ</a>
|
||
<a id="1513" class="Symbol">;</a> <a id="1515" href="Categories.Monad.Strong.html#2670" class="Field">η-comm</a> <a id="1530" class="Symbol">=</a> <a id="1532" href="Categories.Monad.Strong.html#1383" class="Field">η-comm</a>
|
||
<a id="1541" class="Symbol">;</a> <a id="1543" href="Categories.Monad.Strong.html#2781" class="Field">μ-η-comm</a> <a id="1558" class="Symbol">=</a> <a id="1560" href="Categories.Monad.Strong.html#1494" class="Field">μ-η-comm</a>
|
||
<a id="1571" class="Symbol">;</a> <a id="1573" href="Categories.Monad.Strong.html#2974" class="Field">strength-assoc</a> <a id="1588" class="Symbol">=</a> <a id="1590" href="Categories.Monad.Strong.html#1687" class="Field">strength-assoc</a>
|
||
<a id="1607" class="Symbol">}</a>
|
||
<a id="1611" class="Keyword">where</a> <a id="1617" class="Keyword">open</a> <a id="1622" href="Categories.Monad.Strong.html#764" class="Module">Strength</a> <a id="1631" href="Categories.Monad.Strong.Properties.html#1295" class="Bound">left</a>
|
||
|
||
<a id="1637" class="Comment">-- A right strength is a left strength in the reversed category.</a>
|
||
|
||
<a id="leftInReversed"></a><a id="1703" href="Categories.Monad.Strong.Properties.html#1703" class="Function">leftInReversed</a> <a id="1718" class="Symbol">:</a> <a id="1720" class="Symbol">{</a><a id="1721" href="Categories.Monad.Strong.Properties.html#1721" class="Bound">V</a> <a id="1723" class="Symbol">:</a> <a id="1725" href="Categories.Category.Monoidal.Core.html#1287" class="Record">Monoidal</a> <a id="1734" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="1735" class="Symbol">}</a> <a id="1737" class="Symbol">{</a><a id="1738" href="Categories.Monad.Strong.Properties.html#1738" class="Bound">M</a> <a id="1740" class="Symbol">:</a> <a id="1742" href="Categories.Monad.html#454" class="Record">Monad</a> <a id="1748" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="1749" class="Symbol">}</a> <a id="1751" class="Symbol">→</a>
|
||
<a id="1770" href="Categories.Monad.Strong.html#2046" class="Record">RightStrength</a> <a id="1784" href="Categories.Monad.Strong.Properties.html#1721" class="Bound">V</a> <a id="1786" href="Categories.Monad.Strong.Properties.html#1738" class="Bound">M</a> <a id="1788" class="Symbol">→</a> <a id="1790" href="Categories.Monad.Strong.html#764" class="Record">Strength</a> <a id="1799" class="Symbol">(</a><a id="1800" href="Categories.Category.Monoidal.Construction.Reverse.html#1704" class="Function">Reverse-Monoidal</a> <a id="1817" href="Categories.Monad.Strong.Properties.html#1721" class="Bound">V</a><a id="1818" class="Symbol">)</a> <a id="1820" href="Categories.Monad.Strong.Properties.html#1738" class="Bound">M</a>
|
||
<a id="1822" href="Categories.Monad.Strong.Properties.html#1703" class="Function">leftInReversed</a> <a id="1837" href="Categories.Monad.Strong.Properties.html#1837" class="Bound">right</a> <a id="1843" class="Symbol">=</a> <a id="1845" class="Keyword">record</a>
|
||
<a id="1854" class="Symbol">{</a> <a id="1856" href="Categories.Monad.Strong.html#1060" class="Field">strengthen</a> <a id="1871" class="Symbol">=</a> <a id="1873" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="1882" class="Symbol">(</a><a id="1883" class="Keyword">record</a>
|
||
<a id="1894" class="Symbol">{</a> <a id="1896" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="1909" class="Symbol">=</a> <a id="1911" class="Symbol">λ{</a> <a id="1914" class="Symbol">(</a><a id="1915" href="Categories.Monad.Strong.Properties.html#1915" class="Bound">X</a> <a id="1917" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1919" href="Categories.Monad.Strong.Properties.html#1919" class="Bound">Y</a><a id="1920" class="Symbol">)</a> <a id="1922" class="Symbol">→</a> <a id="1924" href="Categories.NaturalTransformation.Core.html#783" class="Function">strengthen.η</a> <a id="1937" class="Symbol">(</a><a id="1938" href="Categories.Monad.Strong.Properties.html#1919" class="Bound">Y</a> <a id="1940" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1942" href="Categories.Monad.Strong.Properties.html#1915" class="Bound">X</a><a id="1943" class="Symbol">)</a> <a id="1951" class="Symbol">}</a>
|
||
<a id="1957" class="Symbol">;</a> <a id="1959" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="1972" class="Symbol">=</a> <a id="1974" class="Symbol">λ{</a> <a id="1977" class="Symbol">(</a><a id="1978" href="Categories.Monad.Strong.Properties.html#1978" class="Bound">f</a> <a id="1980" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1982" href="Categories.Monad.Strong.Properties.html#1982" class="Bound">g</a><a id="1983" class="Symbol">)</a> <a id="1985" class="Symbol">→</a> <a id="1987" href="Categories.NaturalTransformation.Core.html#827" class="Function">strengthen.commute</a> <a id="2006" class="Symbol">(</a><a id="2007" href="Categories.Monad.Strong.Properties.html#1982" class="Bound">g</a> <a id="2009" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="2011" href="Categories.Monad.Strong.Properties.html#1978" class="Bound">f</a><a id="2012" class="Symbol">)</a> <a id="2014" class="Symbol">}</a>
|
||
<a id="2020" class="Symbol">})</a>
|
||
<a id="2025" class="Symbol">;</a> <a id="2027" href="Categories.Monad.Strong.html#1268" class="Field">identityˡ</a> <a id="2042" class="Symbol">=</a> <a id="2044" href="Categories.Monad.Strong.html#2555" class="Field">identityˡ</a>
|
||
<a id="2056" class="Symbol">;</a> <a id="2058" href="Categories.Monad.Strong.html#1383" class="Field">η-comm</a> <a id="2073" class="Symbol">=</a> <a id="2075" href="Categories.Monad.Strong.html#2670" class="Field">η-comm</a>
|
||
<a id="2084" class="Symbol">;</a> <a id="2086" href="Categories.Monad.Strong.html#1494" class="Field">μ-η-comm</a> <a id="2101" class="Symbol">=</a> <a id="2103" href="Categories.Monad.Strong.html#2781" class="Field">μ-η-comm</a>
|
||
<a id="2114" class="Symbol">;</a> <a id="2116" href="Categories.Monad.Strong.html#1687" class="Field">strength-assoc</a> <a id="2131" class="Symbol">=</a> <a id="2133" href="Categories.Monad.Strong.html#2974" class="Field">strength-assoc</a>
|
||
<a id="2150" class="Symbol">}</a>
|
||
<a id="2154" class="Keyword">where</a> <a id="2160" class="Keyword">open</a> <a id="2165" href="Categories.Monad.Strong.html#2046" class="Module">RightStrength</a> <a id="2179" href="Categories.Monad.Strong.Properties.html#1837" class="Bound">right</a>
|
||
|
||
<a id="2186" class="Keyword">open</a> <a id="2191" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="2200" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a> <a id="2202" class="Keyword">hiding</a> <a id="2209" class="Symbol">(</a><a id="2210" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a><a id="2219" class="Symbol">)</a>
|
||
<a id="2221" class="Keyword">open</a> <a id="2226" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="2229" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a>
|
||
<a id="2231" class="Keyword">open</a> <a id="2236" href="Categories.Category.html#1298" class="Module">Commutation</a> <a id="2248" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a>
|
||
|
||
<a id="2251" class="Keyword">module</a> <a id="Left"></a><a id="2258" href="Categories.Monad.Strong.Properties.html#2258" class="Module">Left</a> <a id="2263" class="Symbol">{</a><a id="2264" href="Categories.Monad.Strong.Properties.html#2264" class="Bound">V</a> <a id="2266" class="Symbol">:</a> <a id="2268" href="Categories.Category.Monoidal.Core.html#1287" class="Record">Monoidal</a> <a id="2277" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="2278" class="Symbol">}</a> <a id="2280" class="Symbol">{</a><a id="2281" href="Categories.Monad.Strong.Properties.html#2281" class="Bound">M</a> <a id="2283" class="Symbol">:</a> <a id="2285" href="Categories.Monad.html#454" class="Record">Monad</a> <a id="2291" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="2292" class="Symbol">}</a> <a id="2294" class="Symbol">(</a><a id="2295" href="Categories.Monad.Strong.Properties.html#2295" class="Bound">left</a> <a id="2300" class="Symbol">:</a> <a id="2302" href="Categories.Monad.Strong.html#764" class="Record">Strength</a> <a id="2311" href="Categories.Monad.Strong.Properties.html#2264" class="Bound">V</a> <a id="2313" href="Categories.Monad.Strong.Properties.html#2281" class="Bound">M</a><a id="2314" class="Symbol">)</a> <a id="2316" class="Keyword">where</a>
|
||
<a id="2324" class="Keyword">open</a> <a id="2329" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="2338" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a> <a id="2340" class="Keyword">using</a> <a id="2346" class="Symbol">(</a><a id="2347" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a><a id="2356" class="Symbol">)</a>
|
||
<a id="2360" class="Keyword">open</a> <a id="2365" href="Categories.Category.Monoidal.Core.html#1287" class="Module">Monoidal</a> <a id="2374" href="Categories.Monad.Strong.Properties.html#2264" class="Bound">V</a> <a id="2376" class="Keyword">using</a> <a id="2382" class="Symbol">(</a><a id="2383" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">_⊗₀_</a><a id="2387" class="Symbol">)</a>
|
||
<a id="2391" class="Keyword">open</a> <a id="2396" href="Categories.Category.Monoidal.Utilities.html" class="Module">MonoidalUtils</a> <a id="2410" href="Categories.Monad.Strong.Properties.html#2264" class="Bound">V</a> <a id="2412" class="Keyword">using</a> <a id="2418" class="Symbol">(</a><a id="2419" href="Categories.Category.Monoidal.Utilities.html#3689" class="Function Operator">_⊗ᵢ_</a><a id="2423" class="Symbol">)</a>
|
||
<a id="2427" class="Keyword">open</a> <a id="2432" href="Categories.Category.Construction.Core.html#1314" class="Module">Core.Shorthands</a> <a id="2448" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a> <a id="2462" class="Comment">-- for idᵢ, _∘ᵢ_, ...</a>
|
||
<a id="2486" class="Keyword">open</a> <a id="2491" href="Categories.Category.Monoidal.Utilities.html#1438" class="Module">MonoidalUtils.Shorthands</a> <a id="2516" href="Categories.Monad.Strong.Properties.html#2264" class="Bound">V</a> <a id="2521" class="Comment">-- for λ⇒, ρ⇒, α⇒, ...</a>
|
||
<a id="2546" class="Keyword">open</a> <a id="2551" href="Categories.Category.Monoidal.Reasoning.html" class="Module">MonoidalReasoning</a> <a id="2569" href="Categories.Monad.Strong.Properties.html#2264" class="Bound">V</a>
|
||
<a id="2573" class="Keyword">open</a> <a id="2578" href="Categories.Monad.html#454" class="Module">Monad</a> <a id="2584" href="Categories.Monad.Strong.Properties.html#2281" class="Bound">M</a> <a id="2586" class="Keyword">using</a> <a id="2592" class="Symbol">(</a><a id="2593" href="Categories.Monad.html#525" class="Field">F</a><a id="2594" class="Symbol">;</a> <a id="2596" href="Categories.Monad.html#583" class="Field">μ</a><a id="2597" class="Symbol">;</a> <a id="2599" href="Categories.Monad.html#547" class="Field">η</a><a id="2600" class="Symbol">)</a>
|
||
|
||
<a id="2605" class="Keyword">private</a>
|
||
<a id="2617" class="Keyword">module</a> <a id="Left.left"></a><a id="2624" href="Categories.Monad.Strong.Properties.html#2624" class="Module">left</a> <a id="2629" class="Symbol">=</a> <a id="2631" href="Categories.Monad.Strong.html#764" class="Module">Strength</a> <a id="2640" href="Categories.Monad.Strong.Properties.html#2295" class="Bound">left</a>
|
||
<a id="2649" class="Keyword">variable</a>
|
||
<a id="2664" href="Categories.Monad.Strong.Properties.html#2664" class="Generalizable">X</a> <a id="2666" href="Categories.Monad.Strong.Properties.html#2666" class="Generalizable">Y</a> <a id="2668" href="Categories.Monad.Strong.Properties.html#2668" class="Generalizable">Z</a> <a id="2670" href="Categories.Monad.Strong.Properties.html#2670" class="Generalizable">W</a> <a id="2672" class="Symbol">:</a> <a id="2674" href="Categories.Category.Core.html#559" class="Field">Obj</a>
|
||
|
||
<a id="2681" class="Keyword">module</a> <a id="Left.Shorthands"></a><a id="2688" href="Categories.Monad.Strong.Properties.html#2688" class="Module">Shorthands</a> <a id="2699" class="Keyword">where</a>
|
||
<a id="2709" class="Keyword">module</a> <a id="Left.Shorthands.σ"></a><a id="2716" href="Categories.Monad.Strong.Properties.html#2716" class="Module">σ</a> <a id="2718" class="Symbol">=</a> <a id="2720" href="Categories.Monad.Strong.html#1131" class="Module">left.strengthen</a>
|
||
|
||
<a id="Left.Shorthands.σ"></a><a id="2741" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="2743" class="Symbol">:</a> <a id="2745" class="Symbol">∀</a> <a id="2747" class="Symbol">{</a><a id="2748" href="Categories.Monad.Strong.Properties.html#2748" class="Bound">X</a> <a id="2750" href="Categories.Monad.Strong.Properties.html#2750" class="Bound">Y</a><a id="2751" class="Symbol">}</a> <a id="2753" class="Symbol">→</a> <a id="2755" href="Categories.Monad.Strong.Properties.html#2748" class="Bound">X</a> <a id="2757" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="2760" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="2764" href="Categories.Monad.Strong.Properties.html#2750" class="Bound">Y</a> <a id="2766" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="2768" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="2772" class="Symbol">(</a><a id="2773" href="Categories.Monad.Strong.Properties.html#2748" class="Bound">X</a> <a id="2775" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="2778" href="Categories.Monad.Strong.Properties.html#2750" class="Bound">Y</a><a id="2779" class="Symbol">)</a>
|
||
<a id="2785" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="2787" class="Symbol">{</a><a id="2788" href="Categories.Monad.Strong.Properties.html#2788" class="Bound">X</a><a id="2789" class="Symbol">}</a> <a id="2791" class="Symbol">{</a><a id="2792" href="Categories.Monad.Strong.Properties.html#2792" class="Bound">Y</a><a id="2793" class="Symbol">}</a> <a id="2795" class="Symbol">=</a> <a id="2797" href="Categories.NaturalTransformation.Core.html#783" class="Function">σ.η</a> <a id="2801" class="Symbol">(</a><a id="2802" href="Categories.Monad.Strong.Properties.html#2788" class="Bound">X</a> <a id="2804" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="2806" href="Categories.Monad.Strong.Properties.html#2792" class="Bound">Y</a><a id="2807" class="Symbol">)</a>
|
||
|
||
<a id="2812" class="Keyword">open</a> <a id="2817" href="Categories.Monad.Strong.Properties.html#2688" class="Module">Shorthands</a>
|
||
|
||
<a id="2831" class="Comment">-- In a braided monoidal category, a left strength induces a right strength.</a>
|
||
|
||
<a id="2911" class="Keyword">module</a> <a id="2918" href="Categories.Monad.Strong.Properties.html#2918" class="Module">_</a> <a id="2920" class="Symbol">(</a><a id="2921" href="Categories.Monad.Strong.Properties.html#2921" class="Bound">BV</a> <a id="2924" class="Symbol">:</a> <a id="2926" href="Categories.Category.Monoidal.Braided.html#643" class="Record">Braided</a> <a id="2934" href="Categories.Monad.Strong.Properties.html#2264" class="Bound">V</a><a id="2935" class="Symbol">)</a> <a id="2937" class="Keyword">where</a>
|
||
<a id="2947" class="Keyword">open</a> <a id="2952" href="Categories.Category.Monoidal.Braided.html#643" class="Module">Braided</a> <a id="2960" href="Categories.Monad.Strong.Properties.html#2921" class="Bound">BV</a> <a id="2963" class="Keyword">hiding</a> <a id="2970" class="Symbol">(</a><a id="2971" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">_⊗₀_</a><a id="2975" class="Symbol">)</a>
|
||
<a id="2981" class="Keyword">open</a> <a id="2986" href="Categories.Category.Monoidal.Braided.Properties.html" class="Module">BraidedProps</a> <a id="2999" href="Categories.Monad.Strong.Properties.html#2921" class="Bound">BV</a> <a id="3002" class="Keyword">using</a> <a id="3008" class="Symbol">(</a><a id="3009" href="Categories.Category.Monoidal.Braided.Properties.html#3838" class="Function">braiding-coherence</a><a id="3027" class="Symbol">;</a> <a id="3029" href="Categories.Category.Monoidal.Braided.Properties.html#5616" class="Function">inv-braiding-coherence</a><a id="3051" class="Symbol">;</a> <a id="3053" href="Categories.Category.Monoidal.Braided.Properties.html#5944" class="Function">assoc-reverse</a><a id="3066" class="Symbol">)</a>
|
||
<a id="3072" class="Keyword">open</a> <a id="3077" href="Categories.Category.Monoidal.Braided.Properties.html#1156" class="Module">BraidedProps.Shorthands</a> <a id="3101" href="Categories.Monad.Strong.Properties.html#2921" class="Bound">BV</a> <a id="3104" class="Keyword">renaming</a> <a id="3113" class="Symbol">(</a><a id="3114" href="Categories.Category.Monoidal.Braided.Properties.html#1316" class="Function">σ</a> <a id="3116" class="Symbol">to</a> <a id="3119" class="Function">B</a><a id="3120" class="Symbol">;</a> <a id="3122" href="Categories.Category.Monoidal.Braided.Properties.html#1176" class="Function">σ⇒</a> <a id="3125" class="Symbol">to</a> <a id="3128" class="Function">B⇒</a><a id="3130" class="Symbol">;</a> <a id="3132" href="Categories.Category.Monoidal.Braided.Properties.html#1246" class="Function">σ⇐</a> <a id="3135" class="Symbol">to</a> <a id="3138" class="Function">B⇐</a><a id="3140" class="Symbol">)</a>
|
||
|
||
<a id="3147" class="Keyword">private</a>
|
||
<a id="3161" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="3163" class="Symbol">:</a> <a id="3165" class="Symbol">∀</a> <a id="3167" class="Symbol">{</a><a id="3168" href="Categories.Monad.Strong.Properties.html#3168" class="Bound">X</a> <a id="3170" href="Categories.Monad.Strong.Properties.html#3170" class="Bound">Y</a><a id="3171" class="Symbol">}</a> <a id="3173" class="Symbol">→</a> <a id="3175" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="3179" href="Categories.Monad.Strong.Properties.html#3168" class="Bound">X</a> <a id="3181" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="3184" href="Categories.Monad.Strong.Properties.html#3170" class="Bound">Y</a> <a id="3186" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="3188" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="3192" class="Symbol">(</a><a id="3193" href="Categories.Monad.Strong.Properties.html#3168" class="Bound">X</a> <a id="3195" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="3198" href="Categories.Monad.Strong.Properties.html#3170" class="Bound">Y</a><a id="3199" class="Symbol">)</a>
|
||
<a id="3207" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="3209" class="Symbol">{</a><a id="3210" href="Categories.Monad.Strong.Properties.html#3210" class="Bound">X</a><a id="3211" class="Symbol">}</a> <a id="3213" class="Symbol">{</a><a id="3214" href="Categories.Monad.Strong.Properties.html#3214" class="Bound">Y</a><a id="3215" class="Symbol">}</a> <a id="3217" class="Symbol">=</a> <a id="3219" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3223" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="3226" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3228" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="3230" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3232" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a>
|
||
|
||
<a id="3242" href="Categories.Monad.Strong.Properties.html#3242" class="Function">τ-commute</a> <a id="3252" class="Symbol">:</a> <a id="3254" class="Symbol">(</a><a id="3255" href="Categories.Monad.Strong.Properties.html#3255" class="Bound">f</a> <a id="3257" class="Symbol">:</a> <a id="3259" href="Categories.Monad.Strong.Properties.html#2664" class="Generalizable">X</a> <a id="3261" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="3263" href="Categories.Monad.Strong.Properties.html#2668" class="Generalizable">Z</a><a id="3264" class="Symbol">)</a> <a id="3266" class="Symbol">(</a><a id="3267" href="Categories.Monad.Strong.Properties.html#3267" class="Bound">g</a> <a id="3269" class="Symbol">:</a> <a id="3271" href="Categories.Monad.Strong.Properties.html#2666" class="Generalizable">Y</a> <a id="3273" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="3275" href="Categories.Monad.Strong.Properties.html#2670" class="Generalizable">W</a><a id="3276" class="Symbol">)</a> <a id="3278" class="Symbol">→</a> <a id="3280" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="3282" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3284" class="Symbol">(</a><a id="3285" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3289" href="Categories.Monad.Strong.Properties.html#3255" class="Bound">f</a> <a id="3291" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="3294" href="Categories.Monad.Strong.Properties.html#3267" class="Bound">g</a><a id="3295" class="Symbol">)</a> <a id="3297" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="3299" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3303" class="Symbol">(</a><a id="3304" href="Categories.Monad.Strong.Properties.html#3255" class="Bound">f</a> <a id="3306" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="3309" href="Categories.Monad.Strong.Properties.html#3267" class="Bound">g</a><a id="3310" class="Symbol">)</a> <a id="3312" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3314" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a>
|
||
<a id="3322" href="Categories.Monad.Strong.Properties.html#3242" class="Function">τ-commute</a> <a id="3332" href="Categories.Monad.Strong.Properties.html#3332" class="Bound">f</a> <a id="3334" href="Categories.Monad.Strong.Properties.html#3334" class="Bound">g</a> <a id="3336" class="Symbol">=</a> <a id="3338" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="3352" class="Symbol">(</a><a id="3353" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3357" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="3360" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3362" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="3364" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3366" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a><a id="3368" class="Symbol">)</a> <a id="3370" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3372" class="Symbol">(</a><a id="3373" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3377" href="Categories.Monad.Strong.Properties.html#3332" class="Bound">f</a> <a id="3379" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="3382" href="Categories.Monad.Strong.Properties.html#3334" class="Bound">g</a><a id="3383" class="Symbol">)</a> <a id="3387" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3390" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="3396" class="Symbol">(</a><a id="3397" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="3403" class="Symbol">(</a><a id="3404" href="Categories.NaturalTransformation.Core.html#827" class="Function">braiding.⇒.commute</a> <a id="3423" class="Symbol">(</a><a id="3424" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3428" href="Categories.Monad.Strong.Properties.html#3332" class="Bound">f</a> <a id="3430" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3432" href="Categories.Monad.Strong.Properties.html#3334" class="Bound">g</a><a id="3433" class="Symbol">)))</a> <a id="3437" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="3447" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3451" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="3454" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3456" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="3458" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3460" class="Symbol">((</a><a id="3462" href="Categories.Monad.Strong.Properties.html#3334" class="Bound">g</a> <a id="3464" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="3467" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3471" href="Categories.Monad.Strong.Properties.html#3332" class="Bound">f</a><a id="3472" class="Symbol">)</a> <a id="3474" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3476" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a><a id="3478" class="Symbol">)</a> <a id="3482" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3485" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="3493" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="3499" class="Symbol">(</a><a id="3500" href="Categories.NaturalTransformation.Core.html#827" class="Function">σ.commute</a> <a id="3510" class="Symbol">(</a><a id="3511" href="Categories.Monad.Strong.Properties.html#3334" class="Bound">g</a> <a id="3513" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3515" href="Categories.Monad.Strong.Properties.html#3332" class="Bound">f</a><a id="3516" class="Symbol">))</a> <a id="3519" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="3529" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3533" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="3536" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3538" class="Symbol">(</a><a id="3539" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3543" class="Symbol">(</a><a id="3544" href="Categories.Monad.Strong.Properties.html#3334" class="Bound">g</a> <a id="3546" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="3549" href="Categories.Monad.Strong.Properties.html#3332" class="Bound">f</a><a id="3550" class="Symbol">)</a> <a id="3552" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3554" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a><a id="3555" class="Symbol">)</a> <a id="3557" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3559" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="3564" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="3568" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="3574" class="Symbol">(</a><a id="3575" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="3581" class="Symbol">(</a><a id="3582" href="Categories.Functor.Core.html#565" class="Function">F.homomorphism</a><a id="3596" class="Symbol">))</a> <a id="3599" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="3609" class="Symbol">(</a><a id="3610" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3614" class="Symbol">(</a><a id="3615" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="3618" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3620" class="Symbol">(</a><a id="3621" href="Categories.Monad.Strong.Properties.html#3334" class="Bound">g</a> <a id="3623" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="3626" href="Categories.Monad.Strong.Properties.html#3332" class="Bound">f</a><a id="3627" class="Symbol">))</a> <a id="3630" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3632" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a><a id="3633" class="Symbol">)</a> <a id="3635" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3637" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="3644" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3647" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="3653" class="Symbol">(</a><a id="3654" href="Categories.Functor.Core.html#696" class="Function">F.F-resp-≈</a> <a id="3665" class="Symbol">(</a><a id="3666" href="Categories.NaturalTransformation.Core.html#827" class="Function">braiding.⇐.commute</a> <a id="3685" class="Symbol">(</a><a id="3686" href="Categories.Monad.Strong.Properties.html#3332" class="Bound">f</a> <a id="3688" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3690" href="Categories.Monad.Strong.Properties.html#3334" class="Bound">g</a><a id="3691" class="Symbol">))</a> <a id="3694" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a><a id="3701" class="Symbol">)</a> <a id="3703" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="3713" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3717" class="Symbol">((</a><a id="3719" href="Categories.Monad.Strong.Properties.html#3332" class="Bound">f</a> <a id="3721" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="3724" href="Categories.Monad.Strong.Properties.html#3334" class="Bound">g</a><a id="3725" class="Symbol">)</a> <a id="3727" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3729" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="3731" class="Symbol">)</a> <a id="3733" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3735" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="3737" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3739" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="3748" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3751" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="3757" href="Categories.Functor.Core.html#565" class="Function">F.homomorphism</a> <a id="3772" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="3782" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3786" class="Symbol">(</a><a id="3787" href="Categories.Monad.Strong.Properties.html#3332" class="Bound">f</a> <a id="3789" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="3792" href="Categories.Monad.Strong.Properties.html#3334" class="Bound">g</a><a id="3793" class="Symbol">)</a> <a id="3795" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3797" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="3801" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="3804" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3806" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="3808" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3810" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="3817" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
|
||
<a id="3824" href="Categories.Monad.Strong.Properties.html#3824" class="Function">right-strengthen</a> <a id="3841" class="Symbol">:</a> <a id="3843" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="3865" class="Symbol">(</a><a id="3866" href="Categories.Category.Monoidal.Core.html#1355" class="Function">⊗</a> <a id="3868" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3871" class="Symbol">(</a><a id="3872" href="Categories.Monad.html#525" class="Function">F</a> <a id="3874" href="Categories.Category.Product.html#1962" class="Function Operator">⁂</a> <a id="3876" href="Categories.Monad.Strong.Properties.html#386" class="Function">idF</a><a id="3879" class="Symbol">))</a> <a id="3882" class="Symbol">(</a><a id="3883" href="Categories.Monad.html#525" class="Function">F</a> <a id="3885" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3888" href="Categories.Category.Monoidal.Core.html#1355" class="Function">⊗</a><a id="3889" class="Symbol">)</a>
|
||
<a id="3895" href="Categories.Monad.Strong.Properties.html#3824" class="Function">right-strengthen</a> <a id="3912" class="Symbol">=</a> <a id="3914" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="3923" class="Symbol">(</a><a id="3924" class="Keyword">record</a>
|
||
<a id="3937" class="Symbol">{</a> <a id="3939" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="3941" class="Symbol">=</a> <a id="3943" class="Symbol">λ</a> <a id="3945" href="Categories.Monad.Strong.Properties.html#3945" class="Bound">_</a> <a id="3947" class="Symbol">→</a> <a id="3949" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a>
|
||
<a id="3957" class="Symbol">;</a> <a id="3959" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="3967" class="Symbol">=</a> <a id="3969" class="Symbol">λ</a> <a id="3971" class="Symbol">(</a><a id="3972" href="Categories.Monad.Strong.Properties.html#3972" class="Bound">f</a> <a id="3974" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3976" href="Categories.Monad.Strong.Properties.html#3976" class="Bound">g</a><a id="3977" class="Symbol">)</a> <a id="3979" class="Symbol">→</a> <a id="3981" href="Categories.Monad.Strong.Properties.html#3242" class="Function">τ-commute</a> <a id="3991" href="Categories.Monad.Strong.Properties.html#3972" class="Bound">f</a> <a id="3993" href="Categories.Monad.Strong.Properties.html#3976" class="Bound">g</a>
|
||
<a id="4001" class="Symbol">})</a>
|
||
|
||
<a id="4009" class="Keyword">private</a> <a id="4017" class="Keyword">module</a> <a id="4024" href="Categories.Monad.Strong.Properties.html#4024" class="Module">τ</a> <a id="4026" class="Symbol">=</a> <a id="4028" href="Categories.NaturalTransformation.Core.html#466" class="Module">NaturalTransformation</a> <a id="4050" href="Categories.Monad.Strong.Properties.html#3824" class="Function">right-strengthen</a>
|
||
|
||
<a id="4072" class="Comment">-- The strengths commute with braiding.</a>
|
||
|
||
<a id="4117" href="Categories.Monad.Strong.Properties.html#4117" class="Function">left-right-braiding-comm</a> <a id="4142" class="Symbol">:</a> <a id="4144" class="Symbol">∀</a> <a id="4146" class="Symbol">{</a><a id="4147" href="Categories.Monad.Strong.Properties.html#4147" class="Bound">X</a> <a id="4149" href="Categories.Monad.Strong.Properties.html#4149" class="Bound">Y</a><a id="4150" class="Symbol">}</a> <a id="4152" class="Symbol">→</a> <a id="4154" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4158" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="4161" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4163" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="4165" class="Symbol">{</a><a id="4166" href="Categories.Monad.Strong.Properties.html#4147" class="Bound">X</a><a id="4167" class="Symbol">}</a> <a id="4169" class="Symbol">{</a><a id="4170" href="Categories.Monad.Strong.Properties.html#4149" class="Bound">Y</a><a id="4171" class="Symbol">}</a> <a id="4173" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="4175" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="4177" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4179" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a>
|
||
<a id="4186" href="Categories.Monad.Strong.Properties.html#4117" class="Function">left-right-braiding-comm</a> <a id="4211" class="Symbol">=</a> <a id="4213" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="4225" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4229" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="4232" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4234" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="4250" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="4254" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="4260" class="Symbol">(</a><a id="4261" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="4269" class="Symbol">(</a><a id="4270" href="Categories.Morphism.html#1612" class="Function">braiding.iso.isoʳ</a> <a id="4288" class="Symbol">_))</a> <a id="4292" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="4300" class="Symbol">(</a><a id="4301" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4305" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="4308" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4310" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="4312" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4314" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a><a id="4316" class="Symbol">)</a> <a id="4318" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4320" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="4325" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
|
||
<a id="4332" href="Categories.Monad.Strong.Properties.html#4332" class="Function">right-left-braiding-comm</a> <a id="4357" class="Symbol">:</a> <a id="4359" class="Symbol">∀</a> <a id="4361" class="Symbol">{</a><a id="4362" href="Categories.Monad.Strong.Properties.html#4362" class="Bound">X</a> <a id="4364" href="Categories.Monad.Strong.Properties.html#4364" class="Bound">Y</a><a id="4365" class="Symbol">}</a> <a id="4367" class="Symbol">→</a> <a id="4369" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4373" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="4376" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4378" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="4380" class="Symbol">{</a><a id="4381" href="Categories.Monad.Strong.Properties.html#4362" class="Bound">X</a><a id="4382" class="Symbol">}</a> <a id="4384" class="Symbol">{</a><a id="4385" href="Categories.Monad.Strong.Properties.html#4364" class="Bound">Y</a><a id="4386" class="Symbol">}</a> <a id="4388" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="4390" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="4392" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4394" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a>
|
||
<a id="4401" href="Categories.Monad.Strong.Properties.html#4332" class="Function">right-left-braiding-comm</a> <a id="4426" class="Symbol">=</a> <a id="4428" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="4440" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4444" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="4447" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4449" class="Symbol">(</a><a id="4450" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4454" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="4457" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4459" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="4461" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4463" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a><a id="4465" class="Symbol">)</a> <a id="4469" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="4473" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="4479" href="Categories.Functor.Core.html#565" class="Function">F.homomorphism</a> <a id="4494" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="4502" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4506" class="Symbol">(</a><a id="4507" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="4510" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4512" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="4514" class="Symbol">)</a> <a id="4516" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4518" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="4520" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4522" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="4531" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4534" href="Categories.Functor.Core.html#696" class="Function">F.F-resp-≈</a> <a id="4545" class="Symbol">(</a><a id="4546" href="Categories.Morphism.html#1612" class="Function">braiding.iso.isoʳ</a> <a id="4564" class="Symbol">_)</a> <a id="4567" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="4575" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4583" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4587" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4590" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4592" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="4594" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4596" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="4612" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4615" href="Categories.Morphism.Reasoning.Core.html#2948" class="Function">elimˡ</a> <a id="4621" href="Categories.Functor.Core.html#511" class="Function">F.identity</a> <a id="4632" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4640" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="4642" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4644" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="4669" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
|
||
<a id="4676" href="Categories.Monad.Strong.Properties.html#4676" class="Function">right-identityˡ</a> <a id="4692" class="Symbol">:</a> <a id="4694" class="Symbol">∀</a> <a id="4696" class="Symbol">{</a><a id="4697" href="Categories.Monad.Strong.Properties.html#4697" class="Bound">X</a><a id="4698" class="Symbol">}</a> <a id="4700" class="Symbol">→</a> <a id="4702" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4706" href="Categories.Category.Monoidal.Utilities.html#1496" class="Function">ρ⇒</a> <a id="4709" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4711" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="4713" class="Symbol">{</a><a id="4714" href="Categories.Monad.Strong.Properties.html#4697" class="Bound">X</a><a id="4715" class="Symbol">}</a> <a id="4717" class="Symbol">{</a><a id="4718" href="Categories.Category.Monoidal.Core.html#1380" class="Function">unit</a><a id="4722" class="Symbol">}</a> <a id="4724" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="4726" href="Categories.Category.Monoidal.Utilities.html#1496" class="Function">ρ⇒</a>
|
||
<a id="4733" href="Categories.Monad.Strong.Properties.html#4676" class="Function">right-identityˡ</a> <a id="4749" class="Symbol">=</a> <a id="4751" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="4763" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4767" href="Categories.Category.Monoidal.Utilities.html#1496" class="Function">ρ⇒</a> <a id="4770" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4772" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4776" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="4779" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4781" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="4783" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4785" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="4789" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4792" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4798" class="Symbol">(</a><a id="4799" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="4801" href="Categories.Functor.Core.html#565" class="Function">F.homomorphism</a><a id="4815" class="Symbol">)</a> <a id="4817" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4825" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4829" class="Symbol">(</a><a id="4830" href="Categories.Category.Monoidal.Utilities.html#1496" class="Function">ρ⇒</a> <a id="4833" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4835" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="4837" class="Symbol">)</a> <a id="4839" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4841" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="4843" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4845" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="4851" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4854" href="Categories.Functor.Core.html#696" class="Function">F.F-resp-≈</a> <a id="4865" class="Symbol">(</a><a id="4866" href="Categories.Category.Monoidal.Braided.Properties.html#5616" class="Function">inv-braiding-coherence</a><a id="4888" class="Symbol">)</a> <a id="4890" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="4898" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4906" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4910" href="Categories.Category.Monoidal.Utilities.html#1458" class="Function">λ⇒</a> <a id="4913" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4915" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="4917" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4919" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="4932" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4935" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4941" href="Categories.Monad.Strong.html#1268" class="Field">left.identityˡ</a> <a id="4956" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4964" href="Categories.Category.Monoidal.Utilities.html#1458" class="Function">λ⇒</a> <a id="4967" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4969" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="4990" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4993" href="Categories.Category.Monoidal.Braided.Properties.html#3838" class="Function">braiding-coherence</a> <a id="5012" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="5020" href="Categories.Category.Monoidal.Utilities.html#1496" class="Function">ρ⇒</a> <a id="5046" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
|
||
<a id="5053" class="Comment">-- The induced right strength commutes with the monad unit.</a>
|
||
|
||
<a id="5118" href="Categories.Monad.Strong.Properties.html#5118" class="Function">right-η-comm</a> <a id="5131" class="Symbol">:</a> <a id="5133" class="Symbol">∀</a> <a id="5135" class="Symbol">{</a><a id="5136" href="Categories.Monad.Strong.Properties.html#5136" class="Bound">X</a> <a id="5138" href="Categories.Monad.Strong.Properties.html#5138" class="Bound">Y</a><a id="5139" class="Symbol">}</a> <a id="5141" class="Symbol">→</a> <a id="5143" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="5145" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5147" href="Categories.NaturalTransformation.Core.html#783" class="Function">η.η</a> <a id="5151" href="Categories.Monad.Strong.Properties.html#5136" class="Bound">X</a> <a id="5153" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="5156" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="5159" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="5161" href="Categories.NaturalTransformation.Core.html#783" class="Function">η.η</a> <a id="5165" class="Symbol">(</a><a id="5166" href="Categories.Monad.Strong.Properties.html#5136" class="Bound">X</a> <a id="5168" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="5171" href="Categories.Monad.Strong.Properties.html#5138" class="Bound">Y</a><a id="5172" class="Symbol">)</a>
|
||
<a id="5178" href="Categories.Monad.Strong.Properties.html#5118" class="Function">right-η-comm</a> <a id="5191" class="Symbol">{</a><a id="5192" href="Categories.Monad.Strong.Properties.html#5192" class="Bound">X</a><a id="5193" class="Symbol">}</a> <a id="5195" class="Symbol">{</a><a id="5196" href="Categories.Monad.Strong.Properties.html#5196" class="Bound">Y</a><a id="5197" class="Symbol">}</a> <a id="5199" class="Symbol">=</a> <a id="5201" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="5213" class="Symbol">(</a><a id="5214" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="5218" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="5221" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5223" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="5225" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5227" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a><a id="5229" class="Symbol">)</a> <a id="5231" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5233" class="Symbol">(</a><a id="5234" href="Categories.NaturalTransformation.Core.html#783" class="Function">η.η</a> <a id="5238" href="Categories.Monad.Strong.Properties.html#5192" class="Bound">X</a> <a id="5240" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="5243" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5245" class="Symbol">)</a> <a id="5248" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5251" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5257" class="Symbol">(</a><a id="5258" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5264" class="Symbol">(</a><a id="5265" href="Categories.NaturalTransformation.Core.html#827" class="Function">braiding.⇒.commute</a> <a id="5284" class="Symbol">(</a><a id="5285" href="Categories.NaturalTransformation.Core.html#783" class="Function">η.η</a> <a id="5289" href="Categories.Monad.Strong.Properties.html#5192" class="Bound">X</a> <a id="5291" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5293" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5295" class="Symbol">)))</a> <a id="5299" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="5307" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="5311" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="5314" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5316" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="5318" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5320" class="Symbol">(</a><a id="5321" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="5324" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="5327" href="Categories.NaturalTransformation.Core.html#783" class="Function">η.η</a> <a id="5331" href="Categories.Monad.Strong.Properties.html#5192" class="Bound">X</a><a id="5332" class="Symbol">)</a> <a id="5334" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5336" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="5340" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5343" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="5351" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="5357" href="Categories.Monad.Strong.html#1383" class="Field">left.η-comm</a> <a id="5369" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="5377" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="5381" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="5384" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5386" href="Categories.NaturalTransformation.Core.html#783" class="Function">η.η</a> <a id="5390" class="Symbol">(</a><a id="5391" href="Categories.Monad.Strong.Properties.html#5196" class="Bound">Y</a> <a id="5393" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="5396" href="Categories.Monad.Strong.Properties.html#5192" class="Bound">X</a><a id="5397" class="Symbol">)</a> <a id="5399" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5401" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="5410" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5413" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="5419" class="Symbol">(</a><a id="5420" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="5422" class="Symbol">(</a><a id="5423" href="Categories.NaturalTransformation.Core.html#827" class="Function">η.commute</a> <a id="5433" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="5435" class="Symbol">))</a> <a id="5438" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="5446" class="Symbol">(</a><a id="5447" href="Categories.NaturalTransformation.Core.html#783" class="Function">η.η</a> <a id="5451" class="Symbol">(</a><a id="5452" href="Categories.Monad.Strong.Properties.html#5192" class="Bound">X</a> <a id="5454" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="5457" href="Categories.Monad.Strong.Properties.html#5196" class="Bound">Y</a><a id="5458" class="Symbol">)</a> <a id="5460" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5462" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="5464" class="Symbol">)</a> <a id="5466" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5468" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="5479" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5482" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="5490" class="Symbol">(</a><a id="5491" href="Categories.Morphism.html#1586" class="Function">braiding.iso.isoˡ</a> <a id="5509" class="Symbol">_)</a> <a id="5512" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="5520" href="Categories.NaturalTransformation.Core.html#783" class="Function">η.η</a> <a id="5524" class="Symbol">(</a><a id="5525" href="Categories.Monad.Strong.Properties.html#5192" class="Bound">X</a> <a id="5527" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="5530" href="Categories.Monad.Strong.Properties.html#5196" class="Bound">Y</a><a id="5531" class="Symbol">)</a> <a id="5553" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
|
||
<a id="5560" class="Comment">-- The induced right strength commutes with the monad multiplication.</a>
|
||
|
||
<a id="5635" href="Categories.Monad.Strong.Properties.html#5635" class="Function">right-μ-η-comm</a> <a id="5650" class="Symbol">:</a> <a id="5652" class="Symbol">∀</a> <a id="5654" class="Symbol">{</a><a id="5655" href="Categories.Monad.Strong.Properties.html#5655" class="Bound">X</a> <a id="5657" href="Categories.Monad.Strong.Properties.html#5657" class="Bound">Y</a><a id="5658" class="Symbol">}</a> <a id="5660" class="Symbol">→</a> <a id="5662" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ.η</a> <a id="5666" class="Symbol">(</a><a id="5667" href="Categories.Monad.Strong.Properties.html#5655" class="Bound">X</a> <a id="5669" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="5672" href="Categories.Monad.Strong.Properties.html#5657" class="Bound">Y</a><a id="5673" class="Symbol">)</a> <a id="5675" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5677" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="5681" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="5683" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5685" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="5687" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="5689" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="5691" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5693" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ.η</a> <a id="5697" href="Categories.Monad.Strong.Properties.html#5655" class="Bound">X</a> <a id="5699" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="5702" href="Categories.Category.Core.html#630" class="Field">id</a>
|
||
<a id="5709" href="Categories.Monad.Strong.Properties.html#5635" class="Function">right-μ-η-comm</a> <a id="5724" class="Symbol">{</a><a id="5725" href="Categories.Monad.Strong.Properties.html#5725" class="Bound">X</a><a id="5726" class="Symbol">}</a> <a id="5728" class="Symbol">{</a><a id="5729" href="Categories.Monad.Strong.Properties.html#5729" class="Bound">Y</a><a id="5730" class="Symbol">}</a> <a id="5732" class="Symbol">=</a> <a id="5734" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="5746" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ.η</a> <a id="5750" class="Symbol">(</a><a id="5751" href="Categories.Monad.Strong.Properties.html#5725" class="Bound">X</a> <a id="5753" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="5756" href="Categories.Monad.Strong.Properties.html#5729" class="Bound">Y</a><a id="5757" class="Symbol">)</a> <a id="5759" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5761" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="5765" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="5767" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5769" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="5773" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="5776" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5778" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="5780" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5782" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="5795" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5798" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="5806" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="5812" class="Symbol">(</a><a id="5813" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="5815" href="Categories.Functor.Core.html#565" class="Function">F.homomorphism</a><a id="5829" class="Symbol">)</a> <a id="5831" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="5839" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ.η</a> <a id="5843" class="Symbol">(</a><a id="5844" href="Categories.Monad.Strong.Properties.html#5725" class="Bound">X</a> <a id="5846" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="5849" href="Categories.Monad.Strong.Properties.html#5729" class="Bound">Y</a><a id="5850" class="Symbol">)</a> <a id="5852" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5854" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="5858" class="Symbol">(</a><a id="5859" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="5861" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5863" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="5865" class="Symbol">)</a> <a id="5867" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5869" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="5871" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5873" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="5888" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5891" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="5899" class="Symbol">(</a><a id="5900" href="Categories.Functor.Core.html#696" class="Function">F.F-resp-≈</a> <a id="5911" class="Symbol">(</a><a id="5912" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5918" class="Symbol">(</a><a id="5919" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="5927" class="Symbol">(</a><a id="5928" href="Categories.Morphism.html#1612" class="Function">braiding.iso.isoʳ</a> <a id="5946" class="Symbol">_)))</a> <a id="5951" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a><a id="5958" class="Symbol">)</a> <a id="5960" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="5968" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ.η</a> <a id="5972" class="Symbol">(</a><a id="5973" href="Categories.Monad.Strong.Properties.html#5725" class="Bound">X</a> <a id="5975" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="5978" href="Categories.Monad.Strong.Properties.html#5729" class="Bound">Y</a><a id="5979" class="Symbol">)</a> <a id="5981" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5983" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="5987" class="Symbol">(</a><a id="5988" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="5992" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="5995" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5997" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a><a id="5998" class="Symbol">)</a> <a id="6000" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6002" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="6004" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6006" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="6017" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6020" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="6028" href="Categories.Functor.Core.html#565" class="Function">F.homomorphism</a> <a id="6043" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="6051" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="6059" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ.η</a> <a id="6063" class="Symbol">(</a><a id="6064" href="Categories.Monad.Strong.Properties.html#5725" class="Bound">X</a> <a id="6066" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6069" href="Categories.Monad.Strong.Properties.html#5729" class="Bound">Y</a><a id="6070" class="Symbol">)</a> <a id="6072" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6074" class="Symbol">(</a><a id="6075" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="6079" class="Symbol">(</a><a id="6080" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="6084" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="6086" class="Symbol">)</a> <a id="6088" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6090" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="6094" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a><a id="6095" class="Symbol">)</a> <a id="6097" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6099" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="6101" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6103" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="6108" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6111" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="6117" class="Symbol">(</a><a id="6118" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="6124" class="Symbol">(</a><a id="6125" href="Categories.NaturalTransformation.Core.html#827" class="Function">μ.commute</a> <a id="6135" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="6137" class="Symbol">))</a> <a id="6140" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="6148" class="Symbol">((</a><a id="6150" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="6154" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="6157" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6159" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ.η</a> <a id="6163" class="Symbol">(</a><a id="6164" href="Categories.Monad.Strong.Properties.html#5729" class="Bound">Y</a> <a id="6166" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6169" href="Categories.Monad.Strong.Properties.html#5725" class="Bound">X</a><a id="6170" class="Symbol">))</a> <a id="6173" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6175" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="6179" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a><a id="6180" class="Symbol">)</a> <a id="6182" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6184" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="6186" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6188" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="6197" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6200" href="Categories.Morphism.Reasoning.Core.html#1466" class="Function">assoc²</a> <a id="6207" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="6209" class="Symbol">(</a><a id="6210" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="6218" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="6220" href="Categories.Morphism.Reasoning.Core.html#1551" class="Function">assoc²'</a><a id="6227" class="Symbol">)</a> <a id="6229" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="6237" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="6241" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="6244" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6246" class="Symbol">(</a><a id="6247" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ.η</a> <a id="6251" class="Symbol">(</a><a id="6252" href="Categories.Monad.Strong.Properties.html#5729" class="Bound">Y</a> <a id="6254" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6257" href="Categories.Monad.Strong.Properties.html#5725" class="Bound">X</a><a id="6258" class="Symbol">)</a> <a id="6260" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6262" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="6266" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="6268" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6270" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a><a id="6271" class="Symbol">)</a> <a id="6273" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6275" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="6286" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6289" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="6297" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="6303" href="Categories.Monad.Strong.html#1494" class="Field">left.μ-η-comm</a> <a id="6317" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="6325" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="6329" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="6332" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6334" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="6336" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6338" class="Symbol">(</a><a id="6339" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="6342" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="6345" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ.η</a> <a id="6349" href="Categories.Monad.Strong.Properties.html#5725" class="Bound">X</a><a id="6350" class="Symbol">)</a> <a id="6352" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6354" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="6374" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="6378" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="6384" class="Symbol">(</a><a id="6385" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="6391" class="Symbol">(</a><a id="6392" href="Categories.NaturalTransformation.Core.html#827" class="Function">braiding.⇒.commute</a> <a id="6411" class="Symbol">(</a><a id="6412" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ.η</a> <a id="6416" href="Categories.Monad.Strong.Properties.html#5725" class="Bound">X</a> <a id="6418" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6420" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6422" class="Symbol">)))</a> <a id="6426" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="6434" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="6436" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6438" href="Categories.NaturalTransformation.Core.html#783" class="Function">μ.η</a> <a id="6442" href="Categories.Monad.Strong.Properties.html#5725" class="Bound">X</a> <a id="6444" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="6447" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="6450" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
|
||
<a id="6457" class="Comment">-- The induced right strength commutes with the associator</a>
|
||
|
||
<a id="6521" href="Categories.Monad.Strong.Properties.html#6521" class="Function">right-strength-assoc</a> <a id="6542" class="Symbol">:</a> <a id="6544" href="Categories.Category.html#1379" class="Function Operator">[</a> <a id="6546" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6550" href="Categories.Monad.Strong.Properties.html#2664" class="Generalizable">X</a> <a id="6552" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6555" class="Symbol">(</a><a id="6556" href="Categories.Monad.Strong.Properties.html#2666" class="Generalizable">Y</a> <a id="6558" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6561" href="Categories.Monad.Strong.Properties.html#2668" class="Generalizable">Z</a><a id="6562" class="Symbol">)</a> <a id="6565" href="Categories.Category.html#1379" class="Function Operator">⇒</a> <a id="6568" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6572" class="Symbol">((</a><a id="6574" href="Categories.Monad.Strong.Properties.html#2664" class="Generalizable">X</a> <a id="6576" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6579" href="Categories.Monad.Strong.Properties.html#2666" class="Generalizable">Y</a><a id="6580" class="Symbol">)</a> <a id="6582" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6585" href="Categories.Monad.Strong.Properties.html#2668" class="Generalizable">Z</a><a id="6586" class="Symbol">)</a> <a id="6588" href="Categories.Category.html#1379" class="Function Operator">]⟨</a>
|
||
<a id="6620" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="6639" href="Categories.Category.html#1481" class="Function">⇒⟨</a> <a id="6642" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6646" class="Symbol">(</a><a id="6647" href="Categories.Monad.Strong.Properties.html#2664" class="Generalizable">X</a> <a id="6649" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6652" class="Symbol">(</a><a id="6653" href="Categories.Monad.Strong.Properties.html#2666" class="Generalizable">Y</a> <a id="6655" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6658" href="Categories.Monad.Strong.Properties.html#2668" class="Generalizable">Z</a><a id="6659" class="Symbol">))</a> <a id="6662" href="Categories.Category.html#1481" class="Function">⟩</a>
|
||
<a id="6693" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="6697" href="Categories.Category.Monoidal.Utilities.html#1647" class="Function">α⇐</a>
|
||
<a id="6727" href="Categories.Category.html#1379" class="Function Operator">≈</a> <a id="6729" href="Categories.Category.Monoidal.Utilities.html#1647" class="Function">α⇐</a> <a id="6748" href="Categories.Category.html#1481" class="Function">⇒⟨</a> <a id="6751" class="Symbol">(</a><a id="6752" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6756" href="Categories.Monad.Strong.Properties.html#2664" class="Generalizable">X</a> <a id="6758" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6761" href="Categories.Monad.Strong.Properties.html#2666" class="Generalizable">Y</a><a id="6762" class="Symbol">)</a> <a id="6764" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6767" href="Categories.Monad.Strong.Properties.html#2668" class="Generalizable">Z</a> <a id="6769" href="Categories.Category.html#1481" class="Function">⟩</a>
|
||
<a id="6800" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="6802" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="6805" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="6819" href="Categories.Category.html#1481" class="Function">⇒⟨</a> <a id="6822" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6826" class="Symbol">(</a><a id="6827" href="Categories.Monad.Strong.Properties.html#2664" class="Generalizable">X</a> <a id="6829" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6832" href="Categories.Monad.Strong.Properties.html#2666" class="Generalizable">Y</a><a id="6833" class="Symbol">)</a> <a id="6835" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="6838" href="Categories.Monad.Strong.Properties.html#2668" class="Generalizable">Z</a> <a id="6840" href="Categories.Category.html#1481" class="Function">⟩</a>
|
||
<a id="6871" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a>
|
||
<a id="6900" href="Categories.Category.html#1379" class="Function Operator">⟩</a>
|
||
<a id="6906" href="Categories.Monad.Strong.Properties.html#6521" class="Function">right-strength-assoc</a> <a id="6927" class="Symbol">=</a> <a id="6929" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="6943" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="6947" href="Categories.Category.Monoidal.Utilities.html#1647" class="Function">α⇐</a> <a id="6950" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6952" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a>
|
||
<a id="6960" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="6964" href="Categories.Functor.Core.html#696" class="Function">F.F-resp-≈</a> <a id="6975" href="Categories.Category.Monoidal.Braided.Properties.html#5944" class="Function">assoc-reverse</a> <a id="6989" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="6997" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="7007" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7011" class="Symbol">(</a><a id="7012" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="7015" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7017" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7020" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7023" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="7026" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7028" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="7031" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7033" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="7036" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7038" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7041" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7044" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a><a id="7046" class="Symbol">)</a> <a id="7048" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7050" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a>
|
||
<a id="7058" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7061" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="7067" href="Categories.Functor.Core.html#565" class="Function">F.homomorphism</a> <a id="7082" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="7092" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7096" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="7099" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7101" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7105" class="Symbol">(</a><a id="7106" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7109" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7112" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="7115" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7117" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="7120" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7122" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="7125" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7127" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7130" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7133" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a><a id="7135" class="Symbol">)</a> <a id="7137" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7139" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a>
|
||
<a id="7147" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7150" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7158" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="7164" href="Categories.Functor.Core.html#565" class="Function">F.homomorphism</a> <a id="7179" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="7189" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7193" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="7196" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7198" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7202" class="Symbol">(</a><a id="7203" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7206" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7209" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="7211" class="Symbol">)</a> <a id="7213" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7215" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7219" class="Symbol">(</a><a id="7220" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="7223" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7225" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="7228" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7230" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7233" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7236" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a><a id="7238" class="Symbol">)</a> <a id="7240" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7242" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a>
|
||
<a id="7250" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7253" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7261" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7269" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="7275" href="Categories.Functor.Core.html#565" class="Function">F.homomorphism</a> <a id="7290" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="7300" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7304" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="7307" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7309" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7313" class="Symbol">(</a><a id="7314" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7317" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7320" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="7322" class="Symbol">)</a> <a id="7324" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7326" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7330" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="7333" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7335" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7339" class="Symbol">(</a><a id="7340" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="7343" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7345" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7348" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7351" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a><a id="7353" class="Symbol">)</a> <a id="7355" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7357" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a>
|
||
<a id="7365" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7368" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7376" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7384" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7392" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="7398" href="Categories.Functor.Core.html#565" class="Function">F.homomorphism</a> <a id="7413" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="7423" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7427" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="7430" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7432" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7436" class="Symbol">(</a><a id="7437" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7440" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7443" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="7445" class="Symbol">)</a> <a id="7447" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7449" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7453" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="7456" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7458" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7462" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="7465" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7467" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7471" class="Symbol">(</a><a id="7472" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7475" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7478" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a><a id="7480" class="Symbol">)</a> <a id="7482" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7484" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a>
|
||
<a id="7492" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="7496" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7504" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7512" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7520" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7528" href="Categories.NaturalTransformation.Core.html#827" class="Function">τ.commute</a> <a id="7538" class="Symbol">(</a><a id="7539" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7542" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="7544" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a><a id="7546" class="Symbol">)</a> <a id="7548" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="7558" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7562" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="7565" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7567" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7571" class="Symbol">(</a><a id="7572" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7575" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7578" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="7580" class="Symbol">)</a> <a id="7582" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7584" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7588" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="7591" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7593" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7597" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="7600" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7602" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="7604" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7606" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7610" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7613" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7616" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a>
|
||
<a id="7625" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7628" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7636" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7644" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7652" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="7660" href="Categories.Monad.Strong.Properties.html#4332" class="Function">right-left-braiding-comm</a> <a id="7685" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="7695" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7699" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="7702" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7704" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7708" class="Symbol">(</a><a id="7709" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7712" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7715" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="7717" class="Symbol">)</a> <a id="7719" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7721" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7725" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="7728" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7730" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="7732" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7734" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="7737" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7739" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7743" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7746" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7749" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a>
|
||
<a id="7758" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7761" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7769" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7777" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="7785" href="Categories.Monad.Strong.html#1687" class="Field">left.strength-assoc</a> <a id="7805" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="7815" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7819" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="7822" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7824" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7828" class="Symbol">(</a><a id="7829" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7832" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7835" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="7837" class="Symbol">)</a> <a id="7839" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7841" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="7843" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7845" class="Symbol">(</a><a id="7846" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7849" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7852" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="7854" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7856" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a><a id="7858" class="Symbol">)</a> <a id="7860" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7862" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="7865" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7867" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7871" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7874" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7877" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a>
|
||
<a id="7886" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7889" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7897" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7905" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7913" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="7919" class="Symbol">(</a><a id="7920" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7928" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7936" href="Categories.Functor.Core.html#511" class="Function">F.identity</a> <a id="7947" href="Categories.Category.Monoidal.Reasoning.html#911" class="Function Operator">⟩⊗⟨refl</a><a id="7954" class="Symbol">)</a> <a id="7956" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="7966" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7970" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="7973" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7975" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="7979" class="Symbol">(</a><a id="7980" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7983" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="7986" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="7988" class="Symbol">)</a> <a id="7990" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7992" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="7994" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7996" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7999" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8002" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="8004" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8006" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="8009" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8011" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="8014" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8016" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8019" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8022" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a>
|
||
<a id="8031" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="8035" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="8043" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="8051" class="Symbol">(</a><a id="8052" href="Categories.NaturalTransformation.Core.html#827" class="Function">σ.commute</a> <a id="8062" class="Symbol">(</a><a id="8063" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8066" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="8068" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a><a id="8070" class="Symbol">))</a> <a id="8073" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="8083" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="8087" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="8090" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8092" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="8094" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8096" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8099" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8102" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="8106" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="8109" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8111" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8114" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8117" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="8119" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8121" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="8124" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8126" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="8129" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8131" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8134" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8137" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a>
|
||
<a id="8146" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8149" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="8157" href="Categories.Monad.Strong.Properties.html#4117" class="Function">left-right-braiding-comm</a> <a id="8182" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8192" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="8194" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8196" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="8199" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8201" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8204" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8207" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="8211" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="8214" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8216" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8219" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8222" href="Categories.Monad.Strong.Properties.html#2741" class="Function">σ</a> <a id="8224" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8226" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="8229" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8231" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="8234" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8236" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8239" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8242" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a>
|
||
<a id="8251" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8254" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="8262" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="8270" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="8278" class="Symbol">(</a><a id="8279" href="Categories.Category.Monoidal.Reasoning.html#1412" class="Function">parallel</a> <a id="8288" href="Relation.Binary.Structures.html#1596" class="Function">Equiv.refl</a> <a id="8299" href="Categories.Monad.Strong.Properties.html#4117" class="Function">left-right-braiding-comm</a><a id="8323" class="Symbol">)</a> <a id="8325" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8335" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="8337" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8339" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="8342" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8344" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8347" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8350" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="8352" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8354" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8357" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8360" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="8363" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8365" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="8368" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8370" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="8373" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8375" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8378" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8381" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a>
|
||
<a id="8390" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8393" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="8401" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="8409" class="Symbol">(</a><a id="8410" href="Categories.NaturalTransformation.Core.html#827" class="Function">braiding.⇐.commute</a> <a id="8429" class="Symbol">(</a><a id="8430" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="8432" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="8434" href="Categories.Category.Core.html#630" class="Field">id</a><a id="8436" class="Symbol">))</a> <a id="8439" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8449" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="8451" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8453" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="8455" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8458" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8461" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8463" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="8466" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8468" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8471" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8474" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="8477" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8479" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="8482" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8484" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="8487" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8489" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8492" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8495" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a>
|
||
<a id="8504" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8507" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="8515" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="8523" href="Relation.Binary.Structures.html#1596" class="Function">Equiv.refl</a> <a id="8534" href="Categories.Category.Core.html#2634" class="Function Operator">⟩∘⟨</a> <a id="8538" class="Symbol">(</a><a id="8539" href="Categories.Category.Monoidal.Reasoning.html#850" class="Function Operator">refl⟩⊗⟨</a> <a id="8547" href="Relation.Binary.Structures.html#1596" class="Function">Equiv.refl</a><a id="8557" class="Symbol">)</a> <a id="8559" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="8567" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8577" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="8579" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8581" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="8583" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8586" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8589" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8591" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="8594" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8596" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8599" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8602" href="Categories.Monad.Strong.Properties.html#3138" class="Function">B⇐</a> <a id="8605" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8607" href="Categories.Category.Monoidal.Utilities.html#1596" class="Function">α⇒</a> <a id="8610" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8612" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a> <a id="8615" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8617" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8620" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8623" href="Categories.Monad.Strong.Properties.html#3128" class="Function">B⇒</a>
|
||
<a id="8632" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8635" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="8643" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="8651" href="Categories.Category.Monoidal.Braided.Properties.html#5944" class="Function">assoc-reverse</a> <a id="8665" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8675" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="8677" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8679" href="Categories.Monad.Strong.Properties.html#3161" class="Function">τ</a> <a id="8681" href="Categories.Category.Monoidal.Core.html#1536" class="Function Operator">⊗₁</a> <a id="8684" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8687" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8689" href="Categories.Category.Monoidal.Utilities.html#1647" class="Function">α⇐</a>
|
||
<a id="8698" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
|
||
<a id="8705" class="Comment">-- The induced right strength</a>
|
||
|
||
<a id="8740" href="Categories.Monad.Strong.Properties.html#8740" class="Function">right</a> <a id="8746" class="Symbol">:</a> <a id="8748" href="Categories.Monad.Strong.html#2046" class="Record">RightStrength</a> <a id="8762" href="Categories.Monad.Strong.Properties.html#2264" class="Bound">V</a> <a id="8764" href="Categories.Monad.Strong.Properties.html#2281" class="Bound">M</a>
|
||
<a id="8770" href="Categories.Monad.Strong.Properties.html#8740" class="Function">right</a> <a id="8776" class="Symbol">=</a> <a id="8778" class="Keyword">record</a>
|
||
<a id="8791" class="Symbol">{</a> <a id="8793" href="Categories.Monad.Strong.html#2347" class="Field">strengthen</a> <a id="8808" class="Symbol">=</a> <a id="8810" href="Categories.Monad.Strong.Properties.html#3824" class="Function">right-strengthen</a>
|
||
<a id="8833" class="Symbol">;</a> <a id="8835" href="Categories.Monad.Strong.html#2555" class="Field">identityˡ</a> <a id="8850" class="Symbol">=</a> <a id="8852" href="Categories.Monad.Strong.Properties.html#4676" class="Function">right-identityˡ</a>
|
||
<a id="8874" class="Symbol">;</a> <a id="8876" href="Categories.Monad.Strong.html#2670" class="Field">η-comm</a> <a id="8891" class="Symbol">=</a> <a id="8893" href="Categories.Monad.Strong.Properties.html#5118" class="Function">right-η-comm</a>
|
||
<a id="8912" class="Symbol">;</a> <a id="8914" href="Categories.Monad.Strong.html#2781" class="Field">μ-η-comm</a> <a id="8929" class="Symbol">=</a> <a id="8931" href="Categories.Monad.Strong.Properties.html#5635" class="Function">right-μ-η-comm</a>
|
||
<a id="8952" class="Symbol">;</a> <a id="8954" href="Categories.Monad.Strong.html#2974" class="Field">strength-assoc</a> <a id="8969" class="Symbol">=</a> <a id="8971" href="Categories.Monad.Strong.Properties.html#6521" class="Function">right-strength-assoc</a>
|
||
<a id="8998" class="Symbol">}</a>
|
||
|
||
<a id="Strength⇒RightStrength"></a><a id="9001" href="Categories.Monad.Strong.Properties.html#9001" class="Function">Strength⇒RightStrength</a> <a id="9024" class="Symbol">:</a> <a id="9026" class="Symbol">{</a><a id="9027" href="Categories.Monad.Strong.Properties.html#9027" class="Bound">V</a> <a id="9029" class="Symbol">:</a> <a id="9031" href="Categories.Category.Monoidal.Core.html#1287" class="Record">Monoidal</a> <a id="9040" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="9041" class="Symbol">}</a> <a id="9043" class="Symbol">{</a><a id="9044" href="Categories.Monad.Strong.Properties.html#9044" class="Bound">M</a> <a id="9046" class="Symbol">:</a> <a id="9048" href="Categories.Monad.html#454" class="Record">Monad</a> <a id="9054" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="9055" class="Symbol">}</a> <a id="9057" class="Symbol">→</a>
|
||
<a id="9084" href="Categories.Category.Monoidal.Braided.html#643" class="Record">Braided</a> <a id="9092" href="Categories.Monad.Strong.Properties.html#9027" class="Bound">V</a> <a id="9094" class="Symbol">→</a> <a id="9096" href="Categories.Monad.Strong.html#764" class="Record">Strength</a> <a id="9105" href="Categories.Monad.Strong.Properties.html#9027" class="Bound">V</a> <a id="9107" href="Categories.Monad.Strong.Properties.html#9044" class="Bound">M</a> <a id="9109" class="Symbol">→</a> <a id="9111" href="Categories.Monad.Strong.html#2046" class="Record">RightStrength</a> <a id="9125" href="Categories.Monad.Strong.Properties.html#9027" class="Bound">V</a> <a id="9127" href="Categories.Monad.Strong.Properties.html#9044" class="Bound">M</a>
|
||
<a id="9129" href="Categories.Monad.Strong.Properties.html#9001" class="Function">Strength⇒RightStrength</a> <a id="9152" href="Categories.Monad.Strong.Properties.html#9152" class="Bound">BV</a> <a id="9155" href="Categories.Monad.Strong.Properties.html#9155" class="Bound">left</a> <a id="9160" class="Symbol">=</a> <a id="9162" href="Categories.Monad.Strong.Properties.html#8740" class="Function">Left.right</a> <a id="9173" href="Categories.Monad.Strong.Properties.html#9155" class="Bound">left</a> <a id="9178" href="Categories.Monad.Strong.Properties.html#9152" class="Bound">BV</a>
|
||
|
||
<a id="StrongMonad⇒RightStrongMonad"></a><a id="9182" href="Categories.Monad.Strong.Properties.html#9182" class="Function">StrongMonad⇒RightStrongMonad</a> <a id="9211" class="Symbol">:</a> <a id="9213" class="Symbol">{</a><a id="9214" href="Categories.Monad.Strong.Properties.html#9214" class="Bound">V</a> <a id="9216" class="Symbol">:</a> <a id="9218" href="Categories.Category.Monoidal.Core.html#1287" class="Record">Monoidal</a> <a id="9227" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="9228" class="Symbol">}</a> <a id="9230" class="Symbol">→</a>
|
||
<a id="9263" href="Categories.Category.Monoidal.Braided.html#643" class="Record">Braided</a> <a id="9271" href="Categories.Monad.Strong.Properties.html#9214" class="Bound">V</a> <a id="9273" class="Symbol">→</a> <a id="9275" href="Categories.Monad.Strong.html#1832" class="Record">StrongMonad</a> <a id="9287" href="Categories.Monad.Strong.Properties.html#9214" class="Bound">V</a> <a id="9289" class="Symbol">→</a> <a id="9291" href="Categories.Monad.Strong.html#3115" class="Record">RightStrongMonad</a> <a id="9308" href="Categories.Monad.Strong.Properties.html#9214" class="Bound">V</a>
|
||
<a id="9310" href="Categories.Monad.Strong.Properties.html#9182" class="Function">StrongMonad⇒RightStrongMonad</a> <a id="9339" href="Categories.Monad.Strong.Properties.html#9339" class="Bound">BV</a> <a id="9342" href="Categories.Monad.Strong.Properties.html#9342" class="Bound">SM</a> <a id="9345" class="Symbol">=</a> <a id="9347" class="Keyword">record</a>
|
||
<a id="9356" class="Symbol">{</a> <a id="9358" href="Categories.Monad.Strong.html#3206" class="Field">M</a> <a id="9372" class="Symbol">=</a> <a id="9374" href="Categories.Monad.Strong.html#1918" class="Field">M</a>
|
||
<a id="9378" class="Symbol">;</a> <a id="9380" href="Categories.Monad.Strong.html#3229" class="Field">rightStrength</a> <a id="9394" class="Symbol">=</a> <a id="9396" href="Categories.Monad.Strong.Properties.html#9001" class="Function">Strength⇒RightStrength</a> <a id="9419" href="Categories.Monad.Strong.Properties.html#9339" class="Bound">BV</a> <a id="9422" href="Categories.Monad.Strong.html#1941" class="Field">strength</a>
|
||
<a id="9433" class="Symbol">}</a>
|
||
<a id="9437" class="Keyword">where</a> <a id="9443" class="Keyword">open</a> <a id="9448" href="Categories.Monad.Strong.html#1832" class="Module">StrongMonad</a> <a id="9460" href="Categories.Monad.Strong.Properties.html#9342" class="Bound">SM</a>
|
||
|
||
<a id="9464" class="Keyword">module</a> <a id="Right"></a><a id="9471" href="Categories.Monad.Strong.Properties.html#9471" class="Module">Right</a> <a id="9477" class="Symbol">{</a><a id="9478" href="Categories.Monad.Strong.Properties.html#9478" class="Bound">V</a> <a id="9480" class="Symbol">:</a> <a id="9482" href="Categories.Category.Monoidal.Core.html#1287" class="Record">Monoidal</a> <a id="9491" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="9492" class="Symbol">}</a> <a id="9494" class="Symbol">{</a><a id="9495" href="Categories.Monad.Strong.Properties.html#9495" class="Bound">M</a> <a id="9497" class="Symbol">:</a> <a id="9499" href="Categories.Monad.html#454" class="Record">Monad</a> <a id="9505" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="9506" class="Symbol">}</a> <a id="9508" class="Symbol">(</a><a id="9509" href="Categories.Monad.Strong.Properties.html#9509" class="Bound">right</a> <a id="9515" class="Symbol">:</a> <a id="9517" href="Categories.Monad.Strong.html#2046" class="Record">RightStrength</a> <a id="9531" href="Categories.Monad.Strong.Properties.html#9478" class="Bound">V</a> <a id="9533" href="Categories.Monad.Strong.Properties.html#9495" class="Bound">M</a><a id="9534" class="Symbol">)</a> <a id="9536" class="Keyword">where</a>
|
||
<a id="9544" class="Keyword">open</a> <a id="9549" href="Categories.Category.Monoidal.Core.html#1287" class="Module">Monoidal</a> <a id="9558" href="Categories.Monad.Strong.Properties.html#9478" class="Bound">V</a> <a id="9560" class="Keyword">using</a> <a id="9566" class="Symbol">(</a><a id="9567" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">_⊗₀_</a><a id="9571" class="Symbol">)</a>
|
||
<a id="9575" class="Keyword">open</a> <a id="9580" href="Categories.Monad.html#454" class="Module">Monad</a> <a id="9586" href="Categories.Monad.Strong.Properties.html#9495" class="Bound">M</a> <a id="9588" class="Keyword">using</a> <a id="9594" class="Symbol">(</a><a id="9595" href="Categories.Monad.html#525" class="Field">F</a><a id="9596" class="Symbol">)</a>
|
||
|
||
<a id="9601" class="Keyword">module</a> <a id="Right.Shorthands"></a><a id="9608" href="Categories.Monad.Strong.Properties.html#9608" class="Module">Shorthands</a> <a id="9619" class="Keyword">where</a>
|
||
<a id="9629" class="Keyword">module</a> <a id="Right.Shorthands.τ"></a><a id="9636" href="Categories.Monad.Strong.Properties.html#9636" class="Module">τ</a> <a id="9638" class="Symbol">=</a> <a id="9640" href="Categories.Monad.Strong.html#2418" class="Module">RightStrength.strengthen</a> <a id="9665" href="Categories.Monad.Strong.Properties.html#9509" class="Bound">right</a>
|
||
|
||
<a id="Right.Shorthands.τ"></a><a id="9676" href="Categories.Monad.Strong.Properties.html#9676" class="Function">τ</a> <a id="9678" class="Symbol">:</a> <a id="9680" class="Symbol">∀</a> <a id="9682" class="Symbol">{</a><a id="9683" href="Categories.Monad.Strong.Properties.html#9683" class="Bound">X</a> <a id="9685" href="Categories.Monad.Strong.Properties.html#9685" class="Bound">Y</a><a id="9686" class="Symbol">}</a> <a id="9688" class="Symbol">→</a> <a id="9690" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="9694" href="Categories.Monad.Strong.Properties.html#9683" class="Bound">X</a> <a id="9696" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="9699" href="Categories.Monad.Strong.Properties.html#9685" class="Bound">Y</a> <a id="9701" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="9703" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="9707" class="Symbol">(</a><a id="9708" href="Categories.Monad.Strong.Properties.html#9683" class="Bound">X</a> <a id="9710" href="Categories.Category.Monoidal.Core.html#1435" class="Function Operator">⊗₀</a> <a id="9713" href="Categories.Monad.Strong.Properties.html#9685" class="Bound">Y</a><a id="9714" class="Symbol">)</a>
|
||
<a id="9720" href="Categories.Monad.Strong.Properties.html#9676" class="Function">τ</a> <a id="9722" class="Symbol">{</a><a id="9723" href="Categories.Monad.Strong.Properties.html#9723" class="Bound">X</a><a id="9724" class="Symbol">}</a> <a id="9726" class="Symbol">{</a><a id="9727" href="Categories.Monad.Strong.Properties.html#9727" class="Bound">Y</a><a id="9728" class="Symbol">}</a> <a id="9730" class="Symbol">=</a> <a id="9732" href="Categories.NaturalTransformation.Core.html#783" class="Function">τ.η</a> <a id="9736" class="Symbol">(</a><a id="9737" href="Categories.Monad.Strong.Properties.html#9723" class="Bound">X</a> <a id="9739" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="9741" href="Categories.Monad.Strong.Properties.html#9727" class="Bound">Y</a><a id="9742" class="Symbol">)</a>
|
||
|
||
<a id="9745" class="Comment">-- In a braided monoidal category, a right strength induces a left strength.</a>
|
||
|
||
<a id="RightStrength⇒Strength"></a><a id="9823" href="Categories.Monad.Strong.Properties.html#9823" class="Function">RightStrength⇒Strength</a> <a id="9846" class="Symbol">:</a> <a id="9848" class="Symbol">{</a><a id="9849" href="Categories.Monad.Strong.Properties.html#9849" class="Bound">V</a> <a id="9851" class="Symbol">:</a> <a id="9853" href="Categories.Category.Monoidal.Core.html#1287" class="Record">Monoidal</a> <a id="9862" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="9863" class="Symbol">}</a> <a id="9865" class="Symbol">{</a><a id="9866" href="Categories.Monad.Strong.Properties.html#9866" class="Bound">M</a> <a id="9868" class="Symbol">:</a> <a id="9870" href="Categories.Monad.html#454" class="Record">Monad</a> <a id="9876" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="9877" class="Symbol">}</a> <a id="9879" class="Symbol">→</a>
|
||
<a id="9906" href="Categories.Category.Monoidal.Braided.html#643" class="Record">Braided</a> <a id="9914" href="Categories.Monad.Strong.Properties.html#9849" class="Bound">V</a> <a id="9916" class="Symbol">→</a> <a id="9918" href="Categories.Monad.Strong.html#2046" class="Record">RightStrength</a> <a id="9932" href="Categories.Monad.Strong.Properties.html#9849" class="Bound">V</a> <a id="9934" href="Categories.Monad.Strong.Properties.html#9866" class="Bound">M</a> <a id="9936" class="Symbol">→</a> <a id="9938" href="Categories.Monad.Strong.html#764" class="Record">Strength</a> <a id="9947" href="Categories.Monad.Strong.Properties.html#9849" class="Bound">V</a> <a id="9949" href="Categories.Monad.Strong.Properties.html#9866" class="Bound">M</a>
|
||
<a id="9951" href="Categories.Monad.Strong.Properties.html#9823" class="Function">RightStrength⇒Strength</a> <a id="9974" class="Symbol">{</a><a id="9975" href="Categories.Monad.Strong.Properties.html#9975" class="Bound">V</a><a id="9976" class="Symbol">}</a> <a id="9978" class="Symbol">{</a><a id="9979" href="Categories.Monad.Strong.Properties.html#9979" class="Bound">M</a><a id="9980" class="Symbol">}</a> <a id="9982" href="Categories.Monad.Strong.Properties.html#9982" class="Bound">BV</a> <a id="9985" href="Categories.Monad.Strong.Properties.html#9985" class="Bound">right</a> <a id="9991" class="Symbol">=</a> <a id="9993" class="Keyword">record</a>
|
||
<a id="10002" class="Symbol">{</a> <a id="10004" href="Categories.Monad.Strong.html#1060" class="Field">strengthen</a> <a id="10019" class="Symbol">=</a> <a id="10021" href="Categories.Monad.Strong.html#1060" class="Function">strengthen</a>
|
||
<a id="10034" class="Symbol">;</a> <a id="10036" href="Categories.Monad.Strong.html#1268" class="Field">identityˡ</a> <a id="10051" class="Symbol">=</a> <a id="10053" href="Categories.Monad.Strong.html#1268" class="Function">identityˡ</a>
|
||
<a id="10065" class="Symbol">;</a> <a id="10067" href="Categories.Monad.Strong.html#1383" class="Field">η-comm</a> <a id="10082" class="Symbol">=</a> <a id="10084" href="Categories.Monad.Strong.html#1383" class="Function">η-comm</a>
|
||
<a id="10093" class="Symbol">;</a> <a id="10095" href="Categories.Monad.Strong.html#1494" class="Field">μ-η-comm</a> <a id="10110" class="Symbol">=</a> <a id="10112" href="Categories.Monad.Strong.html#1494" class="Function">μ-η-comm</a>
|
||
<a id="10123" class="Symbol">;</a> <a id="10125" href="Categories.Monad.Strong.html#1687" class="Field">strength-assoc</a> <a id="10140" class="Symbol">=</a> <a id="10142" href="Categories.Monad.Strong.html#1687" class="Function">strength-assoc</a>
|
||
<a id="10159" class="Symbol">}</a>
|
||
<a id="10163" class="Keyword">where</a>
|
||
<a id="10173" href="Categories.Monad.Strong.Properties.html#10173" class="Function">left₁</a> <a id="10179" class="Symbol">:</a> <a id="10181" href="Categories.Monad.Strong.html#764" class="Record">Strength</a> <a id="10190" class="Symbol">(</a><a id="10191" href="Categories.Category.Monoidal.Construction.Reverse.html#1704" class="Function">Reverse-Monoidal</a> <a id="10208" href="Categories.Monad.Strong.Properties.html#9975" class="Bound">V</a><a id="10209" class="Symbol">)</a> <a id="10211" href="Categories.Monad.Strong.Properties.html#9979" class="Bound">M</a>
|
||
<a id="10217" href="Categories.Monad.Strong.Properties.html#10173" class="Function">left₁</a> <a id="10223" class="Symbol">=</a> <a id="10225" href="Categories.Monad.Strong.Properties.html#1703" class="Function">leftInReversed</a> <a id="10240" href="Categories.Monad.Strong.Properties.html#9985" class="Bound">right</a>
|
||
|
||
<a id="10251" href="Categories.Monad.Strong.Properties.html#10251" class="Function">right₂</a> <a id="10258" class="Symbol">:</a> <a id="10260" href="Categories.Monad.Strong.html#2046" class="Record">RightStrength</a> <a id="10274" class="Symbol">(</a><a id="10275" href="Categories.Category.Monoidal.Construction.Reverse.html#1704" class="Function">Reverse-Monoidal</a> <a id="10292" href="Categories.Monad.Strong.Properties.html#9975" class="Bound">V</a><a id="10293" class="Symbol">)</a> <a id="10295" href="Categories.Monad.Strong.Properties.html#9979" class="Bound">M</a>
|
||
<a id="10301" href="Categories.Monad.Strong.Properties.html#10251" class="Function">right₂</a> <a id="10308" class="Symbol">=</a> <a id="10310" href="Categories.Monad.Strong.Properties.html#9001" class="Function">Strength⇒RightStrength</a> <a id="10333" class="Symbol">(</a><a id="10334" href="Categories.Category.Monoidal.Construction.Reverse.html#2599" class="Function">Reverse-Braided</a> <a id="10350" href="Categories.Monad.Strong.Properties.html#9982" class="Bound">BV</a><a id="10352" class="Symbol">)</a> <a id="10354" href="Categories.Monad.Strong.Properties.html#10173" class="Function">left₁</a>
|
||
|
||
<a id="10365" class="Comment">-- Note: this is almost what we need, but Reverse-Monoidal is</a>
|
||
<a id="10431" class="Comment">-- not a strict involution (some of the coherence laws are</a>
|
||
<a id="10494" class="Comment">-- have proofs that are not strictly identical to their</a>
|
||
<a id="10554" class="Comment">-- original counterparts). But this does not matter</a>
|
||
<a id="10610" class="Comment">-- structurally, so we can just re-package the components we</a>
|
||
<a id="10675" class="Comment">-- need.</a>
|
||
<a id="10688" href="Categories.Monad.Strong.Properties.html#10688" class="Function">left₂</a> <a id="10694" class="Symbol">:</a> <a id="10696" href="Categories.Monad.Strong.html#764" class="Record">Strength</a> <a id="10705" class="Symbol">(</a><a id="10706" href="Categories.Category.Monoidal.Construction.Reverse.html#1704" class="Function">Reverse-Monoidal</a> <a id="10723" class="Symbol">(</a><a id="10724" href="Categories.Category.Monoidal.Construction.Reverse.html#1704" class="Function">Reverse-Monoidal</a> <a id="10741" href="Categories.Monad.Strong.Properties.html#9975" class="Bound">V</a><a id="10742" class="Symbol">))</a> <a id="10745" href="Categories.Monad.Strong.Properties.html#9979" class="Bound">M</a>
|
||
<a id="10751" href="Categories.Monad.Strong.Properties.html#10688" class="Function">left₂</a> <a id="10757" class="Symbol">=</a> <a id="10759" href="Categories.Monad.Strong.Properties.html#1703" class="Function">leftInReversed</a> <a id="10774" href="Categories.Monad.Strong.Properties.html#10251" class="Function">right₂</a>
|
||
|
||
<a id="10786" class="Keyword">open</a> <a id="10791" href="Categories.Monad.Strong.html#764" class="Module">Strength</a> <a id="10800" href="Categories.Monad.Strong.Properties.html#10688" class="Function">left₂</a>
|
||
|
||
<a id="RightStrongMonad⇒StrongMonad"></a><a id="10807" href="Categories.Monad.Strong.Properties.html#10807" class="Function">RightStrongMonad⇒StrongMonad</a> <a id="10836" class="Symbol">:</a> <a id="10838" class="Symbol">{</a><a id="10839" href="Categories.Monad.Strong.Properties.html#10839" class="Bound">V</a> <a id="10841" class="Symbol">:</a> <a id="10843" href="Categories.Category.Monoidal.Core.html#1287" class="Record">Monoidal</a> <a id="10852" href="Categories.Monad.Strong.Properties.html#158" class="Bound">C</a><a id="10853" class="Symbol">}</a> <a id="10855" class="Symbol">→</a>
|
||
<a id="10888" href="Categories.Category.Monoidal.Braided.html#643" class="Record">Braided</a> <a id="10896" href="Categories.Monad.Strong.Properties.html#10839" class="Bound">V</a> <a id="10898" class="Symbol">→</a> <a id="10900" href="Categories.Monad.Strong.html#3115" class="Record">RightStrongMonad</a> <a id="10917" href="Categories.Monad.Strong.Properties.html#10839" class="Bound">V</a> <a id="10919" class="Symbol">→</a> <a id="10921" href="Categories.Monad.Strong.html#1832" class="Record">StrongMonad</a> <a id="10933" href="Categories.Monad.Strong.Properties.html#10839" class="Bound">V</a>
|
||
<a id="10935" href="Categories.Monad.Strong.Properties.html#10807" class="Function">RightStrongMonad⇒StrongMonad</a> <a id="10964" href="Categories.Monad.Strong.Properties.html#10964" class="Bound">BV</a> <a id="10967" href="Categories.Monad.Strong.Properties.html#10967" class="Bound">RSM</a> <a id="10971" class="Symbol">=</a> <a id="10973" class="Keyword">record</a>
|
||
<a id="10982" class="Symbol">{</a> <a id="10984" href="Categories.Monad.Strong.html#1918" class="Field">M</a> <a id="10993" class="Symbol">=</a> <a id="10995" href="Categories.Monad.Strong.html#3206" class="Field">M</a>
|
||
<a id="10999" class="Symbol">;</a> <a id="11001" href="Categories.Monad.Strong.html#1941" class="Field">strength</a> <a id="11010" class="Symbol">=</a> <a id="11012" href="Categories.Monad.Strong.Properties.html#9823" class="Function">RightStrength⇒Strength</a> <a id="11035" href="Categories.Monad.Strong.Properties.html#10964" class="Bound">BV</a> <a id="11038" href="Categories.Monad.Strong.html#3229" class="Field">rightStrength</a>
|
||
<a id="11054" class="Symbol">}</a>
|
||
<a id="11058" class="Keyword">where</a> <a id="11064" class="Keyword">open</a> <a id="11069" href="Categories.Monad.Strong.html#3115" class="Module">RightStrongMonad</a> <a id="11086" href="Categories.Monad.Strong.Properties.html#10967" class="Bound">RSM</a>
|
||
</pre></body></html> |