mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
118 lines
54 KiB
HTML
118 lines
54 KiB
HTML
|
<!DOCTYPE HTML>
|
|||
|
<html><head><meta charset="utf-8"><title>Categories.NaturalTransformation.NaturalIsomorphism.Properties</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--without-K</a> <a id="25" class="Pragma">--safe</a> <a id="32" class="Symbol">#-}</a>
|
|||
|
|
|||
|
<a id="37" class="Keyword">module</a> <a id="44" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html" class="Module">Categories.NaturalTransformation.NaturalIsomorphism.Properties</a> <a id="107" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="114" class="Keyword">open</a> <a id="119" class="Keyword">import</a> <a id="126" href="Level.html" class="Module">Level</a>
|
|||
|
|
|||
|
<a id="133" class="Keyword">open</a> <a id="138" class="Keyword">import</a> <a id="145" href="Categories.Category.html" class="Module">Categories.Category</a>
|
|||
|
<a id="165" class="Keyword">open</a> <a id="170" class="Keyword">import</a> <a id="177" href="Categories.Category.Instance.Setoids.html" class="Module">Categories.Category.Instance.Setoids</a>
|
|||
|
<a id="214" class="Keyword">open</a> <a id="219" class="Keyword">import</a> <a id="226" href="Categories.Functor.html" class="Module">Categories.Functor</a> <a id="245" class="Keyword">renaming</a> <a id="254" class="Symbol">(</a><a id="255" href="Categories.Functor.html#349" class="Function">id</a> <a id="258" class="Symbol">to</a> <a id="261" class="Function">idF</a><a id="264" class="Symbol">)</a>
|
|||
|
<a id="266" class="Keyword">open</a> <a id="271" class="Keyword">import</a> <a id="278" href="Categories.Functor.Construction.LiftSetoids.html" class="Module">Categories.Functor.Construction.LiftSetoids</a>
|
|||
|
<a id="322" class="Keyword">open</a> <a id="327" class="Keyword">import</a> <a id="334" href="Categories.NaturalTransformation.NaturalIsomorphism.html" class="Module">Categories.NaturalTransformation.NaturalIsomorphism</a>
|
|||
|
<a id="386" class="Keyword">open</a> <a id="391" class="Keyword">import</a> <a id="398" href="Categories.NaturalTransformation.Properties.html" class="Module">Categories.NaturalTransformation.Properties</a>
|
|||
|
|
|||
|
<a id="443" class="Keyword">import</a> <a id="450" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="470" class="Symbol">as</a> <a id="473" class="Module">Mor</a>
|
|||
|
<a id="477" class="Keyword">import</a> <a id="484" href="Categories.Morphism.Properties.html" class="Module">Categories.Morphism.Properties</a> <a id="515" class="Symbol">as</a> <a id="518" class="Module">Morₚ</a>
|
|||
|
<a id="523" class="Keyword">import</a> <a id="530" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="560" class="Symbol">as</a> <a id="563" class="Module">MR</a>
|
|||
|
|
|||
|
<a id="567" class="Keyword">private</a>
|
|||
|
<a id="577" class="Keyword">variable</a>
|
|||
|
<a id="590" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#590" class="Generalizable">o</a> <a id="592" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#592" class="Generalizable">ℓ</a> <a id="594" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#594" class="Generalizable">e</a> <a id="596" class="Symbol">:</a> <a id="598" href="Agda.Primitive.html#742" class="Postulate">Level</a>
|
|||
|
<a id="608" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#608" class="Generalizable">C</a> <a id="610" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#610" class="Generalizable">D</a> <a id="612" class="Symbol">:</a> <a id="614" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="623" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#590" class="Generalizable">o</a> <a id="625" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#592" class="Generalizable">ℓ</a> <a id="627" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#594" class="Generalizable">e</a>
|
|||
|
|
|||
|
|
|||
|
<a id="631" class="Keyword">module</a> <a id="638" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#638" class="Module">_</a> <a id="640" class="Symbol">{</a><a id="641" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#641" class="Bound">F</a> <a id="643" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#643" class="Bound">G</a> <a id="645" class="Symbol">:</a> <a id="647" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="655" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#608" class="Generalizable">C</a> <a id="657" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#610" class="Generalizable">D</a><a id="658" class="Symbol">}</a> <a id="660" class="Keyword">where</a>
|
|||
|
<a id="668" class="Keyword">private</a>
|
|||
|
<a id="680" class="Keyword">module</a> <a id="687" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#687" class="Module">C</a> <a id="689" class="Symbol">=</a> <a id="691" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="700" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#655" class="Bound">C</a>
|
|||
|
<a id="706" class="Keyword">module</a> <a id="713" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#713" class="Module">F</a> <a id="715" class="Symbol">=</a> <a id="717" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="725" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#641" class="Bound">F</a>
|
|||
|
<a id="731" class="Keyword">module</a> <a id="738" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#738" class="Module">G</a> <a id="740" class="Symbol">=</a> <a id="742" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="750" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#643" class="Bound">G</a>
|
|||
|
|
|||
|
<a id="755" class="Keyword">open</a> <a id="760" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="769" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#657" class="Bound">D</a>
|
|||
|
<a id="773" class="Keyword">open</a> <a id="778" href="Categories.Morphism.html" class="Module">Mor</a> <a id="782" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#657" class="Bound">D</a>
|
|||
|
<a id="786" class="Keyword">open</a> <a id="791" href="Categories.Morphism.html#1958" class="Module Operator">_≅_</a>
|
|||
|
|
|||
|
<a id="798" class="Comment">-- We can construct a natural isomorphism from a pointwise isomorphism, provided that we can show naturality in one direction.</a>
|
|||
|
<a id="927" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#927" class="Function">pointwise-iso</a> <a id="941" class="Symbol">:</a> <a id="943" class="Symbol">(</a><a id="944" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#944" class="Bound">iso</a> <a id="948" class="Symbol">:</a> <a id="950" class="Symbol">∀</a> <a id="952" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#952" class="Bound">X</a> <a id="954" class="Symbol">→</a> <a id="956" href="Categories.Functor.Core.html#432" class="Function">F.F₀</a> <a id="961" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#952" class="Bound">X</a> <a id="963" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="965" href="Categories.Functor.Core.html#432" class="Field">G.F₀</a> <a id="970" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#952" class="Bound">X</a><a id="971" class="Symbol">)</a> <a id="973" class="Symbol">→</a> <a id="975" class="Symbol">(∀</a> <a id="978" class="Symbol">{</a><a id="979" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#979" class="Bound">X</a> <a id="981" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#981" class="Bound">Y</a><a id="982" class="Symbol">}</a> <a id="984" class="Symbol">→</a> <a id="986" class="Symbol">(</a><a id="987" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#987" class="Bound">f</a> <a id="989" class="Symbol">:</a> <a id="991" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#655" class="Bound">C</a> <a id="993" href="Categories.Category.html#502" class="Function Operator">[</a> <a id="995" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#979" class="Bound">X</a> <a id="997" href="Categories.Category.html#502" class="Function Operator">,</a> <a id="999" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#981" class="Bound">Y</a> <a id="1001" href="Categories.Category.html#502" class="Function Operator">]</a><a id="1002" class="Symbol">)</a> <a id="1004" class="Symbol">→</a> <a id="1006" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1011" class="Symbol">(</a><a id="1012" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#944" class="Bound">iso</a> <a id="1016" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#981" class="Bound">Y</a><a id="1017" class="Symbol">)</a> <a id="1019" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1021" href="Categories.Functor.Core.html#455" class="Function">F.F₁</a> <a id="1026" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#987" class="Bound">f</a> <a id="1028" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1030" href="Categories.Functor.Core.html#455" class="Field">G.F₁</a> <a id="1035" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#987" class="Bound">f</a> <a id="1037" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="1039" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1044" class="Symbol">(</a><a id="1045" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#944" class="Bound">iso</a> <a id="1049" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#979" class="Bound">X</a><a id="1050" class="Symbol">))</a> <a id="1053" class="Symbol">→</a> <a id="1055" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a> <a id="1074" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#641" class="Bound">F</a> <a id="1076" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#643" class="Bound">G</a>
|
|||
|
<a id="1080" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#927" class="Function">pointwise-iso</a> <a id="1094" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1094" class="Bound">iso</a> <a id="1098" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1098" class="Bound">commute</a> <a id="1106" class="Symbol">=</a> <a id="1108" href="Categories.NaturalTransformation.NaturalIsomorphism.html#2810" class="Function">niHelper</a> <a id="1117" class="Keyword">record</a>
|
|||
|
<a id="1128" class="Symbol">{</a> <a id="1130" href="Categories.NaturalTransformation.NaturalIsomorphism.html#2606" class="Field">η</a> <a id="1132" class="Symbol">=</a> <a id="1134" class="Symbol">λ</a> <a id="1136" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1136" class="Bound">X</a> <a id="1138" class="Symbol">→</a> <a id="1140" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1145" class="Symbol">(</a><a id="1146" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1094" class="Bound">iso</a> <a id="1150" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1136" class="Bound">X</a><a id="1151" class="Symbol">)</a>
|
|||
|
<a id="1157" class="Symbol">;</a> <a id="1159" href="Categories.NaturalTransformation.NaturalIsomorphism.html#2648" class="Field">η⁻¹</a> <a id="1163" class="Symbol">=</a> <a id="1165" class="Symbol">λ</a> <a id="1167" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1167" class="Bound">X</a> <a id="1169" class="Symbol">→</a> <a id="1171" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1174" class="Symbol">(</a><a id="1175" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1094" class="Bound">iso</a> <a id="1179" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1167" class="Bound">X</a><a id="1180" class="Symbol">)</a>
|
|||
|
<a id="1186" class="Symbol">;</a> <a id="1188" href="Categories.NaturalTransformation.NaturalIsomorphism.html#2690" class="Field">commute</a> <a id="1196" class="Symbol">=</a> <a id="1198" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1098" class="Bound">commute</a>
|
|||
|
<a id="1210" class="Symbol">;</a> <a id="1212" href="Categories.NaturalTransformation.NaturalIsomorphism.html#2760" class="Field">iso</a> <a id="1216" class="Symbol">=</a> <a id="1218" class="Symbol">λ</a> <a id="1220" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1220" class="Bound">X</a> <a id="1222" class="Symbol">→</a> <a id="1224" class="Keyword">record</a>
|
|||
|
<a id="1237" class="Symbol">{</a> <a id="1239" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="1244" class="Symbol">=</a> <a id="1246" href="Categories.Morphism.html#1586" class="Function">isoˡ</a> <a id="1251" class="Symbol">(</a><a id="1252" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1094" class="Bound">iso</a> <a id="1256" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1220" class="Bound">X</a><a id="1257" class="Symbol">)</a>
|
|||
|
<a id="1265" class="Symbol">;</a> <a id="1267" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="1272" class="Symbol">=</a> <a id="1274" href="Categories.Morphism.html#1612" class="Function">isoʳ</a> <a id="1279" class="Symbol">(</a><a id="1280" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1094" class="Bound">iso</a> <a id="1284" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1220" class="Bound">X</a><a id="1285" class="Symbol">)</a>
|
|||
|
<a id="1293" class="Symbol">}</a>
|
|||
|
<a id="1299" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="1302" class="Keyword">module</a> <a id="1309" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1309" class="Module">_</a> <a id="1311" class="Symbol">{</a><a id="1312" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1312" class="Bound">F</a> <a id="1314" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1314" class="Bound">G</a> <a id="1316" class="Symbol">:</a> <a id="1318" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="1326" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#608" class="Generalizable">C</a> <a id="1328" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#610" class="Generalizable">D</a><a id="1329" class="Symbol">}</a> <a id="1331" class="Symbol">(</a><a id="1332" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1332" class="Bound">α</a> <a id="1334" class="Symbol">:</a> <a id="1336" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a> <a id="1355" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1312" class="Bound">F</a> <a id="1357" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1314" class="Bound">G</a><a id="1358" class="Symbol">)</a> <a id="1360" class="Keyword">where</a>
|
|||
|
<a id="1368" class="Keyword">private</a> <a id="1376" class="Keyword">module</a> <a id="1383" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1383" class="Module">C</a> <a id="1385" class="Symbol">=</a> <a id="1387" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1396" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1326" class="Bound">C</a>
|
|||
|
<a id="1400" class="Keyword">open</a> <a id="1405" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1414" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1328" class="Bound">D</a>
|
|||
|
<a id="1418" class="Keyword">open</a> <a id="1423" href="Categories.Morphism.html" class="Module">Mor</a> <a id="1427" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1328" class="Bound">D</a>
|
|||
|
<a id="1431" class="Keyword">open</a> <a id="1436" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="1444" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1312" class="Bound">F</a>
|
|||
|
<a id="1448" class="Keyword">open</a> <a id="1453" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="1461" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1314" class="Bound">G</a> <a id="1463" class="Keyword">renaming</a> <a id="1472" class="Symbol">(</a><a id="1473" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="1476" class="Symbol">to</a> <a id="1479" class="Field">G₀</a><a id="1481" class="Symbol">;</a> <a id="1483" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="1486" class="Symbol">to</a> <a id="1489" class="Field">G₁</a><a id="1491" class="Symbol">)</a>
|
|||
|
<a id="1495" class="Keyword">open</a> <a id="1500" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="1519" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1332" class="Bound">α</a>
|
|||
|
|
|||
|
<a id="1524" class="Comment">-- We can move equations along natural isomorphism.</a>
|
|||
|
|
|||
|
<a id="1579" class="Keyword">module</a> <a id="1586" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1586" class="Module">_</a> <a id="1588" class="Symbol">{</a><a id="1589" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1589" class="Bound">A</a> <a id="1591" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1591" class="Bound">B</a><a id="1592" class="Symbol">}</a> <a id="1594" class="Symbol">{</a><a id="1595" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1595" class="Bound">f</a> <a id="1597" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1597" class="Bound">g</a> <a id="1599" class="Symbol">:</a> <a id="1601" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1589" class="Bound">A</a> <a id="1603" href="Categories.Category.Core.html#575" class="Function Operator">C.⇒</a> <a id="1607" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1591" class="Bound">B</a><a id="1608" class="Symbol">}</a> <a id="1610" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="1621" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1621" class="Function">push-eq</a> <a id="1629" class="Symbol">:</a> <a id="1631" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="1634" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1595" class="Bound">f</a> <a id="1636" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1638" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="1641" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1597" class="Bound">g</a> <a id="1643" class="Symbol">→</a> <a id="1645" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1489" class="Function">G₁</a> <a id="1648" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1595" class="Bound">f</a> <a id="1650" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1652" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1489" class="Function">G₁</a> <a id="1655" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1597" class="Bound">g</a>
|
|||
|
<a id="1661" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1621" class="Function">push-eq</a> <a id="1669" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1669" class="Bound">hyp</a> <a id="1673" class="Symbol">=</a> <a id="1675" href="Categories.Morphism.Reasoning.Iso.html#4018" class="Function">MR.push-eq</a> <a id="1686" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1328" class="Bound">D</a> <a id="1688" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1155" class="Function">FX≅GX</a> <a id="1694" class="Symbol">(</a><a id="1695" href="Categories.NaturalTransformation.Core.html#827" class="Function">⇒.commute</a> <a id="1705" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1595" class="Bound">f</a><a id="1706" class="Symbol">)</a> <a id="1708" class="Symbol">(</a><a id="1709" href="Categories.NaturalTransformation.Core.html#827" class="Function">⇒.commute</a> <a id="1719" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1597" class="Bound">g</a><a id="1720" class="Symbol">)</a> <a id="1722" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1669" class="Bound">hyp</a>
|
|||
|
|
|||
|
<a id="1731" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1731" class="Function">pull-eq</a> <a id="1739" class="Symbol">:</a> <a id="1741" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1489" class="Function">G₁</a> <a id="1744" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1595" class="Bound">f</a> <a id="1746" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1748" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1489" class="Function">G₁</a> <a id="1751" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1597" class="Bound">g</a> <a id="1753" class="Symbol">→</a> <a id="1755" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="1758" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1595" class="Bound">f</a> <a id="1760" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="1762" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="1765" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1597" class="Bound">g</a>
|
|||
|
<a id="1771" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1731" class="Function">pull-eq</a> <a id="1779" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1779" class="Bound">hyp</a> <a id="1783" class="Symbol">=</a> <a id="1785" href="Categories.Morphism.Reasoning.Iso.html#4018" class="Function">MR.push-eq</a> <a id="1796" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1328" class="Bound">D</a> <a id="1798" class="Symbol">(</a><a id="1799" href="Relation.Binary.Structures.html#1622" class="Function">≅.sym</a> <a id="1805" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1155" class="Function">FX≅GX</a><a id="1810" class="Symbol">)</a> <a id="1812" class="Symbol">(</a><a id="1813" href="Categories.NaturalTransformation.Core.html#827" class="Function">⇐.commute</a> <a id="1823" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1595" class="Bound">f</a><a id="1824" class="Symbol">)</a> <a id="1826" class="Symbol">(</a><a id="1827" href="Categories.NaturalTransformation.Core.html#827" class="Function">⇐.commute</a> <a id="1837" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1597" class="Bound">g</a><a id="1838" class="Symbol">)</a> <a id="1840" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1779" class="Bound">hyp</a>
|
|||
|
|
|||
|
<a id="1845" class="Comment">-- properties of natural isomorphisms over an endofunctor</a>
|
|||
|
<a id="1903" class="Keyword">module</a> <a id="1910" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1910" class="Module">_</a> <a id="1912" class="Symbol">{</a><a id="1913" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1913" class="Bound">F</a> <a id="1915" class="Symbol">:</a> <a id="1917" href="Categories.Functor.html#283" class="Function">Endofunctor</a> <a id="1929" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#608" class="Generalizable">C</a><a id="1930" class="Symbol">}</a> <a id="1932" class="Keyword">where</a>
|
|||
|
<a id="1940" class="Keyword">private</a>
|
|||
|
<a id="1952" class="Keyword">module</a> <a id="1959" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1959" class="Module">C</a> <a id="1961" class="Symbol">=</a> <a id="1963" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1972" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1929" class="Bound">C</a>
|
|||
|
<a id="1978" class="Keyword">module</a> <a id="1985" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1985" class="Module">F</a> <a id="1987" class="Symbol">=</a> <a id="1989" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="1997" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1913" class="Bound">F</a>
|
|||
|
<a id="2003" class="Keyword">module</a> <a id="2010" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2010" class="Module">MC</a> <a id="2013" class="Symbol">=</a> <a id="2015" href="Categories.Morphism.html" class="Module">Mor</a> <a id="2019" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1929" class="Bound">C</a>
|
|||
|
|
|||
|
<a id="2024" class="Keyword">module</a> <a id="2031" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2031" class="Module">_</a> <a id="2033" class="Symbol">(</a><a id="2034" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2034" class="Bound">α</a> <a id="2036" class="Symbol">:</a> <a id="2038" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1913" class="Bound">F</a> <a id="2040" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">≃</a> <a id="2042" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#261" class="Function">idF</a><a id="2045" class="Symbol">)</a> <a id="2047" class="Keyword">where</a>
|
|||
|
<a id="2057" class="Keyword">open</a> <a id="2062" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1959" class="Module">C</a>
|
|||
|
<a id="2068" class="Keyword">open</a> <a id="2073" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
|||
|
<a id="2090" class="Keyword">open</a> <a id="2095" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1985" class="Module">F</a>
|
|||
|
<a id="2101" class="Keyword">open</a> <a id="2106" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2010" class="Module">MC</a>
|
|||
|
<a id="2113" class="Keyword">open</a> <a id="2118" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="2121" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1929" class="Bound">C</a>
|
|||
|
<a id="2127" class="Keyword">open</a> <a id="2132" href="Categories.Morphism.html" class="Module">Mor</a> <a id="2136" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1929" class="Bound">C</a>
|
|||
|
<a id="2142" class="Keyword">open</a> <a id="2147" href="Categories.Morphism.Properties.html" class="Module">Morₚ</a> <a id="2152" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#1929" class="Bound">C</a>
|
|||
|
<a id="2158" class="Keyword">open</a> <a id="2163" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="2182" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2034" class="Bound">α</a>
|
|||
|
|
|||
|
<a id="2189" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2189" class="Function">F≃id-comm₁</a> <a id="2200" class="Symbol">:</a> <a id="2202" class="Symbol">∀</a> <a id="2204" class="Symbol">{</a><a id="2205" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2205" class="Bound">A</a><a id="2206" class="Symbol">}</a> <a id="2208" class="Symbol">→</a> <a id="2210" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2214" class="Symbol">(</a><a id="2215" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="2218" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2205" class="Bound">A</a><a id="2219" class="Symbol">)</a> <a id="2221" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="2223" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="2226" class="Symbol">(</a><a id="2227" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2231" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2205" class="Bound">A</a><a id="2232" class="Symbol">)</a>
|
|||
|
<a id="2238" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2189" class="Function">F≃id-comm₁</a> <a id="2249" class="Symbol">{</a><a id="2250" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2250" class="Bound">A</a><a id="2251" class="Symbol">}</a> <a id="2253" class="Symbol">=</a> <a id="2255" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="2267" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2271" class="Symbol">(</a><a id="2272" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="2275" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2250" class="Bound">A</a><a id="2276" class="Symbol">)</a> <a id="2304" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2307" href="Categories.Morphism.Reasoning.Core.html#2899" class="Function">introʳ</a> <a id="2314" class="Symbol">(</a><a id="2315" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a> <a id="2324" class="Symbol">(</a><a id="2325" href="Categories.Morphism.html#1586" class="Function">iso.isoˡ</a> <a id="2334" class="Symbol">_)</a> <a id="2337" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="2339" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="2347" class="Symbol">)</a> <a id="2349" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2357" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2361" class="Symbol">(</a><a id="2362" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="2365" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2250" class="Bound">A</a><a id="2366" class="Symbol">)</a> <a id="2368" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2370" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="2373" class="Symbol">(</a><a id="2374" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2378" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2250" class="Bound">A</a> <a id="2380" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2382" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2386" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2250" class="Bound">A</a><a id="2387" class="Symbol">)</a> <a id="2394" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2397" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="2405" href="Categories.Functor.Core.html#565" class="Field">homomorphism</a> <a id="2418" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2426" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2430" class="Symbol">(</a><a id="2431" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="2434" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2250" class="Bound">A</a><a id="2435" class="Symbol">)</a> <a id="2437" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2439" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="2442" class="Symbol">(</a><a id="2443" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2447" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2250" class="Bound">A</a><a id="2448" class="Symbol">)</a> <a id="2450" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2452" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="2455" class="Symbol">(</a><a id="2456" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2460" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2250" class="Bound">A</a><a id="2461" class="Symbol">)</a> <a id="2463" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2466" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="2474" class="Symbol">(</a><a id="2475" href="Categories.NaturalTransformation.Core.html#827" class="Function">⇒.commute</a> <a id="2485" class="Symbol">_</a> <a id="2487" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="2489" href="Categories.Morphism.html#1586" class="Function">iso.isoˡ</a> <a id="2498" class="Symbol">_)</a> <a id="2501" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2509" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="2512" class="Symbol">(</a><a id="2513" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2517" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2250" class="Bound">A</a><a id="2518" class="Symbol">)</a> <a id="2546" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="2553" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2553" class="Function">F≃id-comm₂</a> <a id="2564" class="Symbol">:</a> <a id="2566" class="Symbol">∀</a> <a id="2568" class="Symbol">{</a><a id="2569" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2569" class="Bound">A</a><a id="2570" class="Symbol">}</a> <a id="2572" class="Symbol">→</a> <a id="2574" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2578" class="Symbol">(</a><a id="2579" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="2582" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2569" class="Bound">A</a><a id="2583" class="Symbol">)</a> <a id="2585" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="2587" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="2590" class="Symbol">(</a><a id="2591" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2595" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2569" class="Bound">A</a><a id="2596" class="Symbol">)</a>
|
|||
|
<a id="2602" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2553" class="Function">F≃id-comm₂</a> <a id="2613" class="Symbol">{</a><a id="2614" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2614" class="Bound">A</a><a id="2615" class="Symbol">}</a> <a id="2617" class="Symbol">=</a> <a id="2619" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="2631" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2635" class="Symbol">(</a><a id="2636" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="2639" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2614" class="Bound">A</a><a id="2640" class="Symbol">)</a> <a id="2670" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2673" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a> <a id="2680" class="Symbol">(</a><a id="2681" href="Categories.Functor.Core.html#696" class="Field">F-resp-≈</a> <a id="2690" class="Symbol">(</a><a id="2691" href="Categories.Morphism.html#1586" class="Function">iso.isoˡ</a> <a id="2700" class="Symbol">_)</a> <a id="2703" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="2705" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="2713" class="Symbol">)</a> <a id="2715" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2723" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="2726" class="Symbol">(</a><a id="2727" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2731" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2614" class="Bound">A</a> <a id="2733" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2735" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2739" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2614" class="Bound">A</a><a id="2740" class="Symbol">)</a> <a id="2742" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2744" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2748" class="Symbol">(</a><a id="2749" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="2752" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2614" class="Bound">A</a><a id="2753" class="Symbol">)</a> <a id="2762" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2765" href="Categories.Functor.Core.html#565" class="Field">homomorphism</a> <a id="2778" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="2786" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2794" class="Symbol">(</a><a id="2795" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="2798" class="Symbol">(</a><a id="2799" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2803" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2614" class="Bound">A</a><a id="2804" class="Symbol">)</a> <a id="2806" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2808" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="2811" class="Symbol">(</a><a id="2812" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2816" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2614" class="Bound">A</a><a id="2817" class="Symbol">))</a> <a id="2820" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2822" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2826" class="Symbol">(</a><a id="2827" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="2830" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2614" class="Bound">A</a><a id="2831" class="Symbol">)</a> <a id="2833" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2836" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="2844" class="Symbol">(</a><a id="2845" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="2847" class="Symbol">(</a><a id="2848" href="Categories.NaturalTransformation.Core.html#827" class="Function">⇐.commute</a> <a id="2858" class="Symbol">_)</a> <a id="2861" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="2863" href="Categories.Morphism.html#1586" class="Function">iso.isoˡ</a> <a id="2872" class="Symbol">_)</a> <a id="2875" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2883" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="2886" class="Symbol">(</a><a id="2887" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2891" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2614" class="Bound">A</a><a id="2892" class="Symbol">)</a> <a id="2922" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="2929" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2929" class="Function">F≃id⇒id</a> <a id="2937" class="Symbol">:</a> <a id="2939" class="Symbol">∀</a> <a id="2941" class="Symbol">{</a><a id="2942" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2942" class="Bound">A</a><a id="2943" class="Symbol">}</a> <a id="2945" class="Symbol">{</a><a id="2946" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2946" class="Bound">f</a> <a id="2948" class="Symbol">:</a> <a id="2950" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2942" class="Bound">A</a> <a id="2952" href="Categories.Category.Core.html#575" class="Function Operator">⇒</a> <a id="2954" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2942" class="Bound">A</a><a id="2955" class="Symbol">}</a> <a id="2957" class="Symbol">→</a> <a id="2959" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="2962" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2946" class="Bound">f</a> <a id="2964" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="2966" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="2969" class="Symbol">→</a> <a id="2971" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2946" class="Bound">f</a> <a id="2973" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="2975" href="Categories.Category.Core.html#630" class="Function">id</a>
|
|||
|
<a id="2982" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2929" class="Function">F≃id⇒id</a> <a id="2990" class="Symbol">{</a><a id="2991" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2991" class="Bound">A</a><a id="2992" class="Symbol">}</a> <a id="2994" class="Symbol">{</a><a id="2995" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2995" class="Bound">f</a><a id="2996" class="Symbol">}</a> <a id="2998" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2998" class="Bound">eq</a> <a id="3001" class="Symbol">=</a> <a id="3003" href="Categories.Morphism.Properties.html#818" class="Function">Iso⇒Mono</a> <a id="3012" class="Symbol">(</a><a id="3013" href="Categories.Morphism.Properties.html#734" class="Function">Iso-swap</a> <a id="3022" class="Symbol">(</a><a id="3023" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1051" class="Field">iso</a> <a id="3027" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2991" class="Bound">A</a><a id="3028" class="Symbol">))</a> <a id="3031" class="Symbol">_</a> <a id="3033" class="Symbol">_</a> <a id="3035" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3054" class="Function">helper</a>
|
|||
|
<a id="3048" class="Keyword">where</a> <a id="3054" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3054" class="Function">helper</a> <a id="3061" class="Symbol">:</a> <a id="3063" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="3067" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2991" class="Bound">A</a> <a id="3069" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3071" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2995" class="Bound">f</a> <a id="3073" href="Categories.Category.Core.html#595" class="Function Operator">≈</a> <a id="3075" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="3079" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2991" class="Bound">A</a> <a id="3081" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3083" href="Categories.Category.Core.html#630" class="Function">id</a>
|
|||
|
<a id="3098" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3054" class="Function">helper</a> <a id="3105" class="Symbol">=</a> <a id="3107" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="3127" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="3131" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2991" class="Bound">A</a> <a id="3133" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3135" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2995" class="Bound">f</a> <a id="3140" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3143" href="Categories.NaturalTransformation.Core.html#827" class="Function">⇐.commute</a> <a id="3153" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2995" class="Bound">f</a> <a id="3155" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3171" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="3174" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2995" class="Bound">f</a> <a id="3176" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3178" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="3182" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2991" class="Bound">A</a> <a id="3184" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3187" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2998" class="Bound">eq</a> <a id="3190" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="3198" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3214" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="3217" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3219" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="3223" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2991" class="Bound">A</a> <a id="3227" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="3231" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a> <a id="3239" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
|||
|
<a id="3255" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="3259" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#2991" class="Bound">A</a> <a id="3261" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="3263" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="3268" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="3271" class="Comment">-- unlift universe level</a>
|
|||
|
<a id="3296" class="Keyword">module</a> <a id="3303" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3303" class="Module">_</a> <a id="3305" class="Symbol">{</a><a id="3306" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3306" class="Bound">c</a> <a id="3308" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3308" class="Bound">ℓ</a> <a id="3310" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3310" class="Bound">ℓ′</a> <a id="3313" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3313" class="Bound">e</a><a id="3314" class="Symbol">}</a> <a id="3316" class="Symbol">{</a><a id="3317" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3317" class="Bound">F</a> <a id="3319" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3319" class="Bound">G</a> <a id="3321" class="Symbol">:</a> <a id="3323" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="3331" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#608" class="Generalizable">C</a> <a id="3333" class="Symbol">(</a><a id="3334" href="Categories.Category.Instance.Setoids.html#555" class="Function">Setoids</a> <a id="3342" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3306" class="Bound">c</a> <a id="3344" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3308" class="Bound">ℓ</a><a id="3345" class="Symbol">)}</a> <a id="3348" class="Symbol">(</a><a id="3349" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3349" class="Bound">α</a> <a id="3351" class="Symbol">:</a> <a id="3353" href="Categories.Functor.Construction.LiftSetoids.html#1046" class="Function">LiftSetoids</a> <a id="3365" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3310" class="Bound">ℓ′</a> <a id="3368" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3313" class="Bound">e</a> <a id="3370" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3373" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3317" class="Bound">F</a> <a id="3375" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">≃</a> <a id="3377" href="Categories.Functor.Construction.LiftSetoids.html#1046" class="Function">LiftSetoids</a> <a id="3389" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3310" class="Bound">ℓ′</a> <a id="3392" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3313" class="Bound">e</a> <a id="3394" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3397" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3319" class="Bound">G</a><a id="3398" class="Symbol">)</a> <a id="3400" class="Keyword">where</a>
|
|||
|
<a id="3408" class="Keyword">open</a> <a id="3413" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="3432" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3349" class="Bound">α</a>
|
|||
|
|
|||
|
<a id="3437" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3437" class="Function">unlift-≃</a> <a id="3446" class="Symbol">:</a> <a id="3448" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3317" class="Bound">F</a> <a id="3450" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">≃</a> <a id="3452" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3319" class="Bound">G</a>
|
|||
|
<a id="3456" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3437" class="Function">unlift-≃</a> <a id="3465" class="Symbol">=</a> <a id="3467" class="Keyword">record</a>
|
|||
|
<a id="3478" class="Symbol">{</a> <a id="3480" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a> <a id="3484" class="Symbol">=</a> <a id="3486" href="Categories.NaturalTransformation.Properties.html#3367" class="Function">unlift-nat</a> <a id="3497" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a>
|
|||
|
<a id="3505" class="Symbol">;</a> <a id="3507" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a> <a id="3511" class="Symbol">=</a> <a id="3513" href="Categories.NaturalTransformation.Properties.html#3367" class="Function">unlift-nat</a> <a id="3524" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a>
|
|||
|
<a id="3532" class="Symbol">;</a> <a id="3534" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1051" class="Field">iso</a> <a id="3538" class="Symbol">=</a> <a id="3540" class="Symbol">λ</a> <a id="3542" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3542" class="Bound">X</a> <a id="3544" class="Symbol">→</a> <a id="3546" class="Keyword">record</a>
|
|||
|
<a id="3559" class="Symbol">{</a> <a id="3561" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="3566" class="Symbol">=</a> <a id="3568" href="Level.html#479" class="Field">lower</a> <a id="3574" class="Symbol">(</a><a id="3575" href="Categories.Morphism.html#1586" class="Function">iso.isoˡ</a> <a id="3584" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3542" class="Bound">X</a><a id="3585" class="Symbol">)</a>
|
|||
|
<a id="3593" class="Symbol">;</a> <a id="3595" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="3600" class="Symbol">=</a> <a id="3602" href="Level.html#479" class="Field">lower</a> <a id="3608" class="Symbol">(</a><a id="3609" href="Categories.Morphism.html#1612" class="Function">iso.isoʳ</a> <a id="3618" href="Categories.NaturalTransformation.NaturalIsomorphism.Properties.html#3542" class="Bound">X</a><a id="3619" class="Symbol">)</a>
|
|||
|
<a id="3627" class="Symbol">}</a>
|
|||
|
<a id="3633" class="Symbol">}</a>
|
|||
|
</pre></body></html>
|