mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
168 lines
97 KiB
HTML
168 lines
97 KiB
HTML
|
<!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#591" 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#1928" 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#5801" class="Record">Inverse</a><a id="359" class="Symbol">)</a>
|
|||
|
<a id="361" class="Keyword">open</a> <a id="366" class="Keyword">import</a> <a id="373" href="Function.Equality.html" class="Module">Function.Equality</a> <a id="391" class="Keyword">using</a> <a id="397" class="Symbol">(</a><a id="398" href="Function.Equality.html#898" class="Record">Π</a><a id="399" class="Symbol">;</a> <a id="401" href="Function.Equality.html#1073" class="Field Operator">_⟨$⟩_</a><a id="406" class="Symbol">;</a> <a id="408" href="Function.Equality.html#1140" class="Field">cong</a><a id="412" class="Symbol">)</a>
|
|||
|
<a id="414" class="Keyword">open</a> <a id="419" class="Keyword">import</a> <a id="426" href="Relation.Binary.Bundles.html" class="Module">Relation.Binary.Bundles</a> <a id="450" class="Keyword">using</a> <a id="456" class="Symbol">(</a><a id="457" class="Keyword">module</a> <a id="464" href="Relation.Binary.Bundles.html#1018" class="Module">Setoid</a><a id="470" class="Symbol">)</a>
|
|||
|
<a id="472" class="Keyword">import</a> <a id="479" href="Relation.Binary.Reasoning.Setoid.html" class="Module">Relation.Binary.Reasoning.Setoid</a> <a id="512" class="Symbol">as</a> <a id="515" class="Module">SetoidR</a>
|
|||
|
<a id="523" class="Keyword">open</a> <a id="528" class="Keyword">import</a> <a id="535" href="Data.Product.html" class="Module">Data.Product</a> <a id="548" class="Keyword">using</a> <a id="554" class="Symbol">(</a><a id="555" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="558" class="Symbol">;</a> <a id="560" href="Agda.Builtin.Sigma.html#148" class="Record">Σ</a><a id="561" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="564" class="Keyword">open</a> <a id="569" class="Keyword">import</a> <a id="576" href="Categories.Category.Product.html" class="Module">Categories.Category.Product</a>
|
|||
|
<a id="604" class="Keyword">open</a> <a id="609" class="Keyword">import</a> <a id="616" href="Categories.Category.Construction.Presheaves.html" class="Module">Categories.Category.Construction.Presheaves</a>
|
|||
|
<a id="660" class="Keyword">open</a> <a id="665" class="Keyword">import</a> <a id="672" href="Categories.Category.Construction.Functors.html" class="Module">Categories.Category.Construction.Functors</a>
|
|||
|
<a id="714" class="Keyword">open</a> <a id="719" class="Keyword">import</a> <a id="726" href="Categories.Category.Instance.Setoids.html" class="Module">Categories.Category.Instance.Setoids</a>
|
|||
|
<a id="763" class="Keyword">open</a> <a id="768" class="Keyword">import</a> <a id="775" href="Categories.Functor.html" class="Module">Categories.Functor</a> <a id="794" class="Keyword">renaming</a> <a id="803" class="Symbol">(</a><a id="804" href="Categories.Functor.html#349" class="Function">id</a> <a id="807" class="Symbol">to</a> <a id="810" class="Function">idF</a><a id="813" class="Symbol">)</a>
|
|||
|
<a id="815" class="Keyword">open</a> <a id="820" class="Keyword">import</a> <a id="827" href="Categories.Functor.Properties.html" class="Module">Categories.Functor.Properties</a> <a id="857" class="Keyword">using</a> <a id="863" class="Symbol">(</a><a id="864" href="Categories.Functor.Properties.html#1121" class="Function">Full</a><a id="868" class="Symbol">;</a> <a id="870" href="Categories.Functor.Properties.html#973" class="Function">Faithful</a><a id="878" class="Symbol">;</a> <a id="880" href="Categories.Functor.Properties.html#1428" class="Function">FullyFaithful</a><a id="893" class="Symbol">)</a>
|
|||
|
<a id="895" class="Keyword">open</a> <a id="900" class="Keyword">import</a> <a id="907" href="Categories.Functor.Hom.html" class="Module">Categories.Functor.Hom</a> <a id="930" class="Keyword">using</a> <a id="936" class="Symbol">(</a><a id="937" class="Keyword">module</a> <a id="944" href="Categories.Functor.Hom.html#625" class="Module">Hom</a><a id="947" class="Symbol">;</a> <a id="949" href="Categories.Functor.Hom.html#3133" class="Function Operator">Hom[_][-,_]</a><a id="960" class="Symbol">;</a> <a id="962" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[_][-,-]</a><a id="973" class="Symbol">)</a>
|
|||
|
<a id="975" class="Keyword">open</a> <a id="980" class="Keyword">import</a> <a id="987" href="Categories.Functor.Bifunctor.html" class="Module">Categories.Functor.Bifunctor</a>
|
|||
|
<a id="1016" class="Keyword">open</a> <a id="1021" class="Keyword">import</a> <a id="1028" href="Categories.Functor.Presheaf.html" class="Module">Categories.Functor.Presheaf</a>
|
|||
|
<a id="1056" class="Keyword">open</a> <a id="1061" class="Keyword">import</a> <a id="1068" href="Categories.Functor.Construction.LiftSetoids.html" class="Module">Categories.Functor.Construction.LiftSetoids</a>
|
|||
|
<a id="1112" class="Keyword">open</a> <a id="1117" class="Keyword">import</a> <a id="1124" href="Categories.NaturalTransformation.html" class="Module">Categories.NaturalTransformation</a> <a id="1157" class="Keyword">using</a> <a id="1163" class="Symbol">(</a><a id="1164" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a><a id="1185" class="Symbol">;</a> <a id="1187" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a><a id="1195" class="Symbol">)</a> <a id="1197" class="Keyword">renaming</a> <a id="1206" class="Symbol">(</a><a id="1207" href="Categories.NaturalTransformation.Core.html#2132" class="Function">id</a> <a id="1210" class="Symbol">to</a> <a id="1213" class="Function">idN</a><a id="1216" class="Symbol">)</a>
|
|||
|
<a id="1218" class="Keyword">open</a> <a id="1223" class="Keyword">import</a> <a id="1230" href="Categories.NaturalTransformation.NaturalIsomorphism.html" class="Module">Categories.NaturalTransformation.NaturalIsomorphism</a> <a id="1282" class="Keyword">using</a> <a id="1288" class="Symbol">(</a><a id="1289" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a><a id="1307" class="Symbol">)</a>
|
|||
|
<a id="1309" class="Keyword">open</a> <a id="1314" class="Keyword">import</a> <a id="1321" href="Categories.Yoneda.html" class="Module">Categories.Yoneda</a>
|
|||
|
|
|||
|
<a id="1340" class="Keyword">import</a> <a id="1347" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="1367" class="Symbol">as</a> <a id="1370" class="Module">Mor</a>
|
|||
|
<a id="1374" class="Keyword">import</a> <a id="1381" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="1411" class="Symbol">as</a> <a id="1414" class="Module">MR</a>
|
|||
|
<a id="1417" class="Keyword">import</a> <a id="1424" href="Categories.NaturalTransformation.Hom.html" class="Module">Categories.NaturalTransformation.Hom</a> <a id="1461" class="Symbol">as</a> <a id="1464" class="Module">NT-Hom</a>
|
|||
|
|
|||
|
<a id="1472" class="Keyword">open</a> <a id="1477" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1486" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="1488" class="Keyword">using</a> <a id="1494" class="Symbol">(</a><a id="1495" class="Keyword">module</a> <a id="1502" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a><a id="1514" class="Symbol">;</a> <a id="1516" href="Categories.Category.Core.html#630" class="Field">id</a><a id="1518" class="Symbol">;</a> <a id="1520" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a><a id="1523" class="Symbol">;</a> <a id="1525" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a><a id="1534" class="Symbol">;</a> <a id="1536" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a><a id="1545" class="Symbol">;</a> <a id="1547" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="1550" class="Symbol">;</a> <a id="1552" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a><a id="1561" class="Symbol">;</a> <a id="1563" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a><a id="1572" class="Symbol">)</a>
|
|||
|
<a id="1574" class="Keyword">open</a> <a id="1579" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
|||
|
<a id="1592" class="Keyword">open</a> <a id="1597" href="Categories.NaturalTransformation.Core.html#466" class="Module">NaturalTransformation</a> <a id="1619" class="Keyword">using</a> <a id="1625" class="Symbol">(</a><a id="1626" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a><a id="1627" class="Symbol">;</a> <a id="1629" href="Categories.NaturalTransformation.Core.html#827" class="Field">commute</a><a id="1636" class="Symbol">)</a>
|
|||
|
<a id="1638" class="Keyword">open</a> <a id="1643" href="Categories.Yoneda.html#2057" class="Module">Yoneda</a> <a id="1650" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="1652" class="Keyword">using</a> <a id="1658" class="Symbol">(</a><a id="1659" href="Categories.Yoneda.html#2417" class="Function">embed</a><a id="1664" class="Symbol">;</a> <a id="1666" href="Categories.Yoneda.html#2824" class="Function">yoneda-inverse</a><a id="1680" class="Symbol">;</a> <a id="1682" class="Keyword">module</a> <a id="1689" href="Categories.Yoneda.html#7717" class="Module">yoneda</a><a id="1695" class="Symbol">)</a>
|
|||
|
<a id="1697" class="Keyword">private</a>
|
|||
|
<a id="1707" class="Keyword">module</a> <a id="CE"></a><a id="1714" href="Categories.Yoneda.Properties.html#1714" class="Module">CE</a> <a id="1717" class="Symbol">=</a> <a id="1719" href="Categories.Category.Core.html#1530" class="Module">Category.Equiv</a> <a id="1734" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="1736" class="Keyword">using</a> <a id="1742" class="Symbol">(</a><a id="1743" href="Relation.Binary.Structures.html#1577" class="Function">refl</a><a id="1747" class="Symbol">)</a>
|
|||
|
<a id="1751" class="Keyword">module</a> <a id="C"></a><a id="1758" href="Categories.Yoneda.Properties.html#1758" class="Module">C</a> <a id="1760" class="Symbol">=</a> <a id="1762" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1771" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="1773" class="Keyword">using</a> <a id="1779" class="Symbol">(</a><a id="1780" href="Categories.Category.Core.html#3132" class="Function">op</a><a id="1782" class="Symbol">;</a> <a id="1784" href="Categories.Category.Core.html#630" class="Field">id</a><a id="1786" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="YoFull"></a><a id="1789" href="Categories.Yoneda.Properties.html#1789" class="Function">YoFull</a> <a id="1796" class="Symbol">:</a> <a id="1798" href="Categories.Functor.Properties.html#1121" class="Function">Full</a> <a id="1803" href="Categories.Yoneda.html#2417" class="Function">embed</a>
|
|||
|
<a id="1809" href="Categories.Yoneda.Properties.html#1789" class="Function">YoFull</a> <a id="1816" class="Symbol">{</a><a id="1817" href="Categories.Yoneda.Properties.html#1817" class="Bound">X</a><a id="1818" class="Symbol">}</a> <a id="1820" class="Symbol">{</a><a id="1821" href="Categories.Yoneda.Properties.html#1821" class="Bound">Y</a><a id="1822" class="Symbol">}</a> <a id="1824" class="Symbol">=</a> <a id="1826" class="Keyword">record</a>
|
|||
|
<a id="1835" class="Symbol">{</a> <a id="1837" href="Function.Surjection.html#1185" class="Field">from</a> <a id="1854" class="Symbol">=</a> <a id="1856" class="Keyword">record</a> <a id="1863" class="Symbol">{</a> <a id="1865" href="Function.Equality.html#1073" class="Field Operator">_⟨$⟩_</a> <a id="1871" class="Symbol">=</a> <a id="1873" class="Symbol">λ</a> <a id="1875" href="Categories.Yoneda.Properties.html#1875" class="Bound">ε</a> <a id="1877" class="Symbol">→</a> <a id="1879" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="1881" href="Categories.Yoneda.Properties.html#1875" class="Bound">ε</a> <a id="1883" href="Categories.Yoneda.Properties.html#1817" class="Bound">X</a> <a id="1885" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="1889" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1892" class="Symbol">;</a> <a id="1894" href="Function.Equality.html#1140" class="Field">cong</a> <a id="1899" class="Symbol">=</a> <a id="1901" class="Symbol">λ</a> <a id="1903" href="Categories.Yoneda.Properties.html#1903" class="Bound">i≈j</a> <a id="1907" class="Symbol">→</a> <a id="1909" href="Categories.Yoneda.Properties.html#1903" class="Bound">i≈j</a> <a id="1913" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="1921" class="Symbol">}</a>
|
|||
|
<a id="1925" class="Symbol">;</a> <a id="1927" href="Function.Surjection.html#1218" class="Field">right-inverse-of</a> <a id="1944" class="Symbol">=</a> <a id="1946" class="Symbol">λ</a> <a id="1948" href="Categories.Yoneda.Properties.html#1948" class="Bound">ε</a> <a id="1950" class="Symbol">{</a><a id="1951" href="Categories.Yoneda.Properties.html#1951" class="Bound">x</a><a id="1952" class="Symbol">}</a> <a id="1954" class="Symbol">{</a><a id="1955" href="Categories.Yoneda.Properties.html#1955" class="Bound">z</a><a id="1956" class="Symbol">}</a> <a id="1958" class="Symbol">{</a><a id="1959" href="Categories.Yoneda.Properties.html#1959" class="Bound">y</a><a id="1960" class="Symbol">}</a> <a id="1962" href="Categories.Yoneda.Properties.html#1962" class="Bound">z≈y</a> <a id="1966" class="Symbol">→</a>
|
|||
|
<a id="1972" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="1984" class="Symbol">(</a><a id="1985" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="1987" href="Categories.Yoneda.Properties.html#1948" class="Bound">ε</a> <a id="1989" href="Categories.Yoneda.Properties.html#1817" class="Bound">X</a> <a id="1991" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="1995" href="Categories.Category.Core.html#630" class="Field">id</a><a id="1997" class="Symbol">)</a> <a id="1999" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2001" href="Categories.Yoneda.Properties.html#1955" class="Bound">z</a> <a id="2008" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="2012" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="2022" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="2030" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2033" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2035" class="Symbol">(</a><a id="2036" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="2038" href="Categories.Yoneda.Properties.html#1948" class="Bound">ε</a> <a id="2040" href="Categories.Yoneda.Properties.html#1817" class="Bound">X</a> <a id="2042" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2046" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2048" class="Symbol">)</a> <a id="2050" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2052" href="Categories.Yoneda.Properties.html#1955" class="Bound">z</a> <a id="2054" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="2058" href="Categories.NaturalTransformation.Core.html#827" class="Field">commute</a> <a id="2066" href="Categories.Yoneda.Properties.html#1948" class="Bound">ε</a> <a id="2068" href="Categories.Yoneda.Properties.html#1955" class="Bound">z</a> <a id="2070" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="2078" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="2086" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="2088" href="Categories.Yoneda.Properties.html#1948" class="Bound">ε</a> <a id="2090" href="Categories.Yoneda.Properties.html#1951" class="Bound">x</a> <a id="2092" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2096" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2099" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2101" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2104" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2106" href="Categories.Yoneda.Properties.html#1955" class="Bound">z</a> <a id="2110" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2113" href="Function.Equality.html#1140" class="Field">cong</a> <a id="2118" class="Symbol">(</a><a id="2119" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="2121" href="Categories.Yoneda.Properties.html#1948" class="Bound">ε</a> <a id="2123" href="Categories.Yoneda.Properties.html#1951" class="Bound">x</a><a id="2124" class="Symbol">)</a> <a id="2126" class="Symbol">(</a><a id="2127" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="2137" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="2139" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="2149" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="2151" href="Categories.Yoneda.Properties.html#1962" class="Bound">z≈y</a><a id="2154" class="Symbol">)</a> <a id="2156" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2164" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="2166" href="Categories.Yoneda.Properties.html#1948" class="Bound">ε</a> <a id="2168" href="Categories.Yoneda.Properties.html#1951" class="Bound">x</a> <a id="2170" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2174" href="Categories.Yoneda.Properties.html#1959" class="Bound">y</a> <a id="2188" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
<a id="2192" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="YoFaithful"></a><a id="2195" href="Categories.Yoneda.Properties.html#2195" class="Function">YoFaithful</a> <a id="2206" class="Symbol">:</a> <a id="2208" href="Categories.Functor.Properties.html#973" class="Function">Faithful</a> <a id="2217" href="Categories.Yoneda.html#2417" class="Function">embed</a>
|
|||
|
<a id="2223" href="Categories.Yoneda.Properties.html#2195" class="Function">YoFaithful</a> <a id="2234" href="Categories.Yoneda.Properties.html#2234" class="Bound">f</a> <a id="2236" href="Categories.Yoneda.Properties.html#2236" class="Bound">g</a> <a id="2238" href="Categories.Yoneda.Properties.html#2238" class="Bound">pres-≈</a> <a id="2245" class="Symbol">=</a> <a id="2247" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="2255" href="Categories.Yoneda.Properties.html#2234" class="Bound">f</a> <a id="2262" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="2266" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="2276" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="2280" href="Categories.Yoneda.Properties.html#2234" class="Bound">f</a> <a id="2282" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2284" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2287" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2290" href="Categories.Yoneda.Properties.html#2238" class="Bound">pres-≈</a> <a id="2297" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="2305" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2309" href="Categories.Yoneda.Properties.html#2236" class="Bound">g</a> <a id="2311" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2313" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2316" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2319" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="2329" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2333" href="Categories.Yoneda.Properties.html#2236" class="Bound">g</a> <a id="2340" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="YoFullyFaithful"></a><a id="2343" href="Categories.Yoneda.Properties.html#2343" class="Function">YoFullyFaithful</a> <a id="2359" class="Symbol">:</a> <a id="2361" href="Categories.Functor.Properties.html#1428" class="Function">FullyFaithful</a> <a id="2375" href="Categories.Yoneda.html#2417" class="Function">embed</a>
|
|||
|
<a id="2381" href="Categories.Yoneda.Properties.html#2343" class="Function">YoFullyFaithful</a> <a id="2397" class="Symbol">=</a> <a id="2399" href="Categories.Yoneda.Properties.html#1789" class="Function">YoFull</a> <a id="2406" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="2408" href="Categories.Yoneda.Properties.html#2195" class="Function">YoFaithful</a>
|
|||
|
|
|||
|
<a id="2420" class="Keyword">open</a> <a id="2425" href="Categories.Morphism.html" class="Module">Mor</a> <a id="2429" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="2431" class="Keyword">using</a> <a id="2437" class="Symbol">(</a><a id="2438" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a><a id="2441" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="yoneda-iso"></a><a id="2444" href="Categories.Yoneda.Properties.html#2444" class="Function">yoneda-iso</a> <a id="2455" class="Symbol">:</a> <a id="2457" class="Symbol">∀</a> <a id="2459" class="Symbol">{</a><a id="2460" href="Categories.Yoneda.Properties.html#2460" class="Bound">A</a> <a id="2462" href="Categories.Yoneda.Properties.html#2462" class="Bound">B</a> <a id="2464" class="Symbol">:</a> <a id="2466" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="2469" class="Symbol">}</a> <a id="2471" class="Symbol">→</a> <a id="2473" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a> <a id="2492" href="Categories.Functor.Hom.html#3133" class="Function Operator">Hom[</a> <a id="2497" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="2499" href="Categories.Functor.Hom.html#3133" class="Function Operator">][-,</a> <a id="2504" href="Categories.Yoneda.Properties.html#2460" class="Bound">A</a> <a id="2506" href="Categories.Functor.Hom.html#3133" class="Function Operator">]</a> <a id="2508" href="Categories.Functor.Hom.html#3133" class="Function Operator">Hom[</a> <a id="2513" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="2515" href="Categories.Functor.Hom.html#3133" class="Function Operator">][-,</a> <a id="2520" href="Categories.Yoneda.Properties.html#2462" class="Bound">B</a> <a id="2522" href="Categories.Functor.Hom.html#3133" class="Function Operator">]</a> <a id="2524" class="Symbol">→</a> <a id="2526" href="Categories.Yoneda.Properties.html#2460" class="Bound">A</a> <a id="2528" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="2530" href="Categories.Yoneda.Properties.html#2462" class="Bound">B</a>
|
|||
|
<a id="2532" href="Categories.Yoneda.Properties.html#2444" class="Function">yoneda-iso</a> <a id="2543" class="Symbol">{</a><a id="2544" href="Categories.Yoneda.Properties.html#2544" class="Bound">A</a><a id="2545" class="Symbol">}</a> <a id="2547" class="Symbol">{</a><a id="2548" href="Categories.Yoneda.Properties.html#2548" class="Bound">B</a><a id="2549" class="Symbol">}</a> <a id="2551" href="Categories.Yoneda.Properties.html#2551" class="Bound">niso</a> <a id="2556" class="Symbol">=</a> <a id="2558" class="Keyword">record</a>
|
|||
|
<a id="2567" class="Symbol">{</a> <a id="2569" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2574" class="Symbol">=</a> <a id="2576" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2580" href="Categories.Yoneda.Properties.html#2544" class="Bound">A</a> <a id="2582" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2586" href="Categories.Category.Core.html#630" class="Field">id</a>
|
|||
|
<a id="2591" class="Symbol">;</a> <a id="2593" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2598" class="Symbol">=</a> <a id="2600" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2604" href="Categories.Yoneda.Properties.html#2548" class="Bound">B</a> <a id="2606" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2610" href="Categories.Category.Core.html#630" class="Field">id</a>
|
|||
|
<a id="2615" class="Symbol">;</a> <a id="2617" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="2622" class="Symbol">=</a> <a id="2624" class="Keyword">record</a>
|
|||
|
<a id="2635" class="Symbol">{</a> <a id="2637" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="2642" class="Symbol">=</a> <a id="2644" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="2656" class="Symbol">(</a><a id="2657" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2661" href="Categories.Yoneda.Properties.html#2548" class="Bound">B</a> <a id="2663" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2667" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2669" class="Symbol">)</a> <a id="2671" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2673" class="Symbol">(</a><a id="2674" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2678" href="Categories.Yoneda.Properties.html#2544" class="Bound">A</a> <a id="2680" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2684" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2686" class="Symbol">)</a> <a id="2693" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="2697" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="2707" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="2715" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2718" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2720" class="Symbol">(</a><a id="2721" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2725" href="Categories.Yoneda.Properties.html#2548" class="Bound">B</a> <a id="2727" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2731" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2733" class="Symbol">)</a> <a id="2735" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2737" class="Symbol">(</a><a id="2738" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2742" href="Categories.Yoneda.Properties.html#2544" class="Bound">A</a> <a id="2744" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2748" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2750" class="Symbol">)</a> <a id="2752" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2756" href="Function.Bundles.html#6081" class="Function">B⇒A.inverseʳ</a> <a id="2769" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a> <a id="2773" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="2782" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2790" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2794" href="Categories.Yoneda.Properties.html#2544" class="Bound">A</a> <a id="2796" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2800" class="Symbol">(</a><a id="2801" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2805" href="Categories.Yoneda.Properties.html#2544" class="Bound">A</a> <a id="2807" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2811" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2813" class="Symbol">)</a> <a id="2827" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2830" href="Categories.Morphism.html#1586" class="Function">isoX.isoˡ</a> <a id="2840" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="2848" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2856" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2893" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
<a id="2899" class="Symbol">;</a> <a id="2901" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="2906" class="Symbol">=</a> <a id="2908" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="2920" class="Symbol">(</a><a id="2921" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2925" href="Categories.Yoneda.Properties.html#2544" class="Bound">A</a> <a id="2927" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2931" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2933" class="Symbol">)</a> <a id="2935" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2937" class="Symbol">(</a><a id="2938" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="2942" href="Categories.Yoneda.Properties.html#2548" class="Bound">B</a> <a id="2944" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2948" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2950" class="Symbol">)</a> <a id="2957" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="2961" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="2971" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="2979" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2982" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2984" class="Symbol">(</a><a id="2985" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="2989" href="Categories.Yoneda.Properties.html#2544" class="Bound">A</a> <a id="2991" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="2995" href="Categories.Category.Core.html#630" class="Field">id</a><a id="2997" class="Symbol">)</a> <a id="2999" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3001" class="Symbol">(</a><a id="3002" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="3006" href="Categories.Yoneda.Properties.html#2548" class="Bound">B</a> <a id="3008" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="3012" href="Categories.Category.Core.html#630" class="Field">id</a><a id="3014" class="Symbol">)</a> <a id="3016" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3020" href="Function.Bundles.html#6081" class="Function">A⇒B.inverseʳ</a> <a id="3033" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a> <a id="3037" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="3045" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="3053" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="3057" href="Categories.Yoneda.Properties.html#2548" class="Bound">B</a> <a id="3059" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="3063" class="Symbol">(</a><a id="3064" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="3068" href="Categories.Yoneda.Properties.html#2548" class="Bound">B</a> <a id="3070" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="3074" href="Categories.Category.Core.html#630" class="Field">id</a><a id="3076" class="Symbol">)</a> <a id="3090" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3093" href="Categories.Morphism.html#1612" class="Function">isoX.isoʳ</a> <a id="3103" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="3111" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="3119" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="3156" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
<a id="3162" class="Symbol">}</a>
|
|||
|
<a id="3166" class="Symbol">}</a>
|
|||
|
<a id="3170" class="Keyword">where</a>
|
|||
|
<a id="3178" class="Keyword">open</a> <a id="3183" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="3202" href="Categories.Yoneda.Properties.html#2551" class="Bound">niso</a>
|
|||
|
<a id="3209" href="Categories.Yoneda.Properties.html#3209" class="Function">A⇒B</a> <a id="3213" class="Symbol">=</a> <a id="3215" href="Categories.Yoneda.html#2824" class="Function">yoneda-inverse</a> <a id="3230" href="Categories.Yoneda.Properties.html#2544" class="Bound">A</a> <a id="3232" class="Symbol">(</a><a id="3233" href="Categories.Functor.Core.html#432" class="Field">Functor.F₀</a> <a id="3244" href="Categories.Yoneda.html#2417" class="Function">embed</a> <a id="3250" href="Categories.Yoneda.Properties.html#2548" class="Bound">B</a><a id="3251" class="Symbol">)</a>
|
|||
|
<a id="3255" href="Categories.Yoneda.Properties.html#3255" class="Function">B⇒A</a> <a id="3259" class="Symbol">=</a> <a id="3261" href="Categories.Yoneda.html#2824" class="Function">yoneda-inverse</a> <a id="3276" href="Categories.Yoneda.Properties.html#2548" class="Bound">B</a> <a id="3278" class="Symbol">(</a><a id="3279" href="Categories.Functor.Core.html#432" class="Field">Functor.F₀</a> <a id="3290" href="Categories.Yoneda.html#2417" class="Function">embed</a> <a id="3296" href="Categories.Yoneda.Properties.html#2544" class="Bound">A</a><a id="3297" class="Symbol">)</a>
|
|||
|
<a id="3301" class="Keyword">module</a> <a id="3308" href="Categories.Yoneda.Properties.html#3308" class="Module">A⇒B</a> <a id="3312" class="Symbol">=</a> <a id="3314" href="Function.Bundles.html#5801" class="Module">Inverse</a> <a id="3322" href="Categories.Yoneda.Properties.html#3209" class="Function">A⇒B</a> <a id="3326" class="Keyword">using</a> <a id="3332" class="Symbol">(</a><a id="3333" href="Function.Bundles.html#6081" class="Function">inverseʳ</a><a id="3341" class="Symbol">)</a>
|
|||
|
<a id="3345" class="Keyword">module</a> <a id="3352" href="Categories.Yoneda.Properties.html#3352" class="Module">B⇒A</a> <a id="3356" class="Symbol">=</a> <a id="3358" href="Function.Bundles.html#5801" class="Module">Inverse</a> <a id="3366" href="Categories.Yoneda.Properties.html#3255" class="Function">B⇒A</a> <a id="3370" class="Keyword">using</a> <a id="3376" class="Symbol">(</a><a id="3377" href="Function.Bundles.html#6081" class="Function">inverseʳ</a><a id="3385" class="Symbol">)</a>
|
|||
|
<a id="3389" class="Keyword">module</a> <a id="3396" href="Categories.Yoneda.Properties.html#3396" class="Module">isoX</a> <a id="3401" class="Symbol">{</a><a id="3402" href="Categories.Yoneda.Properties.html#3402" class="Bound">X</a><a id="3403" class="Symbol">}</a> <a id="3405" class="Symbol">=</a> <a id="3407" href="Categories.Morphism.html#1528" class="Module">Mor.Iso</a> <a id="3415" class="Symbol">(</a><a id="3416" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1051" class="Field">iso</a> <a id="3420" href="Categories.Yoneda.Properties.html#3402" class="Bound">X</a><a id="3421" class="Symbol">)</a> <a id="3423" class="Keyword">using</a> <a id="3429" class="Symbol">(</a><a id="3430" href="Categories.Morphism.html#1612" class="Field">isoʳ</a><a id="3434" class="Symbol">;</a> <a id="3436" href="Categories.Morphism.html#1586" class="Field">isoˡ</a><a id="3440" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="3443" class="Keyword">module</a> <a id="3450" href="Categories.Yoneda.Properties.html#3450" class="Module">_</a> <a id="3452" class="Symbol">{</a><a id="3453" href="Categories.Yoneda.Properties.html#3453" class="Bound">o′</a> <a id="3456" href="Categories.Yoneda.Properties.html#3456" class="Bound">ℓ′</a> <a id="3459" href="Categories.Yoneda.Properties.html#3459" class="Bound">e′</a><a id="3461" class="Symbol">}</a> <a id="3463" class="Symbol">{</a><a id="3464" href="Categories.Yoneda.Properties.html#3464" class="Bound">D</a> <a id="3466" class="Symbol">:</a> <a id="3468" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="3477" href="Categories.Yoneda.Properties.html#3453" class="Bound">o′</a> <a id="3480" href="Categories.Yoneda.Properties.html#3456" class="Bound">ℓ′</a> <a id="3483" href="Categories.Yoneda.Properties.html#3459" class="Bound">e′</a><a id="3485" class="Symbol">}</a> <a id="3487" class="Keyword">where</a>
|
|||
|
<a id="3495" class="Keyword">private</a>
|
|||
|
<a id="3507" class="Keyword">module</a> <a id="3514" href="Categories.Yoneda.Properties.html#3514" class="Module">D</a> <a id="3516" class="Symbol">=</a> <a id="3518" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="3527" href="Categories.Yoneda.Properties.html#3464" class="Bound">D</a> <a id="3529" class="Keyword">using</a> <a id="3535" class="Symbol">(</a><a id="3536" href="Categories.Category.Core.html#630" class="Field">id</a><a id="3538" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="3545" class="Keyword">module</a> <a id="3552" href="Categories.Yoneda.Properties.html#3552" class="Module">_</a> <a id="3554" class="Symbol">{</a><a id="3555" href="Categories.Yoneda.Properties.html#3555" class="Bound">F</a> <a id="3557" href="Categories.Yoneda.Properties.html#3557" class="Bound">G</a> <a id="3559" class="Symbol">:</a> <a id="3561" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="3569" href="Categories.Yoneda.Properties.html#3464" class="Bound">D</a> <a id="3571" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a><a id="3572" class="Symbol">}</a> <a id="3574" class="Keyword">where</a>
|
|||
|
<a id="3586" class="Keyword">private</a>
|
|||
|
<a id="3602" class="Keyword">module</a> <a id="3609" href="Categories.Yoneda.Properties.html#3609" class="Module">F</a> <a id="3611" class="Symbol">=</a> <a id="3613" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="3621" href="Categories.Yoneda.Properties.html#3555" class="Bound">F</a> <a id="3623" class="Keyword">using</a> <a id="3629" class="Symbol">(</a><a id="3630" href="Categories.Functor.Core.html#797" class="Function">₀</a><a id="3631" class="Symbol">;</a> <a id="3633" href="Categories.Functor.Core.html#806" class="Function">₁</a><a id="3634" class="Symbol">;</a> <a id="3636" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="3644" class="Symbol">)</a>
|
|||
|
<a id="3654" class="Keyword">module</a> <a id="3661" href="Categories.Yoneda.Properties.html#3661" class="Module">G</a> <a id="3663" class="Symbol">=</a> <a id="3665" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="3673" href="Categories.Yoneda.Properties.html#3557" class="Bound">G</a> <a id="3675" class="Keyword">using</a> <a id="3681" class="Symbol">(</a><a id="3682" href="Categories.Functor.Core.html#797" class="Function">₀</a><a id="3683" class="Symbol">;</a> <a id="3685" href="Categories.Functor.Core.html#806" class="Function">₁</a><a id="3686" class="Symbol">;</a> <a id="3688" href="Categories.Functor.Core.html#511" class="Field">identity</a><a id="3696" class="Symbol">)</a>
|
|||
|
<a id="3706" href="Categories.Yoneda.Properties.html#3706" class="Function">Hom[-,F-]</a> <a id="3716" class="Symbol">:</a> <a id="3718" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="3728" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="3733" href="Categories.Yoneda.Properties.html#3464" class="Bound">D</a> <a id="3735" class="Symbol">(</a><a id="3736" href="Categories.Category.Instance.Setoids.html#316" class="Function">Setoids</a> <a id="3744" href="Categories.Yoneda.Properties.html#237" class="Bound">ℓ</a> <a id="3746" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="3747" class="Symbol">)</a>
|
|||
|
<a id="3757" href="Categories.Yoneda.Properties.html#3706" class="Function">Hom[-,F-]</a> <a id="3767" class="Symbol">=</a> <a id="3769" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="3774" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="3776" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="3783" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3786" class="Symbol">(</a><a id="3787" href="Categories.Yoneda.Properties.html#810" class="Function">idF</a> <a id="3791" href="Categories.Category.Product.html#1962" class="Function Operator">⁂</a> <a id="3793" href="Categories.Yoneda.Properties.html#3555" class="Bound">F</a><a id="3794" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="3805" href="Categories.Yoneda.Properties.html#3805" class="Function">Hom[-,G-]</a> <a id="3815" class="Symbol">:</a> <a id="3817" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="3827" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="3832" href="Categories.Yoneda.Properties.html#3464" class="Bound">D</a> <a id="3834" class="Symbol">(</a><a id="3835" href="Categories.Category.Instance.Setoids.html#316" class="Function">Setoids</a> <a id="3843" href="Categories.Yoneda.Properties.html#237" class="Bound">ℓ</a> <a id="3845" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="3846" class="Symbol">)</a>
|
|||
|
<a id="3856" href="Categories.Yoneda.Properties.html#3805" class="Function">Hom[-,G-]</a> <a id="3866" class="Symbol">=</a> <a id="3868" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="3873" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="3875" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="3882" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="3885" class="Symbol">(</a><a id="3886" href="Categories.Yoneda.Properties.html#810" class="Function">idF</a> <a id="3890" href="Categories.Category.Product.html#1962" class="Function Operator">⁂</a> <a id="3892" href="Categories.Yoneda.Properties.html#3557" class="Bound">G</a><a id="3893" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="3902" href="Categories.Yoneda.Properties.html#3902" class="Function">nat-appʳ</a> <a id="3911" class="Symbol">:</a> <a id="3913" class="Symbol">∀</a> <a id="3915" href="Categories.Yoneda.Properties.html#3915" class="Bound">X</a> <a id="3917" class="Symbol">→</a> <a id="3919" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="3941" href="Categories.Yoneda.Properties.html#3706" class="Function">Hom[-,F-]</a> <a id="3951" href="Categories.Yoneda.Properties.html#3805" class="Function">Hom[-,G-]</a> <a id="3961" class="Symbol">→</a>
|
|||
|
<a id="3986" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="4008" href="Categories.Functor.Hom.html#3133" class="Function Operator">Hom[</a> <a id="4013" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="4015" href="Categories.Functor.Hom.html#3133" class="Function Operator">][-,</a> <a id="4020" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4024" href="Categories.Yoneda.Properties.html#3915" class="Bound">X</a> <a id="4026" href="Categories.Functor.Hom.html#3133" class="Function Operator">]</a> <a id="4028" href="Categories.Functor.Hom.html#3133" class="Function Operator">Hom[</a> <a id="4033" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="4035" href="Categories.Functor.Hom.html#3133" class="Function Operator">][-,</a> <a id="4040" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="4044" href="Categories.Yoneda.Properties.html#3915" class="Bound">X</a> <a id="4046" href="Categories.Functor.Hom.html#3133" class="Function Operator">]</a>
|
|||
|
<a id="4054" href="Categories.Yoneda.Properties.html#3902" class="Function">nat-appʳ</a> <a id="4063" href="Categories.Yoneda.Properties.html#4063" class="Bound">X</a> <a id="4065" href="Categories.Yoneda.Properties.html#4065" class="Bound">α</a> <a id="4067" class="Symbol">=</a> <a id="4069" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="4078" class="Keyword">record</a>
|
|||
|
<a id="4093" class="Symbol">{</a> <a id="4095" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="4103" class="Symbol">=</a> <a id="4105" class="Symbol">λ</a> <a id="4107" href="Categories.Yoneda.Properties.html#4107" class="Bound">Y</a> <a id="4109" class="Symbol">→</a> <a id="4111" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4113" href="Categories.Yoneda.Properties.html#4065" class="Bound">α</a> <a id="4115" class="Symbol">(</a><a id="4116" href="Categories.Yoneda.Properties.html#4107" class="Bound">Y</a> <a id="4118" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4120" href="Categories.Yoneda.Properties.html#4063" class="Bound">X</a><a id="4121" class="Symbol">)</a>
|
|||
|
<a id="4131" class="Symbol">;</a> <a id="4133" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="4141" class="Symbol">=</a> <a id="4143" class="Symbol">λ</a> <a id="4145" class="Symbol">{</a><a id="4146" href="Categories.Yoneda.Properties.html#4146" class="Bound">_</a> <a id="4148" href="Categories.Yoneda.Properties.html#4148" class="Bound">Y</a><a id="4149" class="Symbol">}</a> <a id="4151" href="Categories.Yoneda.Properties.html#4151" class="Bound">f</a> <a id="4153" href="Categories.Yoneda.Properties.html#4153" class="Bound">eq</a> <a id="4156" class="Symbol">→</a> <a id="4158" href="Function.Equality.html#1140" class="Field">cong</a> <a id="4163" class="Symbol">(</a><a id="4164" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4166" href="Categories.Yoneda.Properties.html#4065" class="Bound">α</a> <a id="4168" class="Symbol">(</a><a id="4169" href="Categories.Yoneda.Properties.html#4148" class="Bound">Y</a> <a id="4171" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4173" href="Categories.Yoneda.Properties.html#4063" class="Bound">X</a><a id="4174" class="Symbol">))</a> <a id="4177" class="Symbol">(</a><a id="4178" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="4188" class="Symbol">(</a><a id="4189" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="4191" href="Categories.Functor.Core.html#511" class="Function">F.identity</a><a id="4201" class="Symbol">))</a> <a id="4204" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="4206" href="Categories.NaturalTransformation.Core.html#827" class="Field">commute</a> <a id="4214" href="Categories.Yoneda.Properties.html#4065" class="Bound">α</a> <a id="4216" class="Symbol">(</a><a id="4217" href="Categories.Yoneda.Properties.html#4151" class="Bound">f</a> <a id="4219" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4221" href="Categories.Category.Core.html#630" class="Field">D.id</a><a id="4225" class="Symbol">)</a> <a id="4227" href="Categories.Yoneda.Properties.html#4153" class="Bound">eq</a> <a id="4230" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="4232" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="4242" href="Categories.Functor.Core.html#511" class="Field">G.identity</a>
|
|||
|
<a id="4261" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="4270" href="Categories.Yoneda.Properties.html#4270" class="Function">transform</a> <a id="4280" class="Symbol">:</a> <a id="4282" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="4304" href="Categories.Yoneda.Properties.html#3706" class="Function">Hom[-,F-]</a> <a id="4314" href="Categories.Yoneda.Properties.html#3805" class="Function">Hom[-,G-]</a> <a id="4324" class="Symbol">→</a> <a id="4326" href="Categories.NaturalTransformation.Core.html#466" class="Record">NaturalTransformation</a> <a id="4348" href="Categories.Yoneda.Properties.html#3555" class="Bound">F</a> <a id="4350" href="Categories.Yoneda.Properties.html#3557" class="Bound">G</a>
|
|||
|
<a id="4358" href="Categories.Yoneda.Properties.html#4270" class="Function">transform</a> <a id="4368" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a> <a id="4370" class="Symbol">=</a> <a id="4372" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="4381" class="Keyword">record</a>
|
|||
|
<a id="4396" class="Symbol">{</a> <a id="4398" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="4406" class="Symbol">=</a> <a id="4408" class="Symbol">λ</a> <a id="4410" href="Categories.Yoneda.Properties.html#4410" class="Bound">X</a> <a id="4412" class="Symbol">→</a> <a id="4414" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4416" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a> <a id="4418" class="Symbol">(</a><a id="4419" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4423" href="Categories.Yoneda.Properties.html#4410" class="Bound">X</a> <a id="4425" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4427" href="Categories.Yoneda.Properties.html#4410" class="Bound">X</a><a id="4428" class="Symbol">)</a> <a id="4430" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="4434" href="Categories.Category.Core.html#630" class="Field">id</a>
|
|||
|
<a id="4445" class="Symbol">;</a> <a id="4447" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="4455" class="Symbol">=</a> <a id="4457" class="Symbol">λ</a> <a id="4459" class="Symbol">{</a><a id="4460" href="Categories.Yoneda.Properties.html#4460" class="Bound">X</a> <a id="4462" href="Categories.Yoneda.Properties.html#4462" class="Bound">Y</a><a id="4463" class="Symbol">}</a> <a id="4465" href="Categories.Yoneda.Properties.html#4465" class="Bound">f</a> <a id="4467" class="Symbol">→</a> <a id="4469" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="4485" class="Symbol">(</a><a id="4486" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4488" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a> <a id="4490" class="Symbol">(</a><a id="4491" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4495" href="Categories.Yoneda.Properties.html#4462" class="Bound">Y</a> <a id="4497" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4499" href="Categories.Yoneda.Properties.html#4462" class="Bound">Y</a><a id="4500" class="Symbol">)</a> <a id="4502" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="4506" href="Categories.Category.Core.html#630" class="Field">id</a><a id="4508" class="Symbol">)</a> <a id="4510" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4512" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4516" href="Categories.Yoneda.Properties.html#4465" class="Bound">f</a> <a id="4524" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="4528" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="4538" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="4550" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4553" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4555" class="Symbol">(</a><a id="4556" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4558" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a> <a id="4560" class="Symbol">(</a><a id="4561" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4565" href="Categories.Yoneda.Properties.html#4462" class="Bound">Y</a> <a id="4567" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4569" href="Categories.Yoneda.Properties.html#4462" class="Bound">Y</a><a id="4570" class="Symbol">)</a> <a id="4572" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="4576" href="Categories.Category.Core.html#630" class="Field">id</a><a id="4578" class="Symbol">)</a> <a id="4580" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4582" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4586" href="Categories.Yoneda.Properties.html#4465" class="Bound">f</a> <a id="4589" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="4593" href="Level.html#479" class="Field">lower</a> <a id="4599" class="Symbol">(</a><a id="4600" href="Categories.NaturalTransformation.Core.html#827" class="Function">yoneda.⇒.commute</a> <a id="4617" class="Symbol">{</a><a id="4618" class="Argument">Y</a> <a id="4620" class="Symbol">=</a> <a id="4622" href="Categories.Functor.Hom.html#3133" class="Function Operator">Hom[</a> <a id="4627" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="4629" href="Categories.Functor.Hom.html#3133" class="Function Operator">][-,</a> <a id="4634" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="4638" href="Categories.Yoneda.Properties.html#4462" class="Bound">Y</a> <a id="4640" href="Categories.Functor.Hom.html#3133" class="Function Operator">]</a> <a id="4642" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4644" class="Symbol">_}</a> <a id="4647" class="Symbol">(</a><a id="4648" href="Categories.Yoneda.Properties.html#1213" class="Function">idN</a> <a id="4652" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4654" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4658" href="Categories.Yoneda.Properties.html#4465" class="Bound">f</a><a id="4659" class="Symbol">)</a> <a id="4661" class="Symbol">{</a><a id="4662" href="Categories.Yoneda.Properties.html#3902" class="Function">nat-appʳ</a> <a id="4671" href="Categories.Yoneda.Properties.html#4462" class="Bound">Y</a> <a id="4673" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a><a id="4674" class="Symbol">}</a> <a id="4676" class="Symbol">{</a><a id="4677" href="Categories.Yoneda.Properties.html#3902" class="Function">nat-appʳ</a> <a id="4686" href="Categories.Yoneda.Properties.html#4462" class="Bound">Y</a> <a id="4688" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a><a id="4689" class="Symbol">}</a> <a id="4691" class="Symbol">(</a><a id="4692" href="Function.Equality.html#1140" class="Field">cong</a> <a id="4697" class="Symbol">(</a><a id="4698" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4700" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a> <a id="4702" class="Symbol">_)))</a> <a id="4707" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="4719" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4721" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a> <a id="4723" class="Symbol">(</a><a id="4724" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4728" href="Categories.Yoneda.Properties.html#4460" class="Bound">X</a> <a id="4730" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4732" href="Categories.Yoneda.Properties.html#4462" class="Bound">Y</a><a id="4733" class="Symbol">)</a> <a id="4735" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="4739" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4743" href="Categories.Yoneda.Properties.html#4465" class="Bound">f</a> <a id="4745" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4747" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4758" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4761" href="Function.Equality.html#1140" class="Field">cong</a> <a id="4766" class="Symbol">(</a><a id="4767" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4769" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a> <a id="4771" class="Symbol">(</a><a id="4772" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4776" href="Categories.Yoneda.Properties.html#4460" class="Bound">X</a> <a id="4778" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4780" href="Categories.Yoneda.Properties.html#4462" class="Bound">Y</a><a id="4781" class="Symbol">))</a> <a id="4784" class="Symbol">(</a><a id="4785" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="4795" class="Symbol">(</a><a id="4796" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="4798" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a><a id="4807" class="Symbol">))</a> <a id="4810" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="4822" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4824" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a> <a id="4826" class="Symbol">(</a><a id="4827" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4831" href="Categories.Yoneda.Properties.html#4460" class="Bound">X</a> <a id="4833" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4835" href="Categories.Yoneda.Properties.html#4462" class="Bound">Y</a><a id="4836" class="Symbol">)</a> <a id="4838" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="4842" href="Categories.Functor.Core.html#806" class="Function">F.₁</a> <a id="4846" href="Categories.Yoneda.Properties.html#4465" class="Bound">f</a> <a id="4848" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4850" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4853" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4855" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4861" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4864" href="Categories.NaturalTransformation.Core.html#827" class="Field">commute</a> <a id="4872" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a> <a id="4874" class="Symbol">(</a><a id="4875" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4878" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4880" href="Categories.Yoneda.Properties.html#4465" class="Bound">f</a><a id="4881" class="Symbol">)</a> <a id="4883" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="4891" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="4903" href="Categories.Functor.Core.html#806" class="Function">G.₁</a> <a id="4907" href="Categories.Yoneda.Properties.html#4465" class="Bound">f</a> <a id="4909" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4911" class="Symbol">(</a><a id="4912" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4914" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a> <a id="4916" class="Symbol">(</a><a id="4917" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4921" href="Categories.Yoneda.Properties.html#4460" class="Bound">X</a> <a id="4923" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4925" href="Categories.Yoneda.Properties.html#4460" class="Bound">X</a><a id="4926" class="Symbol">)</a> <a id="4928" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="4932" href="Categories.Category.Core.html#630" class="Field">id</a><a id="4934" class="Symbol">)</a> <a id="4936" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4938" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4942" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="4945" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4953" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="4963" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="4975" href="Categories.Functor.Core.html#806" class="Function">G.₁</a> <a id="4979" href="Categories.Yoneda.Properties.html#4465" class="Bound">f</a> <a id="4981" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4983" class="Symbol">(</a><a id="4984" href="Categories.NaturalTransformation.Core.html#783" class="Field">η</a> <a id="4986" href="Categories.Yoneda.Properties.html#4368" class="Bound">α</a> <a id="4988" class="Symbol">(</a><a id="4989" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="4993" href="Categories.Yoneda.Properties.html#4460" class="Bound">X</a> <a id="4995" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="4997" href="Categories.Yoneda.Properties.html#4460" class="Bound">X</a><a id="4998" class="Symbol">)</a> <a id="5000" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="5004" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5006" class="Symbol">)</a> <a id="5013" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
<a id="5023" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="5028" class="Keyword">module</a> <a id="5035" href="Categories.Yoneda.Properties.html#5035" class="Module">_</a> <a id="5037" class="Symbol">(</a><a id="5038" href="Categories.Yoneda.Properties.html#5038" class="Bound">F</a> <a id="5040" href="Categories.Yoneda.Properties.html#5040" class="Bound">G</a> <a id="5042" class="Symbol">:</a> <a id="5044" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="5052" href="Categories.Yoneda.Properties.html#3464" class="Bound">D</a> <a id="5054" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a><a id="5055" class="Symbol">)</a> <a id="5057" class="Keyword">where</a>
|
|||
|
<a id="5067" class="Keyword">private</a>
|
|||
|
<a id="5081" class="Keyword">module</a> <a id="5088" href="Categories.Yoneda.Properties.html#5088" class="Module">F</a> <a id="5090" class="Symbol">=</a> <a id="5092" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="5100" href="Categories.Yoneda.Properties.html#5038" class="Bound">F</a> <a id="5102" class="Keyword">using</a> <a id="5108" class="Symbol">(</a><a id="5109" href="Categories.Functor.Core.html#797" class="Function">₀</a><a id="5110" class="Symbol">)</a>
|
|||
|
<a id="5118" class="Keyword">module</a> <a id="5125" href="Categories.Yoneda.Properties.html#5125" class="Module">G</a> <a id="5127" class="Symbol">=</a> <a id="5129" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="5137" href="Categories.Yoneda.Properties.html#5040" class="Bound">G</a> <a id="5139" class="Keyword">using</a> <a id="5145" class="Symbol">(</a><a id="5146" href="Categories.Functor.Core.html#797" class="Function">₀</a><a id="5147" class="Symbol">)</a>
|
|||
|
<a id="5155" href="Categories.Yoneda.Properties.html#5155" class="Function">Hom[-,F-]</a> <a id="5165" class="Symbol">:</a> <a id="5167" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="5177" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="5182" href="Categories.Yoneda.Properties.html#3464" class="Bound">D</a> <a id="5184" class="Symbol">(</a><a id="5185" href="Categories.Category.Instance.Setoids.html#316" class="Function">Setoids</a> <a id="5193" href="Categories.Yoneda.Properties.html#237" class="Bound">ℓ</a> <a id="5195" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="5196" class="Symbol">)</a>
|
|||
|
<a id="5204" href="Categories.Yoneda.Properties.html#5155" class="Function">Hom[-,F-]</a> <a id="5214" class="Symbol">=</a> <a id="5216" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="5221" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="5223" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="5230" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="5233" class="Symbol">(</a><a id="5234" href="Categories.Yoneda.Properties.html#810" class="Function">idF</a> <a id="5238" href="Categories.Category.Product.html#1962" class="Function Operator">⁂</a> <a id="5240" href="Categories.Yoneda.Properties.html#5038" class="Bound">F</a><a id="5241" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="5250" href="Categories.Yoneda.Properties.html#5250" class="Function">Hom[-,G-]</a> <a id="5260" class="Symbol">:</a> <a id="5262" href="Categories.Functor.Bifunctor.html#441" class="Function">Bifunctor</a> <a id="5272" href="Categories.Category.Core.html#3132" class="Function">C.op</a> <a id="5277" href="Categories.Yoneda.Properties.html#3464" class="Bound">D</a> <a id="5279" class="Symbol">(</a><a id="5280" href="Categories.Category.Instance.Setoids.html#316" class="Function">Setoids</a> <a id="5288" href="Categories.Yoneda.Properties.html#237" class="Bound">ℓ</a> <a id="5290" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="5291" class="Symbol">)</a>
|
|||
|
<a id="5299" href="Categories.Yoneda.Properties.html#5250" class="Function">Hom[-,G-]</a> <a id="5309" class="Symbol">=</a> <a id="5311" href="Categories.Functor.Hom.html#2973" class="Function Operator">Hom[</a> <a id="5316" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="5318" href="Categories.Functor.Hom.html#2973" class="Function Operator">][-,-]</a> <a id="5325" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="5328" class="Symbol">(</a><a id="5329" href="Categories.Yoneda.Properties.html#810" class="Function">idF</a> <a id="5333" href="Categories.Category.Product.html#1962" class="Function Operator">⁂</a> <a id="5335" href="Categories.Yoneda.Properties.html#5040" class="Bound">G</a><a id="5336" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="5343" class="Comment">-- The implicits given below are sometimes needed (yellow), sometimes make an enormous difference in</a>
|
|||
|
<a id="5448" class="Comment">-- typechecking time. For example, in yoneda.⇒.commute, "nat-appʳ X F⇐G" is needed, while</a>
|
|||
|
<a id="5542" class="Comment">-- nat-appʳ {F = G} {F} X F⇐G makes a huge difference in checking time.</a>
|
|||
|
<a id="5618" href="Categories.Yoneda.Properties.html#5618" class="Function">yoneda-NI</a> <a id="5628" class="Symbol">:</a> <a id="5630" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a> <a id="5649" href="Categories.Yoneda.Properties.html#5155" class="Function">Hom[-,F-]</a> <a id="5659" href="Categories.Yoneda.Properties.html#5250" class="Function">Hom[-,G-]</a> <a id="5669" class="Symbol">→</a> <a id="5671" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Record">NaturalIsomorphism</a> <a id="5690" href="Categories.Yoneda.Properties.html#5038" class="Bound">F</a> <a id="5692" href="Categories.Yoneda.Properties.html#5040" class="Bound">G</a>
|
|||
|
<a id="5698" href="Categories.Yoneda.Properties.html#5618" class="Function">yoneda-NI</a> <a id="5708" href="Categories.Yoneda.Properties.html#5708" class="Bound">ni</a> <a id="5711" class="Symbol">=</a> <a id="5713" class="Keyword">record</a>
|
|||
|
<a id="5726" class="Symbol">{</a> <a id="5728" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a> <a id="5732" class="Symbol">=</a> <a id="5734" href="Categories.Yoneda.Properties.html#4270" class="Function">transform</a> <a id="5744" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a>
|
|||
|
<a id="5754" class="Symbol">;</a> <a id="5756" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a> <a id="5760" class="Symbol">=</a> <a id="5762" href="Categories.Yoneda.Properties.html#4270" class="Function">transform</a> <a id="5772" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a>
|
|||
|
<a id="5782" class="Symbol">;</a> <a id="5784" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1051" class="Field">iso</a> <a id="5788" class="Symbol">=</a> <a id="5790" class="Symbol">λ</a> <a id="5792" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="5794" class="Symbol">→</a> <a id="5796" class="Keyword">record</a>
|
|||
|
<a id="5811" class="Symbol">{</a> <a id="5813" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="5818" class="Symbol">=</a> <a id="5820" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="5836" class="Symbol">(</a><a id="5837" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="5841" class="Symbol">(</a><a id="5842" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="5846" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="5848" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="5850" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="5851" class="Symbol">)</a> <a id="5853" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="5857" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5859" class="Symbol">)</a> <a id="5861" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5863" class="Symbol">(</a><a id="5864" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="5868" class="Symbol">(</a><a id="5869" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="5873" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="5875" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="5877" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="5878" class="Symbol">)</a> <a id="5880" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="5884" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5886" class="Symbol">)</a> <a id="5893" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5896" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a> <a id="5903" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="5911" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="5923" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="5926" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5928" class="Symbol">(</a><a id="5929" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="5933" class="Symbol">(</a><a id="5934" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="5938" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="5940" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="5942" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="5943" class="Symbol">)</a> <a id="5945" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="5949" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5951" class="Symbol">)</a> <a id="5953" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5955" class="Symbol">(</a><a id="5956" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="5960" class="Symbol">(</a><a id="5961" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="5965" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="5967" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="5969" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="5970" class="Symbol">)</a> <a id="5972" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="5976" href="Categories.Category.Core.html#630" class="Field">id</a><a id="5978" class="Symbol">)</a> <a id="5980" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="5984" href="Level.html#479" class="Field">lower</a> <a id="5990" class="Symbol">{</a><a id="5991" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="5992" class="Symbol">}</a> <a id="5994" class="Symbol">(</a><a id="5995" href="Categories.NaturalTransformation.Core.html#827" class="Function">yoneda.⇒.commute</a> <a id="6012" class="Symbol">{</a><a id="6013" class="Argument">Y</a> <a id="6015" class="Symbol">=</a> <a id="6017" href="Categories.Functor.Hom.html#3133" class="Function Operator">Hom[</a> <a id="6022" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="6024" href="Categories.Functor.Hom.html#3133" class="Function Operator">][-,</a> <a id="6029" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6033" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6035" href="Categories.Functor.Hom.html#3133" class="Function Operator">]</a> <a id="6037" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6039" class="Symbol">_}</a>
|
|||
|
<a id="6124" class="Symbol">(</a><a id="6125" href="Categories.Yoneda.Properties.html#1213" class="Function">idN</a> <a id="6129" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6131" class="Symbol">(</a><a id="6132" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="6136" class="Symbol">(</a><a id="6137" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6141" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6143" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6145" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="6146" class="Symbol">)</a> <a id="6148" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6152" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6154" class="Symbol">))</a>
|
|||
|
<a id="6239" class="Symbol">{</a><a id="6240" href="Categories.Yoneda.Properties.html#3902" class="Function">nat-appʳ</a> <a id="6249" class="Symbol">{</a><a id="6250" class="Argument">F</a> <a id="6252" class="Symbol">=</a> <a id="6254" href="Categories.Yoneda.Properties.html#5040" class="Bound">G</a><a id="6255" class="Symbol">}</a> <a id="6257" class="Symbol">{</a><a id="6258" href="Categories.Yoneda.Properties.html#5038" class="Bound">F</a><a id="6259" class="Symbol">}</a> <a id="6261" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6263" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a><a id="6266" class="Symbol">}</a>
|
|||
|
<a id="6350" class="Symbol">{</a><a id="6351" href="Categories.Yoneda.Properties.html#3902" class="Function">nat-appʳ</a> <a id="6360" class="Symbol">{</a><a id="6361" class="Argument">F</a> <a id="6363" class="Symbol">=</a> <a id="6365" href="Categories.Yoneda.Properties.html#5040" class="Bound">G</a><a id="6366" class="Symbol">}</a> <a id="6368" class="Symbol">{</a><a id="6369" href="Categories.Yoneda.Properties.html#5038" class="Bound">F</a><a id="6370" class="Symbol">}</a> <a id="6372" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6374" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a><a id="6377" class="Symbol">}</a>
|
|||
|
<a id="6461" class="Symbol">(</a><a id="6462" href="Function.Equality.html#1140" class="Field">cong</a> <a id="6467" class="Symbol">(</a><a id="6468" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6472" class="Symbol">(_</a> <a id="6475" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6477" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="6478" class="Symbol">)</a> <a id="6480" class="Symbol">)))</a> <a id="6484" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="6496" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6500" class="Symbol">(</a><a id="6501" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6505" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6507" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6509" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="6510" class="Symbol">)</a> <a id="6512" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6516" class="Symbol">(</a><a id="6517" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="6521" class="Symbol">(</a><a id="6522" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6526" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6528" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6530" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="6531" class="Symbol">)</a> <a id="6533" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6537" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6539" class="Symbol">)</a> <a id="6541" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6543" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="6553" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="6556" href="Function.Equality.html#1140" class="Field">cong</a> <a id="6561" class="Symbol">(</a><a id="6562" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6566" class="Symbol">_)</a> <a id="6569" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="6579" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="6591" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6595" class="Symbol">(</a><a id="6596" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6600" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6602" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6604" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="6605" class="Symbol">)</a> <a id="6607" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6611" class="Symbol">(</a><a id="6612" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="6616" class="Symbol">(</a><a id="6617" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6621" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6623" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6625" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="6626" class="Symbol">)</a> <a id="6628" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6632" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6634" class="Symbol">)</a> <a id="6648" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="6651" href="Categories.Morphism.html#1586" class="Function">iso.isoˡ</a> <a id="6660" class="Symbol">_</a> <a id="6662" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="6670" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="6682" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="6734" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
<a id="6744" class="Symbol">;</a> <a id="6746" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="6751" class="Symbol">=</a> <a id="6753" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="6769" class="Symbol">(</a><a id="6770" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="6774" class="Symbol">(</a><a id="6775" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6779" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6781" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6783" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="6784" class="Symbol">)</a> <a id="6786" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6790" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6792" class="Symbol">)</a> <a id="6794" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6796" class="Symbol">(</a><a id="6797" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6801" class="Symbol">(</a><a id="6802" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="6806" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6808" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6810" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="6811" class="Symbol">)</a> <a id="6813" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6817" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6819" class="Symbol">)</a> <a id="6826" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="6829" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a> <a id="6836" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="6844" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="6856" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="6859" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6861" class="Symbol">(</a><a id="6862" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="6866" class="Symbol">(</a><a id="6867" href="Categories.Functor.Core.html#797" class="Function">F.₀</a> <a id="6871" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6873" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6875" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="6876" class="Symbol">)</a> <a id="6878" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6882" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6884" class="Symbol">)</a> <a id="6886" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6888" class="Symbol">(</a><a id="6889" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="6893" class="Symbol">(</a><a id="6894" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="6898" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6900" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6902" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="6903" class="Symbol">)</a> <a id="6905" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="6909" href="Categories.Category.Core.html#630" class="Field">id</a><a id="6911" class="Symbol">)</a> <a id="6913" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="6917" href="Level.html#479" class="Field">lower</a> <a id="6923" class="Symbol">{</a><a id="6924" href="Categories.Yoneda.Properties.html#239" class="Bound">e</a><a id="6925" class="Symbol">}</a> <a id="6927" class="Symbol">(</a><a id="6928" href="Categories.NaturalTransformation.Core.html#827" class="Function">yoneda.⇒.commute</a> <a id="6945" class="Symbol">{</a><a id="6946" class="Argument">Y</a> <a id="6948" class="Symbol">=</a> <a id="6950" href="Categories.Functor.Hom.html#3133" class="Function Operator">Hom[</a> <a id="6955" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="6957" href="Categories.Functor.Hom.html#3133" class="Function Operator">][-,</a> <a id="6962" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="6966" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="6968" href="Categories.Functor.Hom.html#3133" class="Function Operator">]</a> <a id="6970" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="6972" class="Symbol">_}</a>
|
|||
|
<a id="7058" class="Symbol">(</a><a id="7059" href="Categories.Yoneda.Properties.html#1213" class="Function">idN</a> <a id="7063" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7065" class="Symbol">(</a><a id="7066" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="7070" class="Symbol">(</a><a id="7071" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="7075" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="7077" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7079" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="7080" class="Symbol">)</a> <a id="7082" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="7086" href="Categories.Category.Core.html#630" class="Field">C.id</a><a id="7090" class="Symbol">))</a>
|
|||
|
<a id="7176" class="Symbol">{</a><a id="7177" href="Categories.Yoneda.Properties.html#3902" class="Function">nat-appʳ</a> <a id="7186" class="Symbol">{</a><a id="7187" class="Argument">F</a> <a id="7189" class="Symbol">=</a> <a id="7191" href="Categories.Yoneda.Properties.html#5038" class="Bound">F</a><a id="7192" class="Symbol">}</a> <a id="7194" class="Symbol">{</a><a id="7195" href="Categories.Yoneda.Properties.html#5040" class="Bound">G</a><a id="7196" class="Symbol">}</a> <a id="7198" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="7200" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a><a id="7203" class="Symbol">}</a>
|
|||
|
<a id="7288" class="Symbol">{</a><a id="7289" href="Categories.Yoneda.Properties.html#3902" class="Function">nat-appʳ</a> <a id="7298" class="Symbol">{</a><a id="7299" class="Argument">F</a> <a id="7301" class="Symbol">=</a> <a id="7303" href="Categories.Yoneda.Properties.html#5038" class="Bound">F</a><a id="7304" class="Symbol">}</a> <a id="7306" class="Symbol">{</a><a id="7307" href="Categories.Yoneda.Properties.html#5040" class="Bound">G</a><a id="7308" class="Symbol">}</a> <a id="7310" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="7312" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a><a id="7315" class="Symbol">}</a>
|
|||
|
<a id="7400" class="Symbol">(</a><a id="7401" href="Function.Equality.html#1140" class="Field">cong</a> <a id="7406" class="Symbol">(</a><a id="7407" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="7411" class="Symbol">_)))</a> <a id="7416" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="7428" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="7432" class="Symbol">(</a><a id="7433" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="7437" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="7439" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7441" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="7442" class="Symbol">)</a> <a id="7444" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="7448" class="Symbol">(</a><a id="7449" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="7453" class="Symbol">(</a><a id="7454" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="7458" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="7460" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7462" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="7463" class="Symbol">)</a> <a id="7465" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="7469" href="Categories.Category.Core.html#630" class="Field">id</a><a id="7471" class="Symbol">)</a> <a id="7473" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7475" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7485" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="7488" href="Function.Equality.html#1140" class="Field">cong</a> <a id="7493" class="Symbol">(</a><a id="7494" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="7498" class="Symbol">_)</a> <a id="7501" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="7511" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="7523" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇒.η</a> <a id="7527" class="Symbol">(</a><a id="7528" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="7532" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="7534" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7536" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="7537" class="Symbol">)</a> <a id="7539" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="7543" class="Symbol">(</a><a id="7544" href="Categories.NaturalTransformation.Core.html#783" class="Function">⇐.η</a> <a id="7548" class="Symbol">(</a><a id="7549" href="Categories.Functor.Core.html#797" class="Function">G.₀</a> <a id="7553" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a> <a id="7555" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="7557" href="Categories.Yoneda.Properties.html#5792" class="Bound">X</a><a id="7558" class="Symbol">)</a> <a id="7560" href="Function.Equality.html#1073" class="Field Operator">⟨$⟩</a> <a id="7564" href="Categories.Category.Core.html#630" class="Field">id</a><a id="7566" class="Symbol">)</a> <a id="7580" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="7583" href="Categories.Morphism.html#1612" class="Function">iso.isoʳ</a> <a id="7592" class="Symbol">_</a> <a id="7594" href="Relation.Binary.Structures.html#1577" class="Function">CE.refl</a> <a id="7602" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="7614" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="7670" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
<a id="7680" class="Symbol">}</a>
|
|||
|
<a id="7688" class="Symbol">}</a>
|
|||
|
<a id="7696" class="Keyword">where</a>
|
|||
|
<a id="7708" class="Keyword">open</a> <a id="7713" href="Categories.NaturalTransformation.NaturalIsomorphism.html#651" class="Module">NaturalIsomorphism</a> <a id="7732" href="Categories.Yoneda.Properties.html#5708" class="Bound">ni</a> <a id="7735" class="Keyword">using</a> <a id="7741" class="Symbol">(</a><a id="7742" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a><a id="7745" class="Symbol">;</a> <a id="7747" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a><a id="7750" class="Symbol">;</a> <a id="7752" class="Keyword">module</a> <a id="7759" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1008" class="Module">⇐</a><a id="7760" class="Symbol">;</a> <a id="7762" class="Keyword">module</a> <a id="7769" href="Categories.NaturalTransformation.NaturalIsomorphism.html#969" class="Module">⇒</a><a id="7770" class="Symbol">;</a> <a id="7772" class="Keyword">module</a> <a id="7779" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1104" class="Module">iso</a><a id="7782" class="Symbol">)</a>
|
|||
|
<a id="7790" class="Keyword">open</a> <a id="7795" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="7798" href="Categories.Yoneda.Properties.html#251" class="Bound">C</a> <a id="7800" class="Keyword">using</a> <a id="7806" class="Symbol">(</a><a id="7807" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a><a id="7813" class="Symbol">)</a>
|
|||
|
</pre></body></html>
|