bsc-leon-vatthauer/agda/bsc-thesis/Categories.Yoneda.Properties.html
2024-02-09 17:53:52 +01:00

154 lines
No EOL
91 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Categories.Yoneda.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="Level.html" class="Module">Level</a>
<a id="55" class="Keyword">open</a> <a id="60" class="Keyword">import</a> <a id="67" href="Categories.Category.html" class="Module">Categories.Category</a> <a id="87" class="Keyword">using</a> <a id="93" class="Symbol">(</a><a id="94" href="Categories.Category.Core.html#442" class="Record">Category</a><a id="102" class="Symbol">;</a> <a id="104" href="Categories.Category.html#502" class="Function Operator">_[_,_]</a><a id="110" class="Symbol">)</a>
<a id="113" class="Comment">-- Various conclusions that can be drawn from Yoneda</a>
<a id="166" class="Comment">-- over a particular Category C</a>
<a id="198" class="Keyword">module</a> <a id="205" href="Categories.Yoneda.Properties.html" class="Module">Categories.Yoneda.Properties</a> <a id="234" class="Symbol">{</a><a id="235" href="Categories.Yoneda.Properties.html#235" class="Bound">o</a> <a id="237" href="Categories.Yoneda.Properties.html#237" class="Bound"></a> <a id="239" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a> <a id="241" class="Symbol">:</a> <a id="243" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="248" class="Symbol">}</a> <a id="250" class="Symbol">(</a><a id="251" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="253" class="Symbol">:</a> <a id="255" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="264" href="Categories.Yoneda.Properties.html#235" class="Bound">o</a> <a id="266" href="Categories.Yoneda.Properties.html#237" class="Bound"></a> <a id="268" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="269" class="Symbol">)</a> <a id="271" class="Keyword">where</a>
<a id="278" class="Keyword">open</a> <a id="283" class="Keyword">import</a> <a id="290" href="Function.Base.html" class="Module">Function.Base</a> <a id="304" class="Keyword">using</a> <a id="310" class="Symbol">(</a><a id="311" href="Function.Base.html#1974" class="Function Operator">_$_</a><a id="314" class="Symbol">)</a>
<a id="316" class="Keyword">open</a> <a id="321" class="Keyword">import</a> <a id="328" href="Function.Bundles.html" class="Module">Function.Bundles</a> <a id="345" class="Keyword">using</a> <a id="351" class="Symbol">(</a><a id="352" href="Function.Bundles.html#2043" class="Record">Func</a><a id="356" class="Symbol">;</a> <a id="358" href="Function.Bundles.html#7340" class="Record">Inverse</a><a id="365" class="Symbol">;</a> <a id="367" href="Function.Bundles.html#15133" class="Function Operator">_⟨$⟩_</a><a id="372" class="Symbol">)</a>
<a id="374" class="Keyword">open</a> <a id="379" class="Keyword">import</a> <a id="386" href="Relation.Binary.Bundles.html" class="Module">Relation.Binary.Bundles</a> <a id="410" class="Keyword">using</a> <a id="416" class="Symbol">(</a><a id="417" class="Keyword">module</a> <a id="424" href="Relation.Binary.Bundles.html#1080" class="Module">Setoid</a><a id="430" class="Symbol">)</a>
<a id="432" class="Keyword">import</a> <a id="439" href="Relation.Binary.Reasoning.Setoid.html" class="Module">Relation.Binary.Reasoning.Setoid</a> <a id="472" class="Symbol">as</a> <a id="475" class="Module">SetoidR</a>
<a id="483" class="Keyword">open</a> <a id="488" class="Keyword">import</a> <a id="495" href="Data.Product.html" class="Module">Data.Product</a> <a id="508" class="Keyword">using</a> <a id="514" class="Symbol">(</a><a id="515" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="518" class="Symbol">;</a> <a id="520" href="Agda.Builtin.Sigma.html#165" class="Record">Σ</a><a id="521" class="Symbol">)</a>
<a id="524" class="Keyword">open</a> <a id="529" class="Keyword">import</a> <a id="536" href="Categories.Category.Product.html" class="Module">Categories.Category.Product</a> <a id="564" class="Keyword">using</a> <a id="570" class="Symbol">(</a><a id="571" href="Categories.Category.Product.html#1962" class="Function Operator">_⁂_</a><a id="574" class="Symbol">)</a>
<a id="576" class="Keyword">open</a> <a id="581" class="Keyword">import</a> <a id="588" href="Categories.Category.Instance.Setoids.html" class="Module">Categories.Category.Instance.Setoids</a> <a id="625" class="Keyword">using</a> <a id="631" class="Symbol">(</a><a id="632" href="Categories.Category.Instance.Setoids.html#555" class="Function">Setoids</a><a id="639" class="Symbol">)</a>
<a id="641" class="Keyword">open</a> <a id="646" class="Keyword">import</a> <a id="653" href="Categories.Functor.html" class="Module">Categories.Functor</a> <a id="672" class="Keyword">using</a> <a id="678" class="Symbol">(</a><a id="679" href="Categories.Functor.Core.html#248" class="Record">Functor</a><a id="686" class="Symbol">;</a> <a id="688" href="Categories.Functor.html#747" class="Function Operator">_∘F_</a><a id="692" class="Symbol">)</a> <a id="694" class="Keyword">renaming</a> <a id="703" class="Symbol">(</a><a id="704" href="Categories.Functor.html#349" class="Function">id</a> <a id="707" class="Symbol">to</a> <a id="710" class="Function">idF</a><a id="713" class="Symbol">)</a>
<a id="715" class="Keyword">open</a> <a id="720" class="Keyword">import</a> <a id="727" href="Categories.Functor.Properties.html" class="Module">Categories.Functor.Properties</a> <a id="757" class="Keyword">using</a> <a id="763" class="Symbol">(</a><a id="764" href="Categories.Functor.Properties.html#1132" class="Function">Full</a><a id="768" class="Symbol">;</a> <a id="770" href="Categories.Functor.Properties.html#987" class="Function">Faithful</a><a id="778" class="Symbol">;</a> <a id="780" href="Categories.Functor.Properties.html#1268" class="Function">FullyFaithful</a><a id="793" class="Symbol">)</a>
<a id="795" class="Keyword">open</a> <a id="800" class="Keyword">import</a> <a id="807" href="Categories.Functor.Hom.html" class="Module">Categories.Functor.Hom</a> <a id="830" class="Keyword">using</a> <a id="836" class="Symbol">(</a><a id="837" class="Keyword">module</a> <a id="844" href="Categories.Functor.Hom.html#625" class="Module">Hom</a><a id="847" class="Symbol">;</a> <a id="849" href="Categories.Functor.Hom.html#1738" class="Function Operator">Hom[_][-,_]</a><a id="860" class="Symbol">;</a> <a id="862" href="Categories.Functor.Hom.html#1578" class="Function Operator">Hom[_][-,-]</a><a id="873" class="Symbol">)</a>
<a id="875" class="Keyword">open</a> <a id="880" class="Keyword">import</a> <a id="887" href="Categories.Functor.Bifunctor.html" class="Module">Categories.Functor.Bifunctor</a> <a id="916" class="Keyword">using</a> <a id="922" class="Symbol">(</a><a id="923" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a><a id="932" class="Symbol">)</a>
<a id="934" class="Keyword">open</a> <a id="939" class="Keyword">import</a> <a id="946" href="Categories.NaturalTransformation.html" class="Module">Categories.NaturalTransformation</a> <a id="979" class="Keyword">using</a> <a id="985" class="Symbol">(</a><a id="986" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a><a id="1007" class="Symbol">;</a> <a id="1009" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a><a id="1017" class="Symbol">)</a> <a id="1019" class="Keyword">renaming</a> <a id="1028" class="Symbol">(</a><a id="1029" href="Categories.NaturalTransformation.Core.html#2132" class="Function">id</a> <a id="1032" class="Symbol">to</a> <a id="1035" class="Function">idN</a><a id="1038" class="Symbol">)</a>
<a id="1040" class="Keyword">open</a> <a id="1045" class="Keyword">import</a> <a id="1052" href="Categories.NaturalTransformation.NaturalIsomorphism.html" class="Module">Categories.NaturalTransformation.NaturalIsomorphism</a> <a id="1104" class="Keyword">using</a> <a id="1110" class="Symbol">(</a><a id="1111" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a><a id="1129" class="Symbol">)</a>
<a id="1131" class="Keyword">open</a> <a id="1136" class="Keyword">import</a> <a id="1143" href="Categories.Yoneda.html" class="Module">Categories.Yoneda</a> <a id="1161" class="Keyword">using</a> <a id="1167" class="Symbol">(</a><a id="1168" class="Keyword">module</a> <a id="1175" href="Categories.Yoneda.html#2049" class="Module">Yoneda</a><a id="1181" class="Symbol">)</a>
<a id="1184" class="Keyword">import</a> <a id="1191" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="1211" class="Symbol">as</a> <a id="1214" class="Module">Mor</a>
<a id="1218" class="Keyword">import</a> <a id="1225" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="1255" class="Symbol">as</a> <a id="1258" class="Module">MR</a>
<a id="1261" class="Keyword">import</a> <a id="1268" href="Categories.NaturalTransformation.Hom.html" class="Module">Categories.NaturalTransformation.Hom</a> <a id="1305" class="Symbol">as</a> <a id="1308" class="Module">NT-Hom</a>
<a id="1316" class="Keyword">open</a> <a id="1321" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1330" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="1332" class="Keyword">using</a> <a id="1338" class="Symbol">(</a><a id="1339" class="Keyword">module</a> <a id="1346" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="1358" class="Symbol">;</a> <a id="1360" href="Categories.Category.Core.html#630" class="Field">id</a><a id="1362" class="Symbol">;</a> <a id="1364" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="1367" class="Symbol">;</a> <a id="1369" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a><a id="1378" class="Symbol">;</a> <a id="1380" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a><a id="1389" class="Symbol">;</a> <a id="1391" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="1394" class="Symbol">;</a> <a id="1396" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a><a id="1405" class="Symbol">;</a> <a id="1407" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a><a id="1416" class="Symbol">)</a>
<a id="1418" class="Keyword">open</a> <a id="1423" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="1436" class="Keyword">open</a> <a id="1441" href="Categories.NaturalTransformation.Core.html#466" class="Module">NaturalTransformation</a>
<a id="1463" class="Keyword">open</a> <a id="1468" href="Categories.Yoneda.html#2049" class="Module">Yoneda</a> <a id="1475" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="1477" class="Keyword">using</a> <a id="1483" class="Symbol">(</a><a id="1484" href="Categories.Yoneda.html#2422" class="Function">embed</a><a id="1489" class="Symbol">;</a> <a id="1491" href="Categories.Yoneda.html#2791" class="Function">yoneda-inverse</a><a id="1505" class="Symbol">;</a> <a id="1507" class="Keyword">module</a> <a id="1514" href="Categories.Yoneda.html#7311" class="Module">yoneda</a><a id="1520" class="Symbol">)</a>
<a id="1522" class="Keyword">private</a>
<a id="1532" class="Keyword">module</a> <a id="CE"></a><a id="1539" href="Categories.Yoneda.Properties.html#1539" class="Module">CE</a> <a id="1542" class="Symbol">=</a> <a id="1544" href="Categories.Category.Core.html#1530" class="Module">Category.Equiv</a> <a id="1559" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="1561" class="Keyword">using</a> <a id="1567" class="Symbol">(</a><a id="1568" href="Relation.Binary.Structures.html#1596" class="Function">refl</a><a id="1572" class="Symbol">)</a>
<a id="1576" class="Keyword">module</a> <a id="C"></a><a id="1583" href="Categories.Yoneda.Properties.html#1583" class="Module">C</a> <a id="1585" class="Symbol">=</a> <a id="1587" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1596" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="1598" class="Keyword">using</a> <a id="1604" class="Symbol">(</a><a id="1605" href="Categories.Category.Core.html#3132" class="Function">op</a><a id="1607" class="Symbol">;</a> <a id="1609" href="Categories.Category.Core.html#630" class="Field">id</a><a id="1611" class="Symbol">)</a>
<a id="YoFull"></a><a id="1614" href="Categories.Yoneda.Properties.html#1614" class="Function">YoFull</a> <a id="1621" class="Symbol">:</a> <a id="1623" href="Categories.Functor.Properties.html#1132" class="Function">Full</a> <a id="1628" href="Categories.Yoneda.html#2422" class="Function">embed</a>
<a id="1634" href="Categories.Yoneda.Properties.html#1614" class="Function">YoFull</a> <a id="1641" class="Symbol">{</a><a id="1642" href="Categories.Yoneda.Properties.html#1642" class="Bound">X</a><a id="1643" class="Symbol">}</a> <a id="1645" class="Symbol">{</a><a id="1646" href="Categories.Yoneda.Properties.html#1646" class="Bound">Y</a><a id="1647" class="Symbol">}</a> <a id="1649" href="Categories.Yoneda.Properties.html#1649" class="Bound">ε</a> <a id="1651" class="Symbol">=</a> <a id="1653" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="1661" class="Symbol">(</a><a id="1662" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="1664" href="Categories.Yoneda.Properties.html#1649" class="Bound">ε</a> <a id="1666" href="Categories.Yoneda.Properties.html#1642" class="Bound">X</a><a id="1667" class="Symbol">)</a> <a id="1669" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1672" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="1674" class="Symbol">λ</a> <a id="1676" class="Symbol">{</a><a id="1677" href="Categories.Yoneda.Properties.html#1677" class="Bound">A</a><a id="1678" class="Symbol">}</a> <a id="1680" class="Symbol">{</a><a id="1681" href="Categories.Yoneda.Properties.html#1681" class="Bound">x</a><a id="1682" class="Symbol">}</a> <a id="1684" class="Symbol"></a> <a id="1686" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="1694" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="1702" class="Symbol">(</a><a id="1703" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="1705" href="Categories.Yoneda.Properties.html#1649" class="Bound">ε</a> <a id="1707" href="Categories.Yoneda.Properties.html#1642" class="Bound">X</a><a id="1708" class="Symbol">)</a> <a id="1710" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1713" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1715" href="Categories.Yoneda.Properties.html#1681" class="Bound">x</a> <a id="1724" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="1728" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="1738" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="1742" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1745" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1747" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="1755" class="Symbol">(</a><a id="1756" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="1758" href="Categories.Yoneda.Properties.html#1649" class="Bound">ε</a> <a id="1760" href="Categories.Yoneda.Properties.html#1642" class="Bound">X</a><a id="1761" class="Symbol">)</a> <a id="1763" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1766" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1768" href="Categories.Yoneda.Properties.html#1681" class="Bound">x</a> <a id="1772" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1775" href="Categories.NaturalTransformation.Core.html#1043" class="Field">sym-commute</a> <a id="1787" href="Categories.Yoneda.Properties.html#1649" class="Bound">ε</a> <a id="1789" href="Categories.Yoneda.Properties.html#1681" class="Bound">x</a> <a id="1791" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="1795" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="1803" class="Symbol">(</a><a id="1804" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="1806" href="Categories.Yoneda.Properties.html#1649" class="Bound">ε</a> <a id="1808" href="Categories.Yoneda.Properties.html#1677" class="Bound">A</a><a id="1809" class="Symbol">)</a> <a id="1811" class="Symbol">(</a><a id="1812" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1815" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1817" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1820" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1822" href="Categories.Yoneda.Properties.html#1681" class="Bound">x</a><a id="1823" class="Symbol">)</a> <a id="1825" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1828" href="Function.Bundles.html#2113" class="Field">Func.cong</a> <a id="1838" class="Symbol">(</a><a id="1839" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="1841" href="Categories.Yoneda.Properties.html#1649" class="Bound">ε</a> <a id="1843" href="Categories.Yoneda.Properties.html#1677" class="Bound">A</a><a id="1844" class="Symbol">)</a> <a id="1846" class="Symbol">(</a><a id="1847" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="1857" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="1859" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a><a id="1868" class="Symbol">)</a> <a id="1870" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="1874" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="1882" class="Symbol">(</a><a id="1883" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="1885" href="Categories.Yoneda.Properties.html#1649" class="Bound">ε</a> <a id="1887" href="Categories.Yoneda.Properties.html#1677" class="Bound">A</a><a id="1888" class="Symbol">)</a> <a id="1890" href="Categories.Yoneda.Properties.html#1681" class="Bound">x</a> <a id="1904" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="YoFaithful"></a><a id="1907" href="Categories.Yoneda.Properties.html#1907" class="Function">YoFaithful</a> <a id="1918" class="Symbol">:</a> <a id="1920" href="Categories.Functor.Properties.html#987" class="Function">Faithful</a> <a id="1929" href="Categories.Yoneda.html#2422" class="Function">embed</a>
<a id="1935" href="Categories.Yoneda.Properties.html#1907" class="Function">YoFaithful</a> <a id="1946" class="Symbol">{</a><a id="1947" href="Categories.Yoneda.Properties.html#1947" class="Bound">X</a><a id="1948" class="Symbol">}</a> <a id="1950" class="Symbol">{</a><a id="1951" href="Categories.Yoneda.Properties.html#1951" class="Bound">Y</a><a id="1952" class="Symbol">}</a> <a id="1954" class="Symbol">{</a><a id="1955" href="Categories.Yoneda.Properties.html#1955" class="Bound">f</a><a id="1956" class="Symbol">}</a> <a id="1958" class="Symbol">{</a><a id="1959" href="Categories.Yoneda.Properties.html#1959" class="Bound">g</a><a id="1960" class="Symbol">}</a> <a id="1962" href="Categories.Yoneda.Properties.html#1962" class="Bound">p</a> <a id="1964" class="Symbol">=</a> <a id="1966" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="1974" href="Categories.Yoneda.Properties.html#1955" class="Bound">f</a> <a id="1981" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="1985" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="1995" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="1999" href="Categories.Yoneda.Properties.html#1955" class="Bound">f</a> <a id="2001" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2003" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2006" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2009" href="Categories.Yoneda.Properties.html#1962" class="Bound">p</a> <a id="2011" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2015" href="Categories.Yoneda.Properties.html#1959" class="Bound">g</a> <a id="2017" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2019" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2022" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2025" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="2035" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2039" href="Categories.Yoneda.Properties.html#1959" class="Bound">g</a> <a id="2046" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="YoFullyFaithful"></a><a id="2049" href="Categories.Yoneda.Properties.html#2049" class="Function">YoFullyFaithful</a> <a id="2065" class="Symbol">:</a> <a id="2067" href="Categories.Functor.Properties.html#1268" class="Function">FullyFaithful</a> <a id="2081" href="Categories.Yoneda.html#2422" class="Function">embed</a>
<a id="2087" href="Categories.Yoneda.Properties.html#2049" class="Function">YoFullyFaithful</a> <a id="2103" class="Symbol">=</a> <a id="2105" href="Categories.Yoneda.Properties.html#1614" class="Function">YoFull</a> <a id="2112" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="2114" href="Categories.Yoneda.Properties.html#1907" class="Function">YoFaithful</a>
<a id="2126" class="Keyword">open</a> <a id="2131" href="Categories.Morphism.html" class="Module">Mor</a> <a id="2135" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="2137" class="Keyword">using</a> <a id="2143" class="Symbol">(</a><a id="2144" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a><a id="2147" class="Symbol">)</a>
<a id="yoneda-iso"></a><a id="2150" href="Categories.Yoneda.Properties.html#2150" class="Function">yoneda-iso</a> <a id="2161" class="Symbol">:</a> <a id="2163" class="Symbol"></a> <a id="2165" class="Symbol">{</a><a id="2166" href="Categories.Yoneda.Properties.html#2166" class="Bound">A</a> <a id="2168" href="Categories.Yoneda.Properties.html#2168" class="Bound">B</a> <a id="2170" class="Symbol">:</a> <a id="2172" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="2175" class="Symbol">}</a> <a id="2177" class="Symbol"></a> <a id="2179" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a> <a id="2198" href="Categories.Functor.Hom.html#1738" class="Function Operator">Hom[</a> <a id="2203" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="2205" href="Categories.Functor.Hom.html#1738" class="Function Operator">][-,</a> <a id="2210" href="Categories.Yoneda.Properties.html#2166" class="Bound">A</a> <a id="2212" href="Categories.Functor.Hom.html#1738" class="Function Operator">]</a> <a id="2214" href="Categories.Functor.Hom.html#1738" class="Function Operator">Hom[</a> <a id="2219" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="2221" href="Categories.Functor.Hom.html#1738" class="Function Operator">][-,</a> <a id="2226" href="Categories.Yoneda.Properties.html#2168" class="Bound">B</a> <a id="2228" href="Categories.Functor.Hom.html#1738" class="Function Operator">]</a> <a id="2230" class="Symbol"></a> <a id="2232" href="Categories.Yoneda.Properties.html#2166" class="Bound">A</a> <a id="2234" href="Categories.Morphism.html#1958" class="Record Operator"></a> <a id="2236" href="Categories.Yoneda.Properties.html#2168" class="Bound">B</a>
<a id="2238" href="Categories.Yoneda.Properties.html#2150" class="Function">yoneda-iso</a> <a id="2249" class="Symbol">{</a><a id="2250" href="Categories.Yoneda.Properties.html#2250" class="Bound">A</a><a id="2251" class="Symbol">}</a> <a id="2253" class="Symbol">{</a><a id="2254" href="Categories.Yoneda.Properties.html#2254" class="Bound">B</a><a id="2255" class="Symbol">}</a> <a id="2257" href="Categories.Yoneda.Properties.html#2257" class="Bound">niso</a> <a id="2262" class="Symbol">=</a> <a id="2264" class="Keyword">record</a>
<a id="2273" class="Symbol">{</a> <a id="2275" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2280" class="Symbol">=</a> <a id="2282" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2286" href="Categories.Yoneda.Properties.html#2250" class="Bound">A</a> <a id="2288" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="2292" href="Categories.Category.Core.html#630" class="Field">id</a>
<a id="2297" class="Symbol">;</a> <a id="2299" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2304" class="Symbol">=</a> <a id="2306" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2310" href="Categories.Yoneda.Properties.html#2254" class="Bound">B</a> <a id="2312" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="2316" href="Categories.Category.Core.html#630" class="Field">id</a>
<a id="2321" class="Symbol">;</a> <a id="2323" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="2328" class="Symbol">=</a> <a id="2330" class="Keyword">record</a>
<a id="2341" class="Symbol">{</a> <a id="2343" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="2348" class="Symbol">=</a> <a id="2350" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="2362" class="Symbol">(</a><a id="2363" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2367" href="Categories.Yoneda.Properties.html#2254" class="Bound">B</a> <a id="2369" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="2373" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2375" class="Symbol">)</a> <a id="2377" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2379" class="Symbol">(</a><a id="2380" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2384" href="Categories.Yoneda.Properties.html#2250" class="Bound">A</a> <a id="2386" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="2390" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2392" class="Symbol">)</a> <a id="2409" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="2413" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="2423" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="2431" href="Categories.Category.Core.html#630" class="Field">C.id</a> <a id="2436" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2438" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="2446" class="Symbol">(</a><a id="2447" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2451" href="Categories.Yoneda.Properties.html#2254" class="Bound">B</a><a id="2452" class="Symbol">)</a> <a id="2454" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2457" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2459" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="2467" class="Symbol">(</a><a id="2468" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2472" href="Categories.Yoneda.Properties.html#2250" class="Bound">A</a><a id="2473" class="Symbol">)</a> <a id="2475" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2478" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2481" href="Function.Structures.html#3388" class="Function">B⇒A.strictlyInverseʳ</a> <a id="2502" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a> <a id="2506" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2514" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="2522" class="Symbol">(</a><a id="2523" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2527" href="Categories.Yoneda.Properties.html#2250" class="Bound">A</a><a id="2528" class="Symbol">)</a> <a id="2530" class="Symbol">(</a><a id="2531" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="2539" class="Symbol">(</a><a id="2540" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2544" href="Categories.Yoneda.Properties.html#2250" class="Bound">A</a><a id="2545" class="Symbol">)</a> <a id="2547" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2549" class="Symbol">)</a> <a id="2561" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2564" href="Categories.Morphism.html#1586" class="Function">iso.isoˡ</a> <a id="2573" href="Categories.Yoneda.Properties.html#2250" class="Bound">A</a> <a id="2575" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2583" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2630" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="2636" class="Symbol">;</a> <a id="2638" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="2643" class="Symbol">=</a> <a id="2645" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="2657" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="2665" class="Symbol">(</a><a id="2666" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2670" href="Categories.Yoneda.Properties.html#2250" class="Bound">A</a><a id="2671" class="Symbol">)</a> <a id="2673" href="Categories.Category.Core.html#630" class="Field">C.id</a> <a id="2678" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2680" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="2688" class="Symbol">(</a><a id="2689" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2693" href="Categories.Yoneda.Properties.html#2254" class="Bound">B</a><a id="2694" class="Symbol">)</a> <a id="2696" href="Categories.Category.Core.html#630" class="Field">C.id</a> <a id="2706" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="2710" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="2720" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="2728" href="Categories.Category.Core.html#630" class="Field">C.id</a> <a id="2733" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2735" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="2743" class="Symbol">(</a><a id="2744" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2748" href="Categories.Yoneda.Properties.html#2250" class="Bound">A</a><a id="2749" class="Symbol">)</a> <a id="2751" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2754" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2756" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="2764" class="Symbol">(</a><a id="2765" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2769" href="Categories.Yoneda.Properties.html#2254" class="Bound">B</a><a id="2770" class="Symbol">)</a> <a id="2772" href="Categories.Category.Core.html#630" class="Field">C.id</a> <a id="2777" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2780" href="Function.Structures.html#3388" class="Function">A⇒B.strictlyInverseʳ</a> <a id="2801" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a> <a id="2805" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2813" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="2821" class="Symbol">(</a><a id="2822" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2826" href="Categories.Yoneda.Properties.html#2254" class="Bound">B</a><a id="2827" class="Symbol">)</a> <a id="2829" class="Symbol">(</a><a id="2830" href="Function.Bundles.html#2094" class="Field">Func.to</a> <a id="2838" class="Symbol">(</a><a id="2839" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2843" href="Categories.Yoneda.Properties.html#2254" class="Bound">B</a><a id="2844" class="Symbol">)</a> <a id="2846" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2848" class="Symbol">)</a> <a id="2862" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2865" href="Categories.Morphism.html#1612" class="Function">iso.isoʳ</a> <a id="2874" href="Categories.Yoneda.Properties.html#2254" class="Bound">B</a> <a id="2876" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2884" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2887" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="2893" class="Symbol">}</a>
<a id="2897" class="Symbol">}</a>
<a id="2901" class="Keyword">where</a>
<a id="2911" class="Keyword">open</a> <a id="2916" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="2935" href="Categories.Yoneda.Properties.html#2257" class="Bound">niso</a>
<a id="2944" href="Categories.Yoneda.Properties.html#2944" class="Function">A⇒B</a> <a id="2948" class="Symbol">=</a> <a id="2950" href="Categories.Yoneda.html#2791" class="Function">yoneda-inverse</a> <a id="2965" href="Categories.Yoneda.Properties.html#2250" class="Bound">A</a> <a id="2967" class="Symbol">(</a><a id="2968" href="Categories.Functor.Core.html#432" class="Field">Functor.F₀</a> <a id="2979" href="Categories.Yoneda.html#2422" class="Function">embed</a> <a id="2985" href="Categories.Yoneda.Properties.html#2254" class="Bound">B</a><a id="2986" class="Symbol">)</a>
<a id="2992" href="Categories.Yoneda.Properties.html#2992" class="Function">B⇒A</a> <a id="2996" class="Symbol">=</a> <a id="2998" href="Categories.Yoneda.html#2791" class="Function">yoneda-inverse</a> <a id="3013" href="Categories.Yoneda.Properties.html#2254" class="Bound">B</a> <a id="3015" class="Symbol">(</a><a id="3016" href="Categories.Functor.Core.html#432" class="Field">Functor.F₀</a> <a id="3027" href="Categories.Yoneda.html#2422" class="Function">embed</a> <a id="3033" href="Categories.Yoneda.Properties.html#2250" class="Bound">A</a><a id="3034" class="Symbol">)</a>
<a id="3040" class="Keyword">module</a> <a id="3047" href="Categories.Yoneda.Properties.html#3047" class="Module">A⇒B</a> <a id="3051" class="Symbol">=</a> <a id="3053" href="Function.Bundles.html#7340" class="Module">Inverse</a> <a id="3061" href="Categories.Yoneda.Properties.html#2944" class="Function">A⇒B</a>
<a id="3069" class="Keyword">module</a> <a id="3076" href="Categories.Yoneda.Properties.html#3076" class="Module">B⇒A</a> <a id="3080" class="Symbol">=</a> <a id="3082" href="Function.Bundles.html#7340" class="Module">Inverse</a> <a id="3090" href="Categories.Yoneda.Properties.html#2992" class="Function">B⇒A</a>
<a id="3095" class="Keyword">module</a> <a id="3102" href="Categories.Yoneda.Properties.html#3102" class="Module">_</a> <a id="3104" class="Symbol">{</a><a id="3105" href="Categories.Yoneda.Properties.html#3105" class="Bound">o</a> <a id="3108" href="Categories.Yoneda.Properties.html#3108" class="Bound"></a> <a id="3111" href="Categories.Yoneda.Properties.html#3111" class="Bound">e</a><a id="3113" class="Symbol">}</a> <a id="3115" class="Symbol">{</a><a id="3116" href="Categories.Yoneda.Properties.html#3116" class="Bound">D</a> <a id="3118" class="Symbol">:</a> <a id="3120" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="3129" href="Categories.Yoneda.Properties.html#3105" class="Bound">o</a> <a id="3132" href="Categories.Yoneda.Properties.html#3108" class="Bound"></a> <a id="3135" href="Categories.Yoneda.Properties.html#3111" class="Bound">e</a><a id="3137" class="Symbol">}</a> <a id="3139" class="Keyword">where</a>
<a id="3147" class="Keyword">private</a>
<a id="3159" class="Keyword">module</a> <a id="3166" href="Categories.Yoneda.Properties.html#3166" class="Module">D</a> <a id="3168" class="Symbol">=</a> <a id="3170" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="3179" href="Categories.Yoneda.Properties.html#3116" class="Bound">D</a> <a id="3181" class="Keyword">using</a> <a id="3187" class="Symbol">(</a><a id="3188" href="Categories.Category.Core.html#630" class="Field">id</a><a id="3190" class="Symbol">)</a>
<a id="3197" class="Keyword">module</a> <a id="3204" href="Categories.Yoneda.Properties.html#3204" class="Module">_</a> <a id="3206" class="Symbol">{</a><a id="3207" href="Categories.Yoneda.Properties.html#3207" class="Bound">F</a> <a id="3209" href="Categories.Yoneda.Properties.html#3209" class="Bound">G</a> <a id="3211" class="Symbol">:</a> <a id="3213" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="3221" href="Categories.Yoneda.Properties.html#3116" class="Bound">D</a> <a id="3223" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a><a id="3224" class="Symbol">}</a> <a id="3226" class="Keyword">where</a>
<a id="3238" class="Keyword">private</a>
<a id="3254" class="Keyword">module</a> <a id="3261" href="Categories.Yoneda.Properties.html#3261" class="Module">F</a> <a id="3263" class="Symbol">=</a> <a id="3265" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="3273" href="Categories.Yoneda.Properties.html#3207" class="Bound">F</a> <a id="3275" class="Keyword">using</a> <a id="3281" class="Symbol">(</a><a id="3282" href="Categories.Functor.Core.html#797" class="Function"></a><a id="3283" class="Symbol">;</a> <a id="3285" href="Categories.Functor.Core.html#806" class="Function"></a><a id="3286" class="Symbol">;</a> <a id="3288" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="3296" class="Symbol">)</a>
<a id="3306" class="Keyword">module</a> <a id="3313" href="Categories.Yoneda.Properties.html#3313" class="Module">G</a> <a id="3315" class="Symbol">=</a> <a id="3317" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="3325" href="Categories.Yoneda.Properties.html#3209" class="Bound">G</a> <a id="3327" class="Keyword">using</a> <a id="3333" class="Symbol">(</a><a id="3334" href="Categories.Functor.Core.html#797" class="Function"></a><a id="3335" class="Symbol">;</a> <a id="3337" href="Categories.Functor.Core.html#806" class="Function"></a><a id="3338" class="Symbol">;</a> <a id="3340" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="3348" class="Symbol">)</a>
<a id="3358" href="Categories.Yoneda.Properties.html#3358" class="Function">Hom[-,F-]</a> <a id="3368" class="Symbol">:</a> <a id="3370" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="3380" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="3385" href="Categories.Yoneda.Properties.html#3116" class="Bound">D</a> <a id="3387" class="Symbol">(</a><a id="3388" href="Categories.Category.Instance.Setoids.html#555" class="Function">Setoids</a> <a id="3396" href="Categories.Yoneda.Properties.html#237" class="Bound"></a> <a id="3398" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="3399" class="Symbol">)</a>
<a id="3409" href="Categories.Yoneda.Properties.html#3358" class="Function">Hom[-,F-]</a> <a id="3419" class="Symbol">=</a> <a id="3421" href="Categories.Functor.Hom.html#1578" class="Function Operator">Hom[</a> <a id="3426" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="3428" href="Categories.Functor.Hom.html#1578" class="Function Operator">][-,-]</a> <a id="3435" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3438" class="Symbol">(</a><a id="3439" href="Categories.Yoneda.Properties.html#710" class="Function">idF</a> <a id="3443" href="Categories.Category.Product.html#1962" class="Function Operator"></a> <a id="3445" href="Categories.Yoneda.Properties.html#3207" class="Bound">F</a><a id="3446" class="Symbol">)</a>
<a id="3457" href="Categories.Yoneda.Properties.html#3457" class="Function">Hom[-,G-]</a> <a id="3467" class="Symbol">:</a> <a id="3469" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="3479" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="3484" href="Categories.Yoneda.Properties.html#3116" class="Bound">D</a> <a id="3486" class="Symbol">(</a><a id="3487" href="Categories.Category.Instance.Setoids.html#555" class="Function">Setoids</a> <a id="3495" href="Categories.Yoneda.Properties.html#237" class="Bound"></a> <a id="3497" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="3498" class="Symbol">)</a>
<a id="3508" href="Categories.Yoneda.Properties.html#3457" class="Function">Hom[-,G-]</a> <a id="3518" class="Symbol">=</a> <a id="3520" href="Categories.Functor.Hom.html#1578" class="Function Operator">Hom[</a> <a id="3525" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="3527" href="Categories.Functor.Hom.html#1578" class="Function Operator">][-,-]</a> <a id="3534" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3537" class="Symbol">(</a><a id="3538" href="Categories.Yoneda.Properties.html#710" class="Function">idF</a> <a id="3542" href="Categories.Category.Product.html#1962" class="Function Operator"></a> <a id="3544" href="Categories.Yoneda.Properties.html#3209" class="Bound">G</a><a id="3545" class="Symbol">)</a>
<a id="3554" href="Categories.Yoneda.Properties.html#3554" class="Function">nat-appʳ</a> <a id="3563" class="Symbol">:</a> <a id="3565" class="Symbol"></a> <a id="3567" href="Categories.Yoneda.Properties.html#3567" class="Bound">X</a> <a id="3569" class="Symbol"></a> <a id="3571" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="3593" href="Categories.Yoneda.Properties.html#3358" class="Function">Hom[-,F-]</a> <a id="3603" href="Categories.Yoneda.Properties.html#3457" class="Function">Hom[-,G-]</a> <a id="3613" class="Symbol"></a>
<a id="3638" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="3660" href="Categories.Functor.Hom.html#1738" class="Function Operator">Hom[</a> <a id="3665" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="3667" href="Categories.Functor.Hom.html#1738" class="Function Operator">][-,</a> <a id="3672" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="3676" href="Categories.Yoneda.Properties.html#3567" class="Bound">X</a> <a id="3678" href="Categories.Functor.Hom.html#1738" class="Function Operator">]</a> <a id="3680" href="Categories.Functor.Hom.html#1738" class="Function Operator">Hom[</a> <a id="3685" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="3687" href="Categories.Functor.Hom.html#1738" class="Function Operator">][-,</a> <a id="3692" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="3696" href="Categories.Yoneda.Properties.html#3567" class="Bound">X</a> <a id="3698" href="Categories.Functor.Hom.html#1738" class="Function Operator">]</a>
<a id="3706" href="Categories.Yoneda.Properties.html#3554" class="Function">nat-appʳ</a> <a id="3715" href="Categories.Yoneda.Properties.html#3715" class="Bound">X</a> <a id="3717" href="Categories.Yoneda.Properties.html#3717" class="Bound">α</a> <a id="3719" class="Symbol">=</a> <a id="3721" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="3730" class="Keyword">record</a>
<a id="3745" class="Symbol">{</a> <a id="3747" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="3755" class="Symbol">=</a> <a id="3757" class="Symbol">λ</a> <a id="3759" href="Categories.Yoneda.Properties.html#3759" class="Bound">Y</a> <a id="3761" class="Symbol"></a> <a id="3763" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="3765" href="Categories.Yoneda.Properties.html#3717" class="Bound">α</a> <a id="3767" class="Symbol">(</a><a id="3768" href="Categories.Yoneda.Properties.html#3759" class="Bound">Y</a> <a id="3770" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3772" href="Categories.Yoneda.Properties.html#3715" class="Bound">X</a><a id="3773" class="Symbol">)</a>
<a id="3783" class="Symbol">;</a> <a id="3785" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="3793" class="Symbol">=</a> <a id="3795" class="Symbol">λ</a> <a id="3797" class="Symbol">{</a><a id="3798" href="Categories.Yoneda.Properties.html#3798" class="Bound">_</a> <a id="3800" href="Categories.Yoneda.Properties.html#3800" class="Bound">Y</a><a id="3801" class="Symbol">}</a> <a id="3803" href="Categories.Yoneda.Properties.html#3803" class="Bound">f</a> <a id="3805" class="Symbol"></a> <a id="3807" href="Function.Bundles.html#2113" class="Field">Func.cong</a> <a id="3817" class="Symbol">(</a><a id="3818" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="3820" href="Categories.Yoneda.Properties.html#3717" class="Bound">α</a> <a id="3822" class="Symbol">(</a><a id="3823" href="Categories.Yoneda.Properties.html#3800" class="Bound">Y</a> <a id="3825" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3827" href="Categories.Yoneda.Properties.html#3715" class="Bound">X</a><a id="3828" class="Symbol">))</a> <a id="3831" class="Symbol">(</a><a id="3832" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="3842" class="Symbol">(</a><a id="3843" href="Categories.Category.Core.html#3005" class="Function"></a> <a id="3845" href="Categories.Functor.Core.html#511" class="Function">F.identity</a><a id="3855" class="Symbol">))</a> <a id="3858" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="3860" href="Categories.NaturalTransformation.Core.html#827" class="Field">commute</a> <a id="3868" href="Categories.Yoneda.Properties.html#3717" class="Bound">α</a> <a id="3870" class="Symbol">(</a><a id="3871" href="Categories.Yoneda.Properties.html#3803" class="Bound">f</a> <a id="3873" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="3875" href="Categories.Category.Core.html#630" class="Field">D.id</a><a id="3879" class="Symbol">)</a> <a id="3881" href="Categories.Category.Core.html#3061" class="Function Operator"></a> <a id="3883" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="3893" href="Categories.Functor.Core.html#511" class="Field">G.identity</a>
<a id="3912" class="Symbol">}</a>
<a id="3921" href="Categories.Yoneda.Properties.html#3921" class="Function">transform</a> <a id="3931" class="Symbol">:</a> <a id="3933" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="3955" href="Categories.Yoneda.Properties.html#3358" class="Function">Hom[-,F-]</a> <a id="3965" href="Categories.Yoneda.Properties.html#3457" class="Function">Hom[-,G-]</a> <a id="3975" class="Symbol"></a> <a id="3977" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="3999" href="Categories.Yoneda.Properties.html#3207" class="Bound">F</a> <a id="4001" href="Categories.Yoneda.Properties.html#3209" class="Bound">G</a>
<a id="4009" href="Categories.Yoneda.Properties.html#3921" class="Function">transform</a> <a id="4019" href="Categories.Yoneda.Properties.html#4019" class="Bound">α</a> <a id="4021" class="Symbol">=</a> <a id="4023" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="4032" class="Keyword">record</a>
<a id="4047" class="Symbol">{</a> <a id="4049" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="4057" class="Symbol">=</a> <a id="4059" class="Symbol">λ</a> <a id="4061" href="Categories.Yoneda.Properties.html#4061" class="Bound">X</a> <a id="4063" class="Symbol"></a> <a id="4065" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4067" href="Categories.Yoneda.Properties.html#4019" class="Bound">α</a> <a id="4069" class="Symbol">(</a><a id="4070" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4074" href="Categories.Yoneda.Properties.html#4061" class="Bound">X</a> <a id="4076" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4078" href="Categories.Yoneda.Properties.html#4061" class="Bound">X</a><a id="4079" class="Symbol">)</a> <a id="4081" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="4085" href="Categories.Category.Core.html#630" class="Field">id</a>
<a id="4096" class="Symbol">;</a> <a id="4098" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="4106" class="Symbol">=</a> <a id="4108" class="Symbol">λ</a> <a id="4110" class="Symbol">{</a><a id="4111" href="Categories.Yoneda.Properties.html#4111" class="Bound">X</a> <a id="4113" href="Categories.Yoneda.Properties.html#4113" class="Bound">Y</a><a id="4114" class="Symbol">}</a> <a id="4116" href="Categories.Yoneda.Properties.html#4116" class="Bound">f</a> <a id="4118" class="Symbol"></a> <a id="4120" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="4136" class="Symbol">(</a><a id="4137" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4139" href="Categories.Yoneda.Properties.html#4019" class="Bound">α</a> <a id="4141" class="Symbol">(</a><a id="4142" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4146" href="Categories.Yoneda.Properties.html#4113" class="Bound">Y</a> <a id="4148" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4150" href="Categories.Yoneda.Properties.html#4113" class="Bound">Y</a><a id="4151" class="Symbol">)</a> <a id="4153" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="4157" href="Categories.Category.Core.html#630" class="Field">id</a><a id="4159" class="Symbol">)</a> <a id="4161" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4163" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4167" href="Categories.Yoneda.Properties.html#4116" class="Bound">f</a> <a id="4174" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="4178" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="4188" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="4200" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4203" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4205" class="Symbol">(</a><a id="4206" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4208" href="Categories.Yoneda.Properties.html#4019" class="Bound">α</a> <a id="4210" class="Symbol">(</a><a id="4211" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4215" href="Categories.Yoneda.Properties.html#4113" class="Bound">Y</a> <a id="4217" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4219" href="Categories.Yoneda.Properties.html#4113" class="Bound">Y</a><a id="4220" class="Symbol">)</a> <a id="4222" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="4226" href="Categories.Category.Core.html#630" class="Field">id</a><a id="4228" class="Symbol">)</a> <a id="4230" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4232" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4236" href="Categories.Yoneda.Properties.html#4116" class="Bound">f</a> <a id="4238" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="4242" href="Level.html#479" class="Field">lower</a> <a id="4248" class="Symbol">(</a><a id="4249" href="Categories.NaturalTransformation.Core.html#827" class="Function">yoneda.⇒.commute</a> <a id="4266" class="Symbol">{</a><a id="4267" class="Argument">Y</a> <a id="4269" class="Symbol">=</a> <a id="4271" href="Categories.Functor.Hom.html#1738" class="Function Operator">Hom[</a> <a id="4276" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="4278" href="Categories.Functor.Hom.html#1738" class="Function Operator">][-,</a> <a id="4283" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="4287" href="Categories.Yoneda.Properties.html#4113" class="Bound">Y</a> <a id="4289" href="Categories.Functor.Hom.html#1738" class="Function Operator">]</a> <a id="4291" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4293" class="Symbol">_}</a> <a id="4296" class="Symbol">(</a><a id="4297" href="Categories.Yoneda.Properties.html#1035" class="Function">idN</a> <a id="4301" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4303" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4307" href="Categories.Yoneda.Properties.html#4116" class="Bound">f</a><a id="4308" class="Symbol">)</a> <a id="4310" class="Symbol">{</a><a id="4311" href="Categories.Yoneda.Properties.html#3554" class="Function">nat-appʳ</a> <a id="4320" href="Categories.Yoneda.Properties.html#4113" class="Bound">Y</a> <a id="4322" href="Categories.Yoneda.Properties.html#4019" class="Bound">α</a><a id="4323" class="Symbol">})</a> <a id="4326" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="4338" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4340" href="Categories.Yoneda.Properties.html#4019" class="Bound">α</a> <a id="4342" class="Symbol">(</a><a id="4343" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4347" href="Categories.Yoneda.Properties.html#4111" class="Bound">X</a> <a id="4349" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4351" href="Categories.Yoneda.Properties.html#4113" class="Bound">Y</a><a id="4352" class="Symbol">)</a> <a id="4354" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="4358" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4362" href="Categories.Yoneda.Properties.html#4116" class="Bound">f</a> <a id="4364" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4366" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4377" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4380" href="Function.Bundles.html#2113" class="Field">Func.cong</a> <a id="4390" class="Symbol">(</a><a id="4391" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4393" href="Categories.Yoneda.Properties.html#4019" class="Bound">α</a> <a id="4395" class="Symbol">(</a><a id="4396" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4400" href="Categories.Yoneda.Properties.html#4111" class="Bound">X</a> <a id="4402" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4404" href="Categories.Yoneda.Properties.html#4113" class="Bound">Y</a><a id="4405" class="Symbol">))</a> <a id="4408" class="Symbol">(</a><a id="4409" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="4419" class="Symbol">(</a><a id="4420" href="Categories.Category.Core.html#3005" class="Function"></a> <a id="4422" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a><a id="4431" class="Symbol">))</a> <a id="4434" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4446" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4448" href="Categories.Yoneda.Properties.html#4019" class="Bound">α</a> <a id="4450" class="Symbol">(</a><a id="4451" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4455" href="Categories.Yoneda.Properties.html#4111" class="Bound">X</a> <a id="4457" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4459" href="Categories.Yoneda.Properties.html#4113" class="Bound">Y</a><a id="4460" class="Symbol">)</a> <a id="4462" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="4466" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4470" href="Categories.Yoneda.Properties.html#4116" class="Bound">f</a> <a id="4472" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4474" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4477" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4479" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4484" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4487" href="Categories.NaturalTransformation.Core.html#827" class="Field">commute</a> <a id="4495" href="Categories.Yoneda.Properties.html#4019" class="Bound">α</a> <a id="4497" class="Symbol">(</a><a id="4498" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4501" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4503" href="Categories.Yoneda.Properties.html#4116" class="Bound">f</a><a id="4504" class="Symbol">)</a> <a id="4506" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4518" href="Categories.Functor.Core.html#806" class="Function">G.₁</a> <a id="4522" href="Categories.Yoneda.Properties.html#4116" class="Bound">f</a> <a id="4524" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4526" class="Symbol">(</a><a id="4527" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4529" href="Categories.Yoneda.Properties.html#4019" class="Bound">α</a> <a id="4531" class="Symbol">(</a><a id="4532" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4536" href="Categories.Yoneda.Properties.html#4111" class="Bound">X</a> <a id="4538" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4540" href="Categories.Yoneda.Properties.html#4111" class="Bound">X</a><a id="4541" class="Symbol">)</a> <a id="4543" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="4547" href="Categories.Category.Core.html#630" class="Field">id</a><a id="4549" class="Symbol">)</a> <a id="4551" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4553" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4556" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4559" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4567" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="4577" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4589" href="Categories.Functor.Core.html#806" class="Function">G.₁</a> <a id="4593" href="Categories.Yoneda.Properties.html#4116" class="Bound">f</a> <a id="4595" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4597" class="Symbol">(</a><a id="4598" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4600" href="Categories.Yoneda.Properties.html#4019" class="Bound">α</a> <a id="4602" class="Symbol">(</a><a id="4603" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4607" href="Categories.Yoneda.Properties.html#4111" class="Bound">X</a> <a id="4609" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="4611" href="Categories.Yoneda.Properties.html#4111" class="Bound">X</a><a id="4612" class="Symbol">)</a> <a id="4614" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="4618" href="Categories.Category.Core.html#630" class="Field">id</a><a id="4620" class="Symbol">)</a> <a id="4627" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="4637" class="Symbol">}</a>
<a id="4642" class="Keyword">module</a> <a id="4649" href="Categories.Yoneda.Properties.html#4649" class="Module">_</a> <a id="4651" class="Symbol">(</a><a id="4652" href="Categories.Yoneda.Properties.html#4652" class="Bound">F</a> <a id="4654" href="Categories.Yoneda.Properties.html#4654" class="Bound">G</a> <a id="4656" class="Symbol">:</a> <a id="4658" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="4666" href="Categories.Yoneda.Properties.html#3116" class="Bound">D</a> <a id="4668" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a><a id="4669" class="Symbol">)</a> <a id="4671" class="Keyword">where</a>
<a id="4681" class="Keyword">private</a>
<a id="4695" class="Keyword">module</a> <a id="4702" href="Categories.Yoneda.Properties.html#4702" class="Module">F</a> <a id="4704" class="Symbol">=</a> <a id="4706" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="4714" href="Categories.Yoneda.Properties.html#4652" class="Bound">F</a> <a id="4716" class="Keyword">using</a> <a id="4722" class="Symbol">(</a><a id="4723" href="Categories.Functor.Core.html#797" class="Function"></a><a id="4724" class="Symbol">)</a>
<a id="4732" class="Keyword">module</a> <a id="4739" href="Categories.Yoneda.Properties.html#4739" class="Module">G</a> <a id="4741" class="Symbol">=</a> <a id="4743" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="4751" href="Categories.Yoneda.Properties.html#4654" class="Bound">G</a> <a id="4753" class="Keyword">using</a> <a id="4759" class="Symbol">(</a><a id="4760" href="Categories.Functor.Core.html#797" class="Function"></a><a id="4761" class="Symbol">)</a>
<a id="4769" href="Categories.Yoneda.Properties.html#4769" class="Function">Hom[-,F-]</a> <a id="4779" class="Symbol">:</a> <a id="4781" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="4791" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="4796" href="Categories.Yoneda.Properties.html#3116" class="Bound">D</a> <a id="4798" class="Symbol">(</a><a id="4799" href="Categories.Category.Instance.Setoids.html#555" class="Function">Setoids</a> <a id="4807" href="Categories.Yoneda.Properties.html#237" class="Bound"></a> <a id="4809" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="4810" class="Symbol">)</a>
<a id="4818" href="Categories.Yoneda.Properties.html#4769" class="Function">Hom[-,F-]</a> <a id="4828" class="Symbol">=</a> <a id="4830" href="Categories.Functor.Hom.html#1578" class="Function Operator">Hom[</a> <a id="4835" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="4837" href="Categories.Functor.Hom.html#1578" class="Function Operator">][-,-]</a> <a id="4844" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="4847" class="Symbol">(</a><a id="4848" href="Categories.Yoneda.Properties.html#710" class="Function">idF</a> <a id="4852" href="Categories.Category.Product.html#1962" class="Function Operator"></a> <a id="4854" href="Categories.Yoneda.Properties.html#4652" class="Bound">F</a><a id="4855" class="Symbol">)</a>
<a id="4864" href="Categories.Yoneda.Properties.html#4864" class="Function">Hom[-,G-]</a> <a id="4874" class="Symbol">:</a> <a id="4876" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="4886" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="4891" href="Categories.Yoneda.Properties.html#3116" class="Bound">D</a> <a id="4893" class="Symbol">(</a><a id="4894" href="Categories.Category.Instance.Setoids.html#555" class="Function">Setoids</a> <a id="4902" href="Categories.Yoneda.Properties.html#237" class="Bound"></a> <a id="4904" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="4905" class="Symbol">)</a>
<a id="4913" href="Categories.Yoneda.Properties.html#4864" class="Function">Hom[-,G-]</a> <a id="4923" class="Symbol">=</a> <a id="4925" href="Categories.Functor.Hom.html#1578" class="Function Operator">Hom[</a> <a id="4930" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="4932" href="Categories.Functor.Hom.html#1578" class="Function Operator">][-,-]</a> <a id="4939" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="4942" class="Symbol">(</a><a id="4943" href="Categories.Yoneda.Properties.html#710" class="Function">idF</a> <a id="4947" href="Categories.Category.Product.html#1962" class="Function Operator"></a> <a id="4949" href="Categories.Yoneda.Properties.html#4654" class="Bound">G</a><a id="4950" class="Symbol">)</a>
<a id="4957" class="Comment">-- The implicits given below are sometimes needed (yellow), sometimes make an enormous difference in</a>
<a id="5062" class="Comment">-- typechecking time. For example, in yoneda.⇒.commute, &quot;nat-appʳ X F⇐G&quot; is needed, while</a>
<a id="5156" class="Comment">-- nat-appʳ {F = G} {F} X F⇐G makes a huge difference in checking time.</a>
<a id="5232" href="Categories.Yoneda.Properties.html#5232" class="Function">yoneda-NI</a> <a id="5242" class="Symbol">:</a> <a id="5244" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a> <a id="5263" href="Categories.Yoneda.Properties.html#4769" class="Function">Hom[-,F-]</a> <a id="5273" href="Categories.Yoneda.Properties.html#4864" class="Function">Hom[-,G-]</a> <a id="5283" class="Symbol"></a> <a id="5285" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a> <a id="5304" href="Categories.Yoneda.Properties.html#4652" class="Bound">F</a> <a id="5306" href="Categories.Yoneda.Properties.html#4654" class="Bound">G</a>
<a id="5312" href="Categories.Yoneda.Properties.html#5232" class="Function">yoneda-NI</a> <a id="5322" href="Categories.Yoneda.Properties.html#5322" class="Bound">ni</a> <a id="5325" class="Symbol">=</a> <a id="5327" class="Keyword">record</a>
<a id="5340" class="Symbol">{</a> <a id="5342" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a> <a id="5346" class="Symbol">=</a> <a id="5348" href="Categories.Yoneda.Properties.html#3921" class="Function">transform</a> <a id="5358" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a>
<a id="5368" class="Symbol">;</a> <a id="5370" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a> <a id="5374" class="Symbol">=</a> <a id="5376" href="Categories.Yoneda.Properties.html#3921" class="Function">transform</a> <a id="5386" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a>
<a id="5396" class="Symbol">;</a> <a id="5398" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1051" class="Field">iso</a> <a id="5402" class="Symbol">=</a> <a id="5404" class="Symbol">λ</a> <a id="5406" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="5408" class="Symbol"></a> <a id="5410" class="Keyword">record</a>
<a id="5425" class="Symbol">{</a> <a id="5427" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="5432" class="Symbol">=</a> <a id="5434" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="5450" class="Symbol">(</a><a id="5451" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="5455" class="Symbol">(</a><a id="5456" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="5460" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="5462" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5464" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="5465" class="Symbol">)</a> <a id="5467" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="5471" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5473" class="Symbol">)</a> <a id="5475" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5477" class="Symbol">(</a><a id="5478" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="5482" class="Symbol">(</a><a id="5483" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="5487" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="5489" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5491" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="5492" class="Symbol">)</a> <a id="5494" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="5498" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5500" class="Symbol">)</a> <a id="5507" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5510" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a> <a id="5517" href="Relation.Binary.Structures.html#1596" class="Function">CE.refl</a> <a id="5525" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5537" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="5540" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5542" class="Symbol">(</a><a id="5543" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="5547" class="Symbol">(</a><a id="5548" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="5552" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="5554" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5556" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="5557" class="Symbol">)</a> <a id="5559" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="5563" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5565" class="Symbol">)</a> <a id="5567" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5569" class="Symbol">(</a><a id="5570" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="5574" class="Symbol">(</a><a id="5575" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="5579" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="5581" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5583" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="5584" class="Symbol">)</a> <a id="5586" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="5590" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5592" class="Symbol">)</a> <a id="5594" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="5598" href="Level.html#479" class="Field">lower</a> <a id="5604" class="Symbol">{</a><a id="5605" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="5606" class="Symbol">}</a> <a id="5608" class="Symbol">(</a><a id="5609" href="Categories.NaturalTransformation.Core.html#827" class="Function">yoneda.⇒.commute</a> <a id="5626" class="Symbol">{</a><a id="5627" class="Argument">Y</a> <a id="5629" class="Symbol">=</a> <a id="5631" href="Categories.Functor.Hom.html#1738" class="Function Operator">Hom[</a> <a id="5636" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="5638" href="Categories.Functor.Hom.html#1738" class="Function Operator">][-,</a> <a id="5643" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="5647" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="5649" href="Categories.Functor.Hom.html#1738" class="Function Operator">]</a> <a id="5651" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5653" class="Symbol">_}</a>
<a id="5738" class="Symbol">(</a><a id="5739" href="Categories.Yoneda.Properties.html#1035" class="Function">idN</a> <a id="5743" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5745" class="Symbol">(</a><a id="5746" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="5750" class="Symbol">(</a><a id="5751" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="5755" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="5757" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5759" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="5760" class="Symbol">)</a> <a id="5762" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="5766" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5768" class="Symbol">))</a>
<a id="5853" class="Symbol">{</a><a id="5854" href="Categories.Yoneda.Properties.html#3554" class="Function">nat-appʳ</a> <a id="5863" class="Symbol">{</a><a id="5864" class="Argument">F</a> <a id="5866" class="Symbol">=</a> <a id="5868" href="Categories.Yoneda.Properties.html#4654" class="Bound">G</a><a id="5869" class="Symbol">}</a> <a id="5871" class="Symbol">{</a><a id="5872" href="Categories.Yoneda.Properties.html#4652" class="Bound">F</a><a id="5873" class="Symbol">}</a> <a id="5875" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="5877" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a><a id="5880" class="Symbol">}</a> <a id="5882" class="Symbol">)</a> <a id="5885" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="5897" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="5901" class="Symbol">(</a><a id="5902" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="5906" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="5908" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5910" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="5911" class="Symbol">)</a> <a id="5913" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="5917" class="Symbol">(</a><a id="5918" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="5922" class="Symbol">(</a><a id="5923" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="5927" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="5929" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="5931" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="5932" class="Symbol">)</a> <a id="5934" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="5938" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5940" class="Symbol">)</a> <a id="5942" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5944" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="5954" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5957" href="Function.Bundles.html#2113" class="Field">Func.cong</a> <a id="5967" class="Symbol">(</a><a id="5968" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="5972" class="Symbol">_)</a> <a id="5975" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="5985" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5997" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6001" class="Symbol">(</a><a id="6002" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6006" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6008" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6010" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="6011" class="Symbol">)</a> <a id="6013" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6017" class="Symbol">(</a><a id="6018" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="6022" class="Symbol">(</a><a id="6023" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6027" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6029" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6031" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="6032" class="Symbol">)</a> <a id="6034" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6038" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6040" class="Symbol">)</a> <a id="6054" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6057" href="Categories.Morphism.html#1586" class="Function">iso.isoˡ</a> <a id="6066" class="Symbol">_</a> <a id="6068" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="6080" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="6132" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="6142" class="Symbol">;</a> <a id="6144" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="6149" class="Symbol">=</a> <a id="6151" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="6167" class="Symbol">(</a><a id="6168" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="6172" class="Symbol">(</a><a id="6173" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6177" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6179" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6181" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="6182" class="Symbol">)</a> <a id="6184" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6188" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6190" class="Symbol">)</a> <a id="6192" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="6194" class="Symbol">(</a><a id="6195" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6199" class="Symbol">(</a><a id="6200" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="6204" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6206" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6208" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="6209" class="Symbol">)</a> <a id="6211" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6215" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6217" class="Symbol">)</a> <a id="6224" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6227" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a> <a id="6234" href="Relation.Binary.Structures.html#1596" class="Function">CE.refl</a> <a id="6242" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="6254" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="6257" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="6259" class="Symbol">(</a><a id="6260" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="6264" class="Symbol">(</a><a id="6265" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6269" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6271" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6273" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="6274" class="Symbol">)</a> <a id="6276" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6280" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6282" class="Symbol">)</a> <a id="6284" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="6286" class="Symbol">(</a><a id="6287" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6291" class="Symbol">(</a><a id="6292" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="6296" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6298" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6300" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="6301" class="Symbol">)</a> <a id="6303" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6307" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6309" class="Symbol">)</a> <a id="6311" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="6315" href="Level.html#479" class="Field">lower</a> <a id="6321" class="Symbol">{</a><a id="6322" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="6323" class="Symbol">}</a> <a id="6325" class="Symbol">(</a><a id="6326" href="Categories.NaturalTransformation.Core.html#827" class="Function">yoneda.⇒.commute</a> <a id="6343" class="Symbol">{</a><a id="6344" class="Argument">Y</a> <a id="6346" class="Symbol">=</a> <a id="6348" href="Categories.Functor.Hom.html#1738" class="Function Operator">Hom[</a> <a id="6353" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="6355" href="Categories.Functor.Hom.html#1738" class="Function Operator">][-,</a> <a id="6360" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="6364" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6366" href="Categories.Functor.Hom.html#1738" class="Function Operator">]</a> <a id="6368" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6370" class="Symbol">_}</a>
<a id="6456" class="Symbol">(</a><a id="6457" href="Categories.Yoneda.Properties.html#1035" class="Function">idN</a> <a id="6461" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6463" class="Symbol">(</a><a id="6464" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6468" class="Symbol">(</a><a id="6469" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="6473" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6475" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6477" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="6478" class="Symbol">)</a> <a id="6480" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6484" href="Categories.Category.Core.html#630" class="Field">C.id</a><a id="6488" class="Symbol">))</a>
<a id="6574" class="Symbol">{</a><a id="6575" href="Categories.Yoneda.Properties.html#3554" class="Function">nat-appʳ</a> <a id="6584" class="Symbol">{</a><a id="6585" class="Argument">F</a> <a id="6587" class="Symbol">=</a> <a id="6589" href="Categories.Yoneda.Properties.html#4652" class="Bound">F</a><a id="6590" class="Symbol">}</a> <a id="6592" class="Symbol">{</a><a id="6593" href="Categories.Yoneda.Properties.html#4654" class="Bound">G</a><a id="6594" class="Symbol">}</a> <a id="6596" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6598" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a><a id="6601" class="Symbol">}</a> <a id="6603" class="Symbol">)</a> <a id="6606" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="6618" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="6622" class="Symbol">(</a><a id="6623" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="6627" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6629" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6631" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="6632" class="Symbol">)</a> <a id="6634" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6638" class="Symbol">(</a><a id="6639" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6643" class="Symbol">(</a><a id="6644" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="6648" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6650" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6652" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="6653" class="Symbol">)</a> <a id="6655" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6659" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6661" class="Symbol">)</a> <a id="6663" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="6665" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="6675" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6678" href="Function.Bundles.html#2113" class="Field">Func.cong</a> <a id="6688" class="Symbol">(</a><a id="6689" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="6693" class="Symbol">_)</a> <a id="6696" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="6706" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="6718" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="6722" class="Symbol">(</a><a id="6723" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="6727" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6729" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6731" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="6732" class="Symbol">)</a> <a id="6734" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6738" class="Symbol">(</a><a id="6739" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6743" class="Symbol">(</a><a id="6744" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="6748" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a> <a id="6750" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="6752" href="Categories.Yoneda.Properties.html#5406" class="Bound">X</a><a id="6753" class="Symbol">)</a> <a id="6755" href="Function.Bundles.html#15133" class="Function Operator">⟨$⟩</a> <a id="6759" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6761" class="Symbol">)</a> <a id="6775" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6778" href="Categories.Morphism.html#1612" class="Function">iso.isoʳ</a> <a id="6787" class="Symbol">_</a> <a id="6789" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="6801" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="6857" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="6867" class="Symbol">}</a>
<a id="6875" class="Symbol">}</a>
<a id="6883" class="Keyword">where</a>
<a id="6895" class="Keyword">open</a> <a id="6900" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="6919" href="Categories.Yoneda.Properties.html#5322" class="Bound">ni</a> <a id="6922" class="Keyword">using</a> <a id="6928" class="Symbol">(</a><a id="6929" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a><a id="6932" class="Symbol">;</a> <a id="6934" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a><a id="6937" class="Symbol">;</a> <a id="6939" class="Keyword">module</a> <a id="6946" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1008" class="Module"></a><a id="6947" class="Symbol">;</a> <a id="6949" class="Keyword">module</a> <a id="6956" href="Categories.NaturalTransformation.NaturalIsomorphism.html#969" class="Module"></a><a id="6957" class="Symbol">;</a> <a id="6959" class="Keyword">module</a> <a id="6966" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1104" class="Module">iso</a><a id="6969" class="Symbol">)</a>
<a id="6977" class="Keyword">open</a> <a id="6982" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="6985" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="6987" class="Keyword">using</a> <a id="6993" class="Symbol">(</a><a id="6994" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a><a id="7000" class="Symbol">)</a>
</pre></body></html>