mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
181 lines
92 KiB
HTML
181 lines
92 KiB
HTML
|
<!DOCTYPE HTML>
|
|||
|
<html><head><meta charset="utf-8"><title>Categories.Functor.Equivalence</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="36" class="Keyword">module</a> <a id="43" href="Categories.Functor.Equivalence.html" class="Module">Categories.Functor.Equivalence</a> <a id="74" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="81" class="Comment">-- A 'strict' equality relation for Functors.</a>
|
|||
|
|
|||
|
<a id="128" class="Keyword">open</a> <a id="133" class="Keyword">import</a> <a id="140" href="Level.html" class="Module">Level</a>
|
|||
|
<a id="146" class="Keyword">open</a> <a id="151" class="Keyword">import</a> <a id="158" href="Data.Product.html" class="Module">Data.Product</a> <a id="171" class="Keyword">using</a> <a id="177" class="Symbol">(</a><a id="178" href="Agda.Builtin.Sigma.html#148" class="Record">Σ</a><a id="179" class="Symbol">;</a> <a id="181" href="Data.Product.html#3274" class="Function">curry</a><a id="186" class="Symbol">)</a> <a id="188" class="Keyword">renaming</a> <a id="197" class="Symbol">(</a><a id="198" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a> <a id="202" class="Symbol">to</a> <a id="205" class="InductiveConstructor Operator">_,,_</a><a id="209" class="Symbol">)</a>
|
|||
|
<a id="211" class="Keyword">open</a> <a id="216" class="Keyword">import</a> <a id="223" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a> <a id="261" class="Symbol">as</a> <a id="264" class="Module">≡</a>
|
|||
|
<a id="266" class="Keyword">open</a> <a id="271" class="Keyword">import</a> <a id="278" href="Relation.Binary.html" class="Module">Relation.Binary</a> <a id="294" class="Keyword">using</a> <a id="300" class="Symbol">(</a><a id="301" href="Relation.Binary.Structures.html#1531" class="Record">IsEquivalence</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.html" class="Module">Function</a> <a id="337" class="Keyword">using</a> <a id="343" class="Symbol">(</a><a id="344" href="Function.Base.html#1928" class="Function Operator">_$_</a><a id="347" class="Symbol">)</a> <a id="349" class="Keyword">renaming</a> <a id="358" class="Symbol">(</a><a id="359" href="Function.Base.html#1040" class="Function Operator">_∘_</a> <a id="363" class="Symbol">to</a> <a id="366" class="Function Operator">_⊚_</a><a id="369" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="372" class="Keyword">open</a> <a id="377" class="Keyword">import</a> <a id="384" href="Categories.Category.html" class="Module">Categories.Category</a> <a id="404" class="Keyword">using</a> <a id="410" class="Symbol">(</a><a id="411" href="Categories.Category.Core.html#442" class="Record">Category</a><a id="419" class="Symbol">;</a> <a id="421" href="Categories.Category.html#502" class="Function Operator">_[_,_]</a><a id="427" class="Symbol">;</a> <a id="429" href="Categories.Category.html#609" class="Function Operator">_[_≈_]</a><a id="435" class="Symbol">;</a> <a id="437" class="Keyword">module</a> <a id="444" href="Categories.Category.html#824" class="Module">Definitions</a><a id="455" class="Symbol">)</a>
|
|||
|
<a id="457" class="Keyword">open</a> <a id="462" class="Keyword">import</a> <a id="469" href="Categories.Category.Product.html" class="Module">Categories.Category.Product</a>
|
|||
|
<a id="497" class="Keyword">open</a> <a id="502" class="Keyword">import</a> <a id="509" href="Categories.Functor.html" class="Module">Categories.Functor</a> <a id="528" class="Keyword">using</a> <a id="534" class="Symbol">(</a><a id="535" href="Categories.Functor.Core.html#248" class="Record">Functor</a><a id="542" class="Symbol">;</a> <a id="544" href="Categories.Functor.html#747" class="Function Operator">_∘F_</a><a id="548" class="Symbol">)</a> <a id="550" class="Keyword">renaming</a> <a id="559" class="Symbol">(</a><a id="560" href="Categories.Functor.html#349" class="Function">id</a> <a id="563" class="Symbol">to</a> <a id="566" class="Function">idF</a><a id="569" class="Symbol">)</a>
|
|||
|
<a id="571" class="Keyword">open</a> <a id="576" class="Keyword">import</a> <a id="583" href="Categories.Functor.Bifunctor.html" class="Module">Categories.Functor.Bifunctor</a>
|
|||
|
<a id="612" class="Keyword">open</a> <a id="617" class="Keyword">import</a> <a id="624" href="Categories.Functor.Properties.html" class="Module">Categories.Functor.Properties</a> <a id="654" class="Keyword">using</a> <a id="660" class="Symbol">(</a><a id="661" href="Categories.Functor.Properties.html#2676" class="Function Operator">[_]-resp-square</a><a id="676" class="Symbol">)</a>
|
|||
|
<a id="678" class="Keyword">open</a> <a id="683" class="Keyword">import</a> <a id="690" href="Categories.NaturalTransformation.html" class="Module">Categories.NaturalTransformation</a> <a id="723" class="Keyword">using</a> <a id="729" class="Symbol">(</a><a id="730" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a><a id="738" class="Symbol">)</a>
|
|||
|
<a id="740" class="Keyword">import</a> <a id="747" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="767" class="Symbol">as</a> <a id="770" class="Module">Morphism</a>
|
|||
|
<a id="779" class="Keyword">import</a> <a id="786" href="Categories.Morphism.HeterogeneousIdentity.html" class="Module">Categories.Morphism.HeterogeneousIdentity</a> <a id="828" class="Symbol">as</a> <a id="831" class="Module">HId</a>
|
|||
|
<a id="835" class="Keyword">import</a> <a id="842" href="Categories.Morphism.HeterogeneousIdentity.Properties.html" class="Module">Categories.Morphism.HeterogeneousIdentity.Properties</a> <a id="895" class="Symbol">as</a> <a id="898" class="Module">HIdProps</a>
|
|||
|
<a id="907" class="Keyword">import</a> <a id="914" href="Categories.Morphism.IsoEquiv.html" class="Module">Categories.Morphism.IsoEquiv</a> <a id="943" class="Symbol">as</a> <a id="946" class="Module">IsoEquiv</a>
|
|||
|
<a id="955" class="Keyword">import</a> <a id="962" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="992" class="Symbol">as</a> <a id="995" class="Module">MorphismReasoning</a>
|
|||
|
<a id="1013" class="Keyword">import</a> <a id="1020" href="Categories.NaturalTransformation.NaturalIsomorphism.html" class="Module">Categories.NaturalTransformation.NaturalIsomorphism</a> <a id="1072" class="Symbol">as</a> <a id="1075" class="Module">NatIso</a>
|
|||
|
|
|||
|
<a id="1083" class="Keyword">private</a>
|
|||
|
<a id="1093" class="Keyword">variable</a>
|
|||
|
<a id="1106" href="Categories.Functor.Equivalence.html#1106" class="Generalizable">o</a> <a id="1108" href="Categories.Functor.Equivalence.html#1108" class="Generalizable">ℓ</a> <a id="1110" href="Categories.Functor.Equivalence.html#1110" class="Generalizable">e</a> <a id="1112" href="Categories.Functor.Equivalence.html#1112" class="Generalizable">o′</a> <a id="1115" href="Categories.Functor.Equivalence.html#1115" class="Generalizable">ℓ′</a> <a id="1118" href="Categories.Functor.Equivalence.html#1118" class="Generalizable">e′</a> <a id="1121" href="Categories.Functor.Equivalence.html#1121" class="Generalizable">o″</a> <a id="1124" href="Categories.Functor.Equivalence.html#1124" class="Generalizable">ℓ″</a> <a id="1127" href="Categories.Functor.Equivalence.html#1127" class="Generalizable">e″</a> <a id="1130" href="Categories.Functor.Equivalence.html#1130" class="Generalizable">o‴</a> <a id="1133" href="Categories.Functor.Equivalence.html#1133" class="Generalizable">ℓ‴</a> <a id="1136" href="Categories.Functor.Equivalence.html#1136" class="Generalizable">e‴</a> <a id="1139" class="Symbol">:</a> <a id="1141" href="Agda.Primitive.html#591" class="Postulate">Level</a>
|
|||
|
|
|||
|
<a id="1148" class="Comment">-- "Strict" equality of Functors.</a>
|
|||
|
<a id="1182" class="Comment">--</a>
|
|||
|
<a id="1185" class="Comment">-- It's helpful to think of a functor equality (P : F ≡F G) as a</a>
|
|||
|
<a id="1250" class="Comment">-- special natural isomorphism where every component (hid $ eq₀ P X)</a>
|
|||
|
<a id="1319" class="Comment">-- is a 'heterogeneous' identity.</a>
|
|||
|
|
|||
|
<a id="1354" class="Keyword">infix</a> <a id="1361" class="Number">4</a> <a id="1363" href="Categories.Functor.Equivalence.html#1376" class="Record Operator">_≡F_</a>
|
|||
|
|
|||
|
<a id="1369" class="Keyword">record</a> <a id="_≡F_"></a><a id="1376" href="Categories.Functor.Equivalence.html#1376" class="Record Operator">_≡F_</a> <a id="1381" class="Symbol">{</a><a id="1382" href="Categories.Functor.Equivalence.html#1382" class="Bound">C</a> <a id="1384" class="Symbol">:</a> <a id="1386" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1395" href="Categories.Functor.Equivalence.html#1106" class="Generalizable">o</a> <a id="1397" href="Categories.Functor.Equivalence.html#1108" class="Generalizable">ℓ</a> <a id="1399" href="Categories.Functor.Equivalence.html#1110" class="Generalizable">e</a><a id="1400" class="Symbol">}</a>
|
|||
|
<a id="1414" class="Symbol">{</a><a id="1415" href="Categories.Functor.Equivalence.html#1415" class="Bound">D</a> <a id="1417" class="Symbol">:</a> <a id="1419" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1428" href="Categories.Functor.Equivalence.html#1112" class="Generalizable">o′</a> <a id="1431" href="Categories.Functor.Equivalence.html#1115" class="Generalizable">ℓ′</a> <a id="1434" href="Categories.Functor.Equivalence.html#1118" class="Generalizable">e′</a><a id="1436" class="Symbol">}</a>
|
|||
|
<a id="1450" class="Symbol">(</a><a id="1451" href="Categories.Functor.Equivalence.html#1451" class="Bound">F</a> <a id="1453" href="Categories.Functor.Equivalence.html#1453" class="Bound">G</a> <a id="1455" class="Symbol">:</a> <a id="1457" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="1465" href="Categories.Functor.Equivalence.html#1382" class="Bound">C</a> <a id="1467" href="Categories.Functor.Equivalence.html#1415" class="Bound">D</a><a id="1468" class="Symbol">)</a> <a id="1470" class="Symbol">:</a> <a id="1472" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1476" class="Symbol">(</a><a id="1477" href="Categories.Functor.Equivalence.html#1397" class="Bound">ℓ</a> <a id="1479" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1481" href="Categories.Functor.Equivalence.html#1395" class="Bound">o</a> <a id="1483" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1485" href="Categories.Functor.Equivalence.html#1428" class="Bound">o′</a> <a id="1488" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1490" href="Categories.Functor.Equivalence.html#1434" class="Bound">e′</a><a id="1492" class="Symbol">)</a> <a id="1494" class="Keyword">where</a>
|
|||
|
<a id="1502" class="Keyword">private</a>
|
|||
|
<a id="1514" class="Keyword">module</a> <a id="_≡F_.C"></a><a id="1521" href="Categories.Functor.Equivalence.html#1521" class="Module">C</a> <a id="1523" class="Symbol">=</a> <a id="1525" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1534" href="Categories.Functor.Equivalence.html#1382" class="Bound">C</a>
|
|||
|
<a id="1540" class="Keyword">module</a> <a id="_≡F_.D"></a><a id="1547" href="Categories.Functor.Equivalence.html#1547" class="Module">D</a> <a id="1549" class="Symbol">=</a> <a id="1551" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1560" href="Categories.Functor.Equivalence.html#1415" class="Bound">D</a>
|
|||
|
<a id="1566" class="Keyword">module</a> <a id="_≡F_.F"></a><a id="1573" href="Categories.Functor.Equivalence.html#1573" class="Module">F</a> <a id="1575" class="Symbol">=</a> <a id="1577" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="1585" href="Categories.Functor.Equivalence.html#1451" class="Bound">F</a>
|
|||
|
<a id="1591" class="Keyword">module</a> <a id="_≡F_.G"></a><a id="1598" href="Categories.Functor.Equivalence.html#1598" class="Module">G</a> <a id="1600" class="Symbol">=</a> <a id="1602" href="Categories.Functor.Core.html#248" class="Module">Functor</a> <a id="1610" href="Categories.Functor.Equivalence.html#1453" class="Bound">G</a>
|
|||
|
<a id="1614" class="Keyword">open</a> <a id="1619" href="Categories.Functor.Equivalence.html#1573" class="Module">F</a> <a id="1621" class="Keyword">using</a> <a id="1627" class="Symbol">(</a><a id="1628" href="Categories.Functor.Core.html#432" class="Function">F₀</a><a id="1630" class="Symbol">;</a> <a id="1632" href="Categories.Functor.Core.html#455" class="Function">F₁</a><a id="1634" class="Symbol">)</a>
|
|||
|
<a id="1638" class="Keyword">open</a> <a id="1643" href="Categories.Functor.Equivalence.html#1598" class="Module">G</a> <a id="1645" class="Keyword">using</a> <a id="1651" class="Symbol">()</a> <a id="1654" class="Keyword">renaming</a> <a id="1663" class="Symbol">(</a><a id="1664" href="Categories.Functor.Core.html#432" class="Function">F₀</a> <a id="1667" class="Symbol">to</a> <a id="1670" class="Function">G₀</a><a id="1672" class="Symbol">;</a> <a id="1674" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="1677" class="Symbol">to</a> <a id="1680" class="Function">G₁</a><a id="1682" class="Symbol">)</a>
|
|||
|
<a id="1686" class="Keyword">open</a> <a id="1691" href="Categories.Morphism.HeterogeneousIdentity.html" class="Module">HId</a> <a id="1695" href="Categories.Functor.Equivalence.html#1415" class="Bound">D</a>
|
|||
|
<a id="1699" class="Keyword">open</a> <a id="1704" href="Categories.Category.html#824" class="Module">Definitions</a> <a id="1716" href="Categories.Functor.Equivalence.html#1415" class="Bound">D</a>
|
|||
|
|
|||
|
<a id="1721" class="Keyword">field</a>
|
|||
|
<a id="_≡F_.eq₀"></a><a id="1731" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="1735" class="Symbol">:</a> <a id="1737" class="Symbol">∀</a> <a id="1739" href="Categories.Functor.Equivalence.html#1739" class="Bound">X</a> <a id="1741" class="Symbol">→</a> <a id="1743" href="Categories.Functor.Core.html#432" class="Function">F₀</a> <a id="1746" href="Categories.Functor.Equivalence.html#1739" class="Bound">X</a> <a id="1748" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1750" href="Categories.Functor.Equivalence.html#1670" class="Function">G₀</a> <a id="1753" href="Categories.Functor.Equivalence.html#1739" class="Bound">X</a>
|
|||
|
|
|||
|
<a id="_≡F_.eq₁"></a><a id="1760" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="1764" class="Symbol">:</a> <a id="1766" class="Symbol">∀</a> <a id="1768" class="Symbol">{</a><a id="1769" href="Categories.Functor.Equivalence.html#1769" class="Bound">X</a> <a id="1771" href="Categories.Functor.Equivalence.html#1771" class="Bound">Y</a><a id="1772" class="Symbol">}</a> <a id="1774" class="Symbol">(</a><a id="1775" href="Categories.Functor.Equivalence.html#1775" class="Bound">f</a> <a id="1777" class="Symbol">:</a> <a id="1779" href="Categories.Functor.Equivalence.html#1382" class="Bound">C</a> <a id="1781" href="Categories.Category.html#502" class="Function Operator">[</a> <a id="1783" href="Categories.Functor.Equivalence.html#1769" class="Bound">X</a> <a id="1785" href="Categories.Category.html#502" class="Function Operator">,</a> <a id="1787" href="Categories.Functor.Equivalence.html#1771" class="Bound">Y</a> <a id="1789" href="Categories.Category.html#502" class="Function Operator">]</a><a id="1790" class="Symbol">)</a> <a id="1792" class="Symbol">→</a>
|
|||
|
<a id="1804" href="Categories.Category.html#884" class="Function">CommutativeSquare</a> <a id="1822" class="Symbol">(</a><a id="1823" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="1826" href="Categories.Functor.Equivalence.html#1775" class="Bound">f</a><a id="1827" class="Symbol">)</a> <a id="1829" class="Symbol">(</a><a id="1830" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="1834" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="1836" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="1840" href="Categories.Functor.Equivalence.html#1769" class="Bound">X</a><a id="1841" class="Symbol">)</a> <a id="1843" class="Symbol">(</a><a id="1844" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="1848" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="1850" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="1854" href="Categories.Functor.Equivalence.html#1771" class="Bound">Y</a><a id="1855" class="Symbol">)</a> <a id="1857" class="Symbol">(</a><a id="1858" href="Categories.Functor.Equivalence.html#1680" class="Function">G₁</a> <a id="1861" href="Categories.Functor.Equivalence.html#1775" class="Bound">f</a><a id="1862" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="_≡F_.eq₀⁻¹"></a><a id="1867" href="Categories.Functor.Equivalence.html#1867" class="Function">eq₀⁻¹</a> <a id="1873" class="Symbol">:</a> <a id="1875" class="Symbol">∀</a> <a id="1877" href="Categories.Functor.Equivalence.html#1877" class="Bound">X</a> <a id="1879" class="Symbol">→</a> <a id="1881" href="Categories.Functor.Equivalence.html#1670" class="Function">G₀</a> <a id="1884" href="Categories.Functor.Equivalence.html#1877" class="Bound">X</a> <a id="1886" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1888" href="Categories.Functor.Core.html#432" class="Function">F₀</a> <a id="1891" href="Categories.Functor.Equivalence.html#1877" class="Bound">X</a>
|
|||
|
<a id="1895" href="Categories.Functor.Equivalence.html#1867" class="Function">eq₀⁻¹</a> <a id="1901" href="Categories.Functor.Equivalence.html#1901" class="Bound">X</a> <a id="1903" class="Symbol">=</a> <a id="1905" href="Relation.Binary.PropositionalEquality.Core.html#1693" class="Function">sym</a> <a id="1909" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="1911" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="1915" href="Categories.Functor.Equivalence.html#1901" class="Bound">X</a>
|
|||
|
|
|||
|
<a id="_≡F_.eq₁⁻¹"></a><a id="1920" href="Categories.Functor.Equivalence.html#1920" class="Function">eq₁⁻¹</a> <a id="1926" class="Symbol">:</a> <a id="1928" class="Symbol">∀</a> <a id="1930" class="Symbol">{</a><a id="1931" href="Categories.Functor.Equivalence.html#1931" class="Bound">X</a> <a id="1933" href="Categories.Functor.Equivalence.html#1933" class="Bound">Y</a><a id="1934" class="Symbol">}</a> <a id="1936" class="Symbol">(</a><a id="1937" href="Categories.Functor.Equivalence.html#1937" class="Bound">f</a> <a id="1939" class="Symbol">:</a> <a id="1941" href="Categories.Functor.Equivalence.html#1382" class="Bound">C</a> <a id="1943" href="Categories.Category.html#502" class="Function Operator">[</a> <a id="1945" href="Categories.Functor.Equivalence.html#1931" class="Bound">X</a> <a id="1947" href="Categories.Category.html#502" class="Function Operator">,</a> <a id="1949" href="Categories.Functor.Equivalence.html#1933" class="Bound">Y</a> <a id="1951" href="Categories.Category.html#502" class="Function Operator">]</a><a id="1952" class="Symbol">)</a> <a id="1954" class="Symbol">→</a>
|
|||
|
<a id="1966" href="Categories.Category.html#884" class="Function">CommutativeSquare</a> <a id="1984" class="Symbol">(</a><a id="1985" href="Categories.Functor.Equivalence.html#1680" class="Function">G₁</a> <a id="1988" href="Categories.Functor.Equivalence.html#1937" class="Bound">f</a><a id="1989" class="Symbol">)</a> <a id="1991" class="Symbol">(</a><a id="1992" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="1996" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="1998" href="Categories.Functor.Equivalence.html#1867" class="Function">eq₀⁻¹</a> <a id="2004" href="Categories.Functor.Equivalence.html#1931" class="Bound">X</a><a id="2005" class="Symbol">)</a> <a id="2007" class="Symbol">(</a><a id="2008" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="2012" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="2014" href="Categories.Functor.Equivalence.html#1867" class="Function">eq₀⁻¹</a> <a id="2020" href="Categories.Functor.Equivalence.html#1933" class="Bound">Y</a><a id="2021" class="Symbol">)</a> <a id="2023" class="Symbol">(</a><a id="2024" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="2027" href="Categories.Functor.Equivalence.html#1937" class="Bound">f</a><a id="2028" class="Symbol">)</a>
|
|||
|
<a id="2032" href="Categories.Functor.Equivalence.html#1920" class="Function">eq₁⁻¹</a> <a id="2038" class="Symbol">{</a><a id="2039" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a><a id="2040" class="Symbol">}</a> <a id="2042" class="Symbol">{</a><a id="2043" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a><a id="2044" class="Symbol">}</a> <a id="2046" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a> <a id="2048" class="Symbol">=</a> <a id="2050" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="2062" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2066" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a> <a id="2068" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2072" href="Categories.Functor.Equivalence.html#1680" class="Function">G₁</a> <a id="2075" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a> <a id="2098" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="2102" href="Categories.Category.Core.html#1145" class="Function">identityʳ</a> <a id="2112" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="2119" class="Symbol">(</a><a id="2120" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2124" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a> <a id="2126" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2130" href="Categories.Functor.Equivalence.html#1680" class="Function">G₁</a> <a id="2133" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a><a id="2134" class="Symbol">)</a> <a id="2136" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2139" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="2156" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="2160" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="2170" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="2172" href="Categories.Morphism.HeterogeneousIdentity.html#1898" class="Function">hid-symʳ</a> <a id="2181" class="Symbol">_</a> <a id="2183" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="2190" class="Symbol">(</a><a id="2191" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2195" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a> <a id="2197" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2201" href="Categories.Functor.Equivalence.html#1680" class="Function">G₁</a> <a id="2204" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a><a id="2205" class="Symbol">)</a> <a id="2207" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2209" class="Symbol">(</a><a id="2210" href="Categories.Functor.Equivalence.html#2716" class="Function">τ</a> <a id="2212" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a> <a id="2216" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2218" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2222" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a><a id="2223" class="Symbol">)</a> <a id="2227" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2230" href="Categories.Category.Core.html#715" class="Function">assoc</a> <a id="2236" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2244" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2248" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a> <a id="2250" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2253" class="Symbol">(</a><a id="2254" href="Categories.Functor.Equivalence.html#1680" class="Function">G₁</a> <a id="2257" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a> <a id="2260" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2262" class="Symbol">(</a><a id="2263" href="Categories.Functor.Equivalence.html#2716" class="Function">τ</a> <a id="2265" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a> <a id="2269" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2271" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2275" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a><a id="2276" class="Symbol">))</a> <a id="2280" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2283" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="2293" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="2303" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2311" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2315" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a> <a id="2317" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2319" class="Symbol">((</a><a id="2321" href="Categories.Functor.Equivalence.html#1680" class="Function">G₁</a> <a id="2324" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a> <a id="2327" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2330" href="Categories.Functor.Equivalence.html#2716" class="Function">τ</a> <a id="2332" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a><a id="2333" class="Symbol">)</a> <a id="2336" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2338" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2342" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a><a id="2343" class="Symbol">)</a> <a id="2347" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="2351" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="2361" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="2363" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="2373" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="2375" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="2379" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a> <a id="2381" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="2389" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2393" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a> <a id="2395" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2397" class="Symbol">((</a><a id="2399" href="Categories.Functor.Equivalence.html#2716" class="Function">τ</a> <a id="2401" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a> <a id="2405" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2407" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="2410" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a><a id="2411" class="Symbol">)</a> <a id="2414" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2416" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2420" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a><a id="2421" class="Symbol">)</a> <a id="2425" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2428" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="2438" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2445" class="Symbol">(</a><a id="2446" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2450" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a> <a id="2452" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2455" class="Symbol">(</a><a id="2456" href="Categories.Functor.Equivalence.html#2716" class="Function">τ</a> <a id="2458" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a> <a id="2462" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2464" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="2467" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a><a id="2468" class="Symbol">))</a> <a id="2471" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2473" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2477" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a> <a id="2482" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2485" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="2495" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a> <a id="2505" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2511" class="Symbol">((</a><a id="2513" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2517" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a> <a id="2519" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2523" href="Categories.Functor.Equivalence.html#2716" class="Function">τ</a> <a id="2525" href="Categories.Functor.Equivalence.html#2043" class="Bound">Y</a><a id="2526" class="Symbol">)</a> <a id="2529" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2531" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="2534" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a><a id="2535" class="Symbol">)</a> <a id="2538" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2540" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2544" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a> <a id="2549" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2552" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="2562" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="2564" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="2574" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="2576" href="Categories.Morphism.HeterogeneousIdentity.html#1809" class="Function">hid-symˡ</a> <a id="2585" class="Symbol">_</a> <a id="2587" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2593" class="Symbol">(</a><a id="2594" href="Categories.Category.Core.html#630" class="Function">id</a> <a id="2611" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2613" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="2616" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a><a id="2617" class="Symbol">)</a> <a id="2620" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2622" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2626" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a> <a id="2631" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2634" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="2644" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a> <a id="2654" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="2660" href="Categories.Functor.Core.html#455" class="Function">F₁</a> <a id="2663" href="Categories.Functor.Equivalence.html#2046" class="Bound">f</a> <a id="2687" href="Categories.Category.Core.html#656" class="Function Operator">∘</a> <a id="2689" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2693" href="Categories.Functor.Equivalence.html#2039" class="Bound">X</a> <a id="2698" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
<a id="2704" class="Keyword">where</a>
|
|||
|
<a id="2716" href="Categories.Functor.Equivalence.html#2716" class="Function">τ</a> <a id="2720" class="Symbol">=</a> <a id="2722" class="Symbol">λ</a> <a id="2724" href="Categories.Functor.Equivalence.html#2724" class="Bound">X</a> <a id="2726" class="Symbol">→</a> <a id="2728" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="2732" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="2734" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="2740" href="Categories.Functor.Equivalence.html#2724" class="Bound">X</a>
|
|||
|
<a id="2748" href="Categories.Functor.Equivalence.html#2748" class="Function">τ⁻¹</a> <a id="2752" class="Symbol">=</a> <a id="2754" class="Symbol">λ</a> <a id="2756" href="Categories.Functor.Equivalence.html#2756" class="Bound">X</a> <a id="2758" class="Symbol">→</a> <a id="2760" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="2764" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="2766" href="Categories.Functor.Equivalence.html#1867" class="Function">eq₀⁻¹</a> <a id="2772" href="Categories.Functor.Equivalence.html#2756" class="Bound">X</a>
|
|||
|
<a id="2780" class="Keyword">open</a> <a id="2785" href="Categories.Functor.Equivalence.html#1547" class="Module">D</a>
|
|||
|
<a id="2793" class="Keyword">open</a> <a id="2798" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
|||
|
|
|||
|
<a id="2814" class="Keyword">open</a> <a id="2819" href="Categories.NaturalTransformation.NaturalIsomorphism.html" class="Module">NatIso</a> <a id="2826" class="Keyword">using</a> <a id="2832" class="Symbol">(</a><a id="2833" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">_≃_</a><a id="2836" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="2841" class="Comment">-- the family (hid eq₀) is a natural isomorphism</a>
|
|||
|
|
|||
|
<a id="_≡F_.natIso"></a><a id="2893" href="Categories.Functor.Equivalence.html#2893" class="Function">natIso</a> <a id="2900" class="Symbol">:</a> <a id="2902" href="Categories.Functor.Equivalence.html#1451" class="Bound">F</a> <a id="2904" href="Categories.NaturalTransformation.NaturalIsomorphism.html#3600" class="Function Operator">≃</a> <a id="2906" href="Categories.Functor.Equivalence.html#1453" class="Bound">G</a>
|
|||
|
<a id="2910" href="Categories.Functor.Equivalence.html#2893" class="Function">natIso</a> <a id="2917" class="Symbol">=</a> <a id="2919" class="Keyword">record</a>
|
|||
|
<a id="2930" class="Symbol">{</a> <a id="2932" href="Categories.NaturalTransformation.NaturalIsomorphism.html#891" class="Field">F⇒G</a> <a id="2936" class="Symbol">=</a> <a id="2938" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="2947" class="Keyword">record</a> <a id="2954" class="Symbol">{</a> <a id="2956" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="2958" class="Symbol">=</a> <a id="2960" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="2964" href="Categories.Functor.Equivalence.html#366" class="Function Operator">⊚</a> <a id="2966" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="2972" class="Symbol">;</a> <a id="2974" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="2982" class="Symbol">=</a> <a id="2984" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="2990" class="Symbol">}</a>
|
|||
|
<a id="2996" class="Symbol">;</a> <a id="2998" href="Categories.NaturalTransformation.NaturalIsomorphism.html#927" class="Field">F⇐G</a> <a id="3002" class="Symbol">=</a> <a id="3004" href="Categories.NaturalTransformation.Core.html#1750" class="Function">ntHelper</a> <a id="3013" class="Keyword">record</a> <a id="3020" class="Symbol">{</a> <a id="3022" href="Categories.NaturalTransformation.Core.html#1637" class="Field">η</a> <a id="3024" class="Symbol">=</a> <a id="3026" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="3030" href="Categories.Functor.Equivalence.html#366" class="Function Operator">⊚</a> <a id="3032" href="Categories.Functor.Equivalence.html#1867" class="Function">eq₀⁻¹</a> <a id="3038" class="Symbol">;</a> <a id="3040" href="Categories.NaturalTransformation.Core.html#1681" class="Field">commute</a> <a id="3048" class="Symbol">=</a> <a id="3050" href="Categories.Functor.Equivalence.html#1920" class="Function">eq₁⁻¹</a> <a id="3056" class="Symbol">}</a>
|
|||
|
<a id="3062" class="Symbol">;</a> <a id="3064" href="Categories.NaturalTransformation.NaturalIsomorphism.html#1051" class="Field">iso</a> <a id="3068" class="Symbol">=</a> <a id="3070" class="Symbol">λ</a> <a id="3072" href="Categories.Functor.Equivalence.html#3072" class="Bound">X</a> <a id="3074" class="Symbol">→</a> <a id="3076" href="Categories.Morphism.HeterogeneousIdentity.html#2080" class="Function">hid-iso</a> <a id="3084" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="3086" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3090" href="Categories.Functor.Equivalence.html#3072" class="Bound">X</a>
|
|||
|
<a id="3096" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3099" class="Keyword">module</a> <a id="3106" href="Categories.Functor.Equivalence.html#3106" class="Module">_</a> <a id="3108" class="Symbol">{</a><a id="3109" href="Categories.Functor.Equivalence.html#3109" class="Bound">C</a> <a id="3111" class="Symbol">:</a> <a id="3113" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="3122" href="Categories.Functor.Equivalence.html#1106" class="Generalizable">o</a> <a id="3124" href="Categories.Functor.Equivalence.html#1108" class="Generalizable">ℓ</a> <a id="3126" href="Categories.Functor.Equivalence.html#1110" class="Generalizable">e</a><a id="3127" class="Symbol">}</a> <a id="3129" class="Symbol">{</a><a id="3130" href="Categories.Functor.Equivalence.html#3130" class="Bound">D</a> <a id="3132" class="Symbol">:</a> <a id="3134" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="3143" href="Categories.Functor.Equivalence.html#1112" class="Generalizable">o′</a> <a id="3146" href="Categories.Functor.Equivalence.html#1115" class="Generalizable">ℓ′</a> <a id="3149" href="Categories.Functor.Equivalence.html#1118" class="Generalizable">e′</a><a id="3151" class="Symbol">}</a> <a id="3153" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="3162" class="Keyword">open</a> <a id="3167" href="Categories.Functor.Core.html#248" class="Module">Functor</a>
|
|||
|
<a id="3177" class="Keyword">open</a> <a id="3182" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="3191" href="Categories.Functor.Equivalence.html#3130" class="Bound">D</a>
|
|||
|
<a id="3195" class="Keyword">open</a> <a id="3200" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
|||
|
<a id="3215" class="Keyword">open</a> <a id="3220" href="Categories.Morphism.Reasoning.html" class="Module">MorphismReasoning</a> <a id="3238" href="Categories.Functor.Equivalence.html#3130" class="Bound">D</a>
|
|||
|
<a id="3242" class="Keyword">open</a> <a id="3247" href="Categories.Morphism.HeterogeneousIdentity.html" class="Module">HId</a> <a id="3251" href="Categories.Functor.Equivalence.html#3130" class="Bound">D</a>
|
|||
|
<a id="3255" class="Keyword">open</a> <a id="3260" href="Categories.Functor.Equivalence.html#1376" class="Module Operator">_≡F_</a>
|
|||
|
|
|||
|
<a id="3268" class="Comment">-- Strict functor equality is an equivalence.</a>
|
|||
|
|
|||
|
<a id="3317" href="Categories.Functor.Equivalence.html#3317" class="Function">≡F-equiv</a> <a id="3326" class="Symbol">:</a> <a id="3328" href="Relation.Binary.Structures.html#1531" class="Record">IsEquivalence</a> <a id="3342" class="Symbol">(</a><a id="3343" href="Categories.Functor.Equivalence.html#1376" class="Record Operator">_≡F_</a> <a id="3348" class="Symbol">{</a><a id="3349" class="Argument">C</a> <a id="3351" class="Symbol">=</a> <a id="3353" href="Categories.Functor.Equivalence.html#3109" class="Bound">C</a><a id="3354" class="Symbol">}</a> <a id="3356" class="Symbol">{</a><a id="3357" href="Categories.Functor.Equivalence.html#3130" class="Bound">D</a><a id="3358" class="Symbol">})</a>
|
|||
|
<a id="3363" href="Categories.Functor.Equivalence.html#3317" class="Function">≡F-equiv</a> <a id="3372" class="Symbol">=</a> <a id="3374" class="Keyword">record</a>
|
|||
|
<a id="3385" class="Symbol">{</a> <a id="3387" href="Relation.Binary.Structures.html#1577" class="Field">refl</a> <a id="3393" class="Symbol">=</a> <a id="3395" class="Keyword">record</a> <a id="3402" class="Symbol">{</a> <a id="3404" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3408" class="Symbol">=</a> <a id="3410" class="Symbol">λ</a> <a id="3412" href="Categories.Functor.Equivalence.html#3412" class="Bound">_</a> <a id="3414" class="Symbol">→</a> <a id="3416" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="3421" class="Symbol">;</a> <a id="3423" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="3427" class="Symbol">=</a> <a id="3429" class="Symbol">λ</a> <a id="3431" href="Categories.Functor.Equivalence.html#3431" class="Bound">_</a> <a id="3433" class="Symbol">→</a> <a id="3435" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a> <a id="3447" class="Symbol">}</a>
|
|||
|
<a id="3453" class="Symbol">;</a> <a id="3455" href="Relation.Binary.Structures.html#1603" class="Field">sym</a> <a id="3461" class="Symbol">=</a> <a id="3463" class="Symbol">λ</a> <a id="3465" href="Categories.Functor.Equivalence.html#3465" class="Bound">F≡G</a> <a id="3469" class="Symbol">→</a> <a id="3471" class="Keyword">record</a> <a id="3478" class="Symbol">{</a> <a id="3480" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3484" class="Symbol">=</a> <a id="3486" href="Categories.Functor.Equivalence.html#1867" class="Function">eq₀⁻¹</a> <a id="3492" href="Categories.Functor.Equivalence.html#3465" class="Bound">F≡G</a> <a id="3496" class="Symbol">;</a> <a id="3498" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="3502" class="Symbol">=</a> <a id="3504" href="Categories.Functor.Equivalence.html#1920" class="Function">eq₁⁻¹</a> <a id="3510" href="Categories.Functor.Equivalence.html#3465" class="Bound">F≡G</a> <a id="3514" class="Symbol">}</a>
|
|||
|
<a id="3520" class="Symbol">;</a> <a id="3522" href="Relation.Binary.Structures.html#1629" class="Field">trans</a> <a id="3528" class="Symbol">=</a> <a id="3530" class="Symbol">λ</a> <a id="3532" class="Symbol">{</a><a id="3533" href="Categories.Functor.Equivalence.html#3533" class="Bound">F</a> <a id="3535" href="Categories.Functor.Equivalence.html#3535" class="Bound">G</a> <a id="3537" href="Categories.Functor.Equivalence.html#3537" class="Bound">H</a><a id="3538" class="Symbol">}</a> <a id="3540" href="Categories.Functor.Equivalence.html#3540" class="Bound">F≡G</a> <a id="3544" href="Categories.Functor.Equivalence.html#3544" class="Bound">G≡H</a> <a id="3548" class="Symbol">→</a> <a id="3550" class="Keyword">record</a>
|
|||
|
<a id="3563" class="Symbol">{</a> <a id="3565" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3569" class="Symbol">=</a> <a id="3571" class="Symbol">λ</a> <a id="3573" href="Categories.Functor.Equivalence.html#3573" class="Bound">X</a> <a id="3575" class="Symbol">→</a> <a id="3577" href="Relation.Binary.PropositionalEquality.Core.html#1738" class="Function">trans</a> <a id="3583" class="Symbol">(</a><a id="3584" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3588" href="Categories.Functor.Equivalence.html#3540" class="Bound">F≡G</a> <a id="3592" href="Categories.Functor.Equivalence.html#3573" class="Bound">X</a><a id="3593" class="Symbol">)</a> <a id="3595" class="Symbol">(</a><a id="3596" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3600" href="Categories.Functor.Equivalence.html#3544" class="Bound">G≡H</a> <a id="3604" href="Categories.Functor.Equivalence.html#3573" class="Bound">X</a><a id="3605" class="Symbol">)</a>
|
|||
|
<a id="3613" class="Symbol">;</a> <a id="3615" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="3619" class="Symbol">=</a> <a id="3621" class="Symbol">λ</a> <a id="3623" class="Symbol">{</a><a id="3624" href="Categories.Functor.Equivalence.html#3624" class="Bound">X</a><a id="3625" class="Symbol">}</a> <a id="3627" class="Symbol">{</a><a id="3628" href="Categories.Functor.Equivalence.html#3628" class="Bound">Y</a><a id="3629" class="Symbol">}</a> <a id="3631" href="Categories.Functor.Equivalence.html#3631" class="Bound">f</a> <a id="3633" class="Symbol">→</a> <a id="3635" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="3651" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="3655" class="Symbol">(</a><a id="3656" href="Relation.Binary.PropositionalEquality.Core.html#1738" class="Function">trans</a> <a id="3662" class="Symbol">(</a><a id="3663" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3667" href="Categories.Functor.Equivalence.html#3540" class="Bound">F≡G</a> <a id="3671" href="Categories.Functor.Equivalence.html#3628" class="Bound">Y</a><a id="3672" class="Symbol">)</a> <a id="3674" class="Symbol">(</a><a id="3675" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3679" href="Categories.Functor.Equivalence.html#3544" class="Bound">G≡H</a> <a id="3683" href="Categories.Functor.Equivalence.html#3628" class="Bound">Y</a><a id="3684" class="Symbol">))</a> <a id="3687" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3689" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="3692" href="Categories.Functor.Equivalence.html#3533" class="Bound">F</a> <a id="3694" href="Categories.Functor.Equivalence.html#3631" class="Bound">f</a>
|
|||
|
<a id="3704" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="3708" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="3718" class="Symbol">(</a><a id="3719" href="Categories.Morphism.HeterogeneousIdentity.html#1684" class="Function">hid-trans</a> <a id="3729" class="Symbol">_</a> <a id="3731" class="Symbol">_)</a> <a id="3734" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="3746" class="Symbol">(</a><a id="3747" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="3751" class="Symbol">(</a><a id="3752" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3756" href="Categories.Functor.Equivalence.html#3544" class="Bound">G≡H</a> <a id="3760" href="Categories.Functor.Equivalence.html#3628" class="Bound">Y</a><a id="3761" class="Symbol">)</a> <a id="3763" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3765" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="3769" class="Symbol">(</a><a id="3770" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3774" href="Categories.Functor.Equivalence.html#3540" class="Bound">F≡G</a> <a id="3778" href="Categories.Functor.Equivalence.html#3628" class="Bound">Y</a><a id="3779" class="Symbol">))</a> <a id="3782" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3784" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="3787" href="Categories.Functor.Equivalence.html#3533" class="Bound">F</a> <a id="3789" href="Categories.Functor.Equivalence.html#3631" class="Bound">f</a>
|
|||
|
<a id="3799" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3802" href="Categories.Morphism.Reasoning.Core.html#4290" class="Function">glue</a> <a id="3807" class="Symbol">(</a><a id="3808" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="3812" href="Categories.Functor.Equivalence.html#3544" class="Bound">G≡H</a> <a id="3816" href="Categories.Functor.Equivalence.html#3631" class="Bound">f</a><a id="3817" class="Symbol">)</a> <a id="3819" class="Symbol">(</a><a id="3820" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="3824" href="Categories.Functor.Equivalence.html#3540" class="Bound">F≡G</a> <a id="3828" href="Categories.Functor.Equivalence.html#3631" class="Bound">f</a><a id="3829" class="Symbol">)</a> <a id="3831" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="3843" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="3846" href="Categories.Functor.Equivalence.html#3537" class="Bound">H</a> <a id="3848" href="Categories.Functor.Equivalence.html#3631" class="Bound">f</a> <a id="3850" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3852" class="Symbol">(</a><a id="3853" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="3857" class="Symbol">(</a><a id="3858" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3862" href="Categories.Functor.Equivalence.html#3544" class="Bound">G≡H</a> <a id="3866" href="Categories.Functor.Equivalence.html#3624" class="Bound">X</a><a id="3867" class="Symbol">)</a> <a id="3869" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3871" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="3875" class="Symbol">(</a><a id="3876" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3880" href="Categories.Functor.Equivalence.html#3540" class="Bound">F≡G</a> <a id="3884" href="Categories.Functor.Equivalence.html#3624" class="Bound">X</a><a id="3885" class="Symbol">))</a>
|
|||
|
<a id="3896" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="3899" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="3909" class="Symbol">(</a><a id="3910" href="Categories.Morphism.HeterogeneousIdentity.html#1684" class="Function">hid-trans</a> <a id="3920" class="Symbol">_</a> <a id="3922" class="Symbol">_)</a> <a id="3925" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="3937" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="3940" href="Categories.Functor.Equivalence.html#3537" class="Bound">H</a> <a id="3942" href="Categories.Functor.Equivalence.html#3631" class="Bound">f</a> <a id="3944" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3946" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="3950" class="Symbol">(</a><a id="3951" href="Relation.Binary.PropositionalEquality.Core.html#1738" class="Function">trans</a> <a id="3957" class="Symbol">(</a><a id="3958" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3962" href="Categories.Functor.Equivalence.html#3540" class="Bound">F≡G</a> <a id="3966" href="Categories.Functor.Equivalence.html#3624" class="Bound">X</a><a id="3967" class="Symbol">)</a> <a id="3969" class="Symbol">(</a><a id="3970" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="3974" href="Categories.Functor.Equivalence.html#3544" class="Bound">G≡H</a> <a id="3978" href="Categories.Functor.Equivalence.html#3624" class="Bound">X</a><a id="3979" class="Symbol">))</a>
|
|||
|
<a id="3990" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
<a id="3998" class="Symbol">}</a>
|
|||
|
<a id="4004" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="4009" href="Categories.Functor.Equivalence.html#4009" class="Function">≡F-identityˡ</a> <a id="4022" class="Symbol">:</a> <a id="4024" class="Symbol">{</a><a id="4025" href="Categories.Functor.Equivalence.html#4025" class="Bound">F</a> <a id="4027" class="Symbol">:</a> <a id="4029" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="4037" href="Categories.Functor.Equivalence.html#3109" class="Bound">C</a> <a id="4039" href="Categories.Functor.Equivalence.html#3130" class="Bound">D</a><a id="4040" class="Symbol">}</a> <a id="4042" class="Symbol">→</a> <a id="4044" href="Categories.Functor.Equivalence.html#566" class="Function">idF</a> <a id="4048" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="4051" href="Categories.Functor.Equivalence.html#4025" class="Bound">F</a> <a id="4053" href="Categories.Functor.Equivalence.html#1376" class="Record Operator">≡F</a> <a id="4056" href="Categories.Functor.Equivalence.html#4025" class="Bound">F</a>
|
|||
|
<a id="4060" href="Categories.Functor.Equivalence.html#4009" class="Function">≡F-identityˡ</a> <a id="4073" class="Symbol">=</a> <a id="4075" class="Keyword">record</a> <a id="4082" class="Symbol">{</a> <a id="4084" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="4088" class="Symbol">=</a> <a id="4090" class="Symbol">λ</a> <a id="4092" href="Categories.Functor.Equivalence.html#4092" class="Bound">_</a> <a id="4094" class="Symbol">→</a> <a id="4096" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="4101" class="Symbol">;</a> <a id="4103" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="4107" class="Symbol">=</a> <a id="4109" class="Symbol">λ</a> <a id="4111" href="Categories.Functor.Equivalence.html#4111" class="Bound">_</a> <a id="4113" class="Symbol">→</a> <a id="4115" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a> <a id="4127" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="4132" href="Categories.Functor.Equivalence.html#4132" class="Function">≡F-identityʳ</a> <a id="4145" class="Symbol">:</a> <a id="4147" class="Symbol">{</a><a id="4148" href="Categories.Functor.Equivalence.html#4148" class="Bound">F</a> <a id="4150" class="Symbol">:</a> <a id="4152" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="4160" href="Categories.Functor.Equivalence.html#3109" class="Bound">C</a> <a id="4162" href="Categories.Functor.Equivalence.html#3130" class="Bound">D</a><a id="4163" class="Symbol">}</a> <a id="4165" class="Symbol">→</a> <a id="4167" href="Categories.Functor.Equivalence.html#4148" class="Bound">F</a> <a id="4169" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="4172" href="Categories.Functor.Equivalence.html#566" class="Function">idF</a> <a id="4176" href="Categories.Functor.Equivalence.html#1376" class="Record Operator">≡F</a> <a id="4179" href="Categories.Functor.Equivalence.html#4148" class="Bound">F</a>
|
|||
|
<a id="4183" href="Categories.Functor.Equivalence.html#4132" class="Function">≡F-identityʳ</a> <a id="4196" class="Symbol">=</a> <a id="4198" class="Keyword">record</a> <a id="4205" class="Symbol">{</a> <a id="4207" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="4211" class="Symbol">=</a> <a id="4213" class="Symbol">λ</a> <a id="4215" href="Categories.Functor.Equivalence.html#4215" class="Bound">_</a> <a id="4217" class="Symbol">→</a> <a id="4219" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="4224" class="Symbol">;</a> <a id="4226" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="4230" class="Symbol">=</a> <a id="4232" class="Symbol">λ</a> <a id="4234" href="Categories.Functor.Equivalence.html#4234" class="Bound">_</a> <a id="4236" class="Symbol">→</a> <a id="4238" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a> <a id="4250" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="4253" class="Keyword">module</a> <a id="4260" href="Categories.Functor.Equivalence.html#4260" class="Module">_</a> <a id="4262" class="Symbol">{</a><a id="4263" href="Categories.Functor.Equivalence.html#4263" class="Bound">C</a> <a id="4265" class="Symbol">:</a> <a id="4267" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="4276" href="Categories.Functor.Equivalence.html#1106" class="Generalizable">o</a> <a id="4278" href="Categories.Functor.Equivalence.html#1108" class="Generalizable">ℓ</a> <a id="4280" href="Categories.Functor.Equivalence.html#1110" class="Generalizable">e</a><a id="4281" class="Symbol">}</a> <a id="4283" class="Keyword">where</a>
|
|||
|
<a id="4291" class="Keyword">open</a> <a id="4296" href="Categories.Morphism.Reasoning.html" class="Module">MorphismReasoning</a> <a id="4314" href="Categories.Functor.Equivalence.html#4263" class="Bound">C</a>
|
|||
|
|
|||
|
<a id="4319" href="Categories.Functor.Equivalence.html#4319" class="Function">≡F-identity²</a> <a id="4332" class="Symbol">:</a> <a id="4334" href="Categories.Functor.Equivalence.html#566" class="Function">idF</a> <a id="4338" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="4341" href="Categories.Functor.Equivalence.html#566" class="Function">idF</a> <a id="4345" href="Categories.Functor.Equivalence.html#1376" class="Record Operator">≡F</a> <a id="4348" href="Categories.Functor.Equivalence.html#566" class="Function">idF</a> <a id="4352" class="Symbol">{</a><a id="4353" class="Argument">C</a> <a id="4355" class="Symbol">=</a> <a id="4357" href="Categories.Functor.Equivalence.html#4263" class="Bound">C</a><a id="4358" class="Symbol">}</a>
|
|||
|
<a id="4362" href="Categories.Functor.Equivalence.html#4319" class="Function">≡F-identity²</a> <a id="4375" class="Symbol">=</a> <a id="4377" class="Keyword">record</a> <a id="4384" class="Symbol">{</a> <a id="4386" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="4390" class="Symbol">=</a> <a id="4392" class="Symbol">λ</a> <a id="4394" href="Categories.Functor.Equivalence.html#4394" class="Bound">_</a> <a id="4396" class="Symbol">→</a> <a id="4398" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="4403" class="Symbol">;</a> <a id="4405" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="4409" class="Symbol">=</a> <a id="4411" class="Symbol">λ</a> <a id="4413" href="Categories.Functor.Equivalence.html#4413" class="Bound">_</a> <a id="4415" class="Symbol">→</a> <a id="4417" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a> <a id="4429" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="4432" class="Keyword">module</a> <a id="4439" href="Categories.Functor.Equivalence.html#4439" class="Module">_</a> <a id="4441" class="Symbol">{</a><a id="4442" href="Categories.Functor.Equivalence.html#4442" class="Bound">C</a> <a id="4444" class="Symbol">:</a> <a id="4446" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="4455" href="Categories.Functor.Equivalence.html#1106" class="Generalizable">o</a> <a id="4457" href="Categories.Functor.Equivalence.html#1108" class="Generalizable">ℓ</a> <a id="4459" href="Categories.Functor.Equivalence.html#1110" class="Generalizable">e</a><a id="4460" class="Symbol">}</a> <a id="4462" class="Symbol">{</a><a id="4463" href="Categories.Functor.Equivalence.html#4463" class="Bound">D</a> <a id="4465" class="Symbol">:</a> <a id="4467" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="4476" href="Categories.Functor.Equivalence.html#1112" class="Generalizable">o′</a> <a id="4479" href="Categories.Functor.Equivalence.html#1115" class="Generalizable">ℓ′</a> <a id="4482" href="Categories.Functor.Equivalence.html#1118" class="Generalizable">e′</a><a id="4484" class="Symbol">}</a>
|
|||
|
<a id="4495" class="Symbol">{</a><a id="4496" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a> <a id="4498" class="Symbol">:</a> <a id="4500" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="4509" href="Categories.Functor.Equivalence.html#1121" class="Generalizable">o″</a> <a id="4512" href="Categories.Functor.Equivalence.html#1124" class="Generalizable">ℓ″</a> <a id="4515" href="Categories.Functor.Equivalence.html#1127" class="Generalizable">e″</a><a id="4517" class="Symbol">}</a>
|
|||
|
<a id="4528" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="4537" class="Keyword">open</a> <a id="4542" href="Categories.Functor.Core.html#248" class="Module">Functor</a>
|
|||
|
<a id="4552" class="Keyword">open</a> <a id="4557" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="4566" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a>
|
|||
|
<a id="4570" class="Keyword">open</a> <a id="4575" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
|||
|
<a id="4590" class="Keyword">open</a> <a id="4595" href="Categories.Morphism.Reasoning.html" class="Module">MorphismReasoning</a> <a id="4613" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a>
|
|||
|
<a id="4617" class="Keyword">open</a> <a id="4622" href="Categories.Morphism.HeterogeneousIdentity.html" class="Module">HId</a>
|
|||
|
<a id="4628" class="Keyword">open</a> <a id="4633" href="Categories.Morphism.HeterogeneousIdentity.Properties.html" class="Module">HIdProps</a>
|
|||
|
<a id="4644" class="Keyword">open</a> <a id="4649" href="Categories.Functor.Equivalence.html#1376" class="Module Operator">_≡F_</a>
|
|||
|
|
|||
|
<a id="4657" href="Categories.Functor.Equivalence.html#4657" class="Function">∘F-resp-≡F</a> <a id="4668" class="Symbol">:</a> <a id="4670" class="Symbol">{</a><a id="4671" href="Categories.Functor.Equivalence.html#4671" class="Bound">H</a> <a id="4673" href="Categories.Functor.Equivalence.html#4673" class="Bound">I</a> <a id="4675" class="Symbol">:</a> <a id="4677" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="4685" href="Categories.Functor.Equivalence.html#4463" class="Bound">D</a> <a id="4687" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a><a id="4688" class="Symbol">}</a> <a id="4690" class="Symbol">{</a><a id="4691" href="Categories.Functor.Equivalence.html#4691" class="Bound">F</a> <a id="4693" href="Categories.Functor.Equivalence.html#4693" class="Bound">G</a> <a id="4695" class="Symbol">:</a> <a id="4697" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="4705" href="Categories.Functor.Equivalence.html#4442" class="Bound">C</a> <a id="4707" href="Categories.Functor.Equivalence.html#4463" class="Bound">D</a><a id="4708" class="Symbol">}</a> <a id="4710" class="Symbol">→</a>
|
|||
|
<a id="4727" href="Categories.Functor.Equivalence.html#4671" class="Bound">H</a> <a id="4729" href="Categories.Functor.Equivalence.html#1376" class="Record Operator">≡F</a> <a id="4732" href="Categories.Functor.Equivalence.html#4673" class="Bound">I</a> <a id="4734" class="Symbol">→</a> <a id="4736" href="Categories.Functor.Equivalence.html#4691" class="Bound">F</a> <a id="4738" href="Categories.Functor.Equivalence.html#1376" class="Record Operator">≡F</a> <a id="4741" href="Categories.Functor.Equivalence.html#4693" class="Bound">G</a> <a id="4743" class="Symbol">→</a> <a id="4745" href="Categories.Functor.Equivalence.html#4671" class="Bound">H</a> <a id="4747" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="4750" href="Categories.Functor.Equivalence.html#4691" class="Bound">F</a> <a id="4752" href="Categories.Functor.Equivalence.html#1376" class="Record Operator">≡F</a> <a id="4755" href="Categories.Functor.Equivalence.html#4673" class="Bound">I</a> <a id="4757" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="4760" href="Categories.Functor.Equivalence.html#4693" class="Bound">G</a>
|
|||
|
<a id="4764" href="Categories.Functor.Equivalence.html#4657" class="Function">∘F-resp-≡F</a> <a id="4775" class="Symbol">{</a><a id="4776" href="Categories.Functor.Equivalence.html#4776" class="Bound">H</a><a id="4777" class="Symbol">}</a> <a id="4779" class="Symbol">{</a><a id="4780" href="Categories.Functor.Equivalence.html#4780" class="Bound">I</a><a id="4781" class="Symbol">}</a> <a id="4783" class="Symbol">{</a><a id="4784" href="Categories.Functor.Equivalence.html#4784" class="Bound">F</a><a id="4785" class="Symbol">}</a> <a id="4787" class="Symbol">{</a><a id="4788" href="Categories.Functor.Equivalence.html#4788" class="Bound">G</a><a id="4789" class="Symbol">}</a> <a id="4791" href="Categories.Functor.Equivalence.html#4791" class="Bound">H≡I</a> <a id="4795" href="Categories.Functor.Equivalence.html#4795" class="Bound">F≡G</a> <a id="4799" class="Symbol">=</a> <a id="4801" class="Keyword">record</a>
|
|||
|
<a id="4812" class="Symbol">{</a> <a id="4814" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="4818" class="Symbol">=</a> <a id="4820" class="Symbol">λ</a> <a id="4822" href="Categories.Functor.Equivalence.html#4822" class="Bound">X</a> <a id="4824" class="Symbol">→</a> <a id="4826" href="Relation.Binary.PropositionalEquality.Core.html#1738" class="Function">trans</a> <a id="4832" class="Symbol">(</a><a id="4833" href="Categories.Functor.Equivalence.html#5543" class="Function">HF≡HG</a> <a id="4839" href="Categories.Functor.Equivalence.html#4822" class="Bound">X</a><a id="4840" class="Symbol">)</a> <a id="4842" class="Symbol">(</a><a id="4843" href="Categories.Functor.Equivalence.html#5587" class="Function">HG≡IG</a> <a id="4849" href="Categories.Functor.Equivalence.html#4822" class="Bound">X</a><a id="4850" class="Symbol">)</a>
|
|||
|
<a id="4856" class="Symbol">;</a> <a id="4858" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="4862" class="Symbol">=</a> <a id="4864" class="Symbol">λ</a> <a id="4866" class="Symbol">{</a><a id="4867" href="Categories.Functor.Equivalence.html#4867" class="Bound">X</a> <a id="4869" href="Categories.Functor.Equivalence.html#4869" class="Bound">Y</a><a id="4870" class="Symbol">}</a> <a id="4872" href="Categories.Functor.Equivalence.html#4872" class="Bound">f</a> <a id="4874" class="Symbol">→</a> <a id="4876" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
|
|||
|
<a id="4890" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="4894" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a> <a id="4896" class="Symbol">(</a><a id="4897" href="Relation.Binary.PropositionalEquality.Core.html#1738" class="Function">trans</a> <a id="4903" class="Symbol">(</a><a id="4904" href="Categories.Functor.Equivalence.html#5543" class="Function">HF≡HG</a> <a id="4910" href="Categories.Functor.Equivalence.html#4869" class="Bound">Y</a><a id="4911" class="Symbol">)</a> <a id="4913" class="Symbol">(</a><a id="4914" href="Categories.Functor.Equivalence.html#5587" class="Function">HG≡IG</a> <a id="4920" href="Categories.Functor.Equivalence.html#4869" class="Bound">Y</a><a id="4921" class="Symbol">))</a> <a id="4924" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4926" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="4929" href="Categories.Functor.Equivalence.html#4776" class="Bound">H</a> <a id="4931" class="Symbol">(</a><a id="4932" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="4935" href="Categories.Functor.Equivalence.html#4784" class="Bound">F</a> <a id="4937" href="Categories.Functor.Equivalence.html#4872" class="Bound">f</a><a id="4938" class="Symbol">)</a>
|
|||
|
<a id="4946" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="4950" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="4960" class="Symbol">(</a><a id="4961" href="Categories.Morphism.HeterogeneousIdentity.html#1684" class="Function">hid-trans</a> <a id="4971" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a> <a id="4973" class="Symbol">_</a> <a id="4975" class="Symbol">_)</a> <a id="4978" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="4988" class="Symbol">(</a><a id="4989" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="4993" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a> <a id="4995" class="Symbol">(</a><a id="4996" href="Categories.Functor.Equivalence.html#5587" class="Function">HG≡IG</a> <a id="5002" href="Categories.Functor.Equivalence.html#4869" class="Bound">Y</a><a id="5003" class="Symbol">)</a> <a id="5005" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5007" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="5011" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a> <a id="5013" class="Symbol">(</a><a id="5014" href="Categories.Functor.Equivalence.html#5543" class="Function">HF≡HG</a> <a id="5020" href="Categories.Functor.Equivalence.html#4869" class="Bound">Y</a><a id="5021" class="Symbol">))</a> <a id="5024" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5026" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5029" href="Categories.Functor.Equivalence.html#4776" class="Bound">H</a> <a id="5031" class="Symbol">(</a><a id="5032" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5035" href="Categories.Functor.Equivalence.html#4784" class="Bound">F</a> <a id="5037" href="Categories.Functor.Equivalence.html#4872" class="Bound">f</a><a id="5038" class="Symbol">)</a>
|
|||
|
<a id="5046" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">≈˘⟨</a> <a id="5050" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="5060" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="5062" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="5072" class="Symbol">(</a><a id="5073" href="Categories.Morphism.HeterogeneousIdentity.Properties.html#1749" class="Function">F-hid</a> <a id="5079" href="Categories.Functor.Equivalence.html#4776" class="Bound">H</a> <a id="5081" class="Symbol">(</a><a id="5082" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="5086" href="Categories.Functor.Equivalence.html#4795" class="Bound">F≡G</a> <a id="5090" href="Categories.Functor.Equivalence.html#4869" class="Bound">Y</a><a id="5091" class="Symbol">))</a> <a id="5094" href="Relation.Binary.Reasoning.Setoid.html#1162" class="Function">⟩</a>
|
|||
|
<a id="5104" class="Symbol">(</a><a id="5105" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="5109" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a> <a id="5111" class="Symbol">(</a><a id="5112" href="Categories.Functor.Equivalence.html#5587" class="Function">HG≡IG</a> <a id="5118" href="Categories.Functor.Equivalence.html#4869" class="Bound">Y</a><a id="5119" class="Symbol">)</a> <a id="5121" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5123" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5126" href="Categories.Functor.Equivalence.html#4776" class="Bound">H</a> <a id="5128" class="Symbol">(</a><a id="5129" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="5133" href="Categories.Functor.Equivalence.html#4463" class="Bound">D</a> <a id="5135" class="Symbol">(</a><a id="5136" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="5140" href="Categories.Functor.Equivalence.html#4795" class="Bound">F≡G</a> <a id="5144" href="Categories.Functor.Equivalence.html#4869" class="Bound">Y</a><a id="5145" class="Symbol">)))</a> <a id="5149" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5151" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5154" href="Categories.Functor.Equivalence.html#4776" class="Bound">H</a> <a id="5156" class="Symbol">(</a><a id="5157" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5160" href="Categories.Functor.Equivalence.html#4784" class="Bound">F</a> <a id="5162" href="Categories.Functor.Equivalence.html#4872" class="Bound">f</a><a id="5163" class="Symbol">)</a>
|
|||
|
<a id="5171" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5174" href="Categories.Morphism.Reasoning.Core.html#4290" class="Function">glue</a> <a id="5179" class="Symbol">(</a><a id="5180" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="5184" href="Categories.Functor.Equivalence.html#4791" class="Bound">H≡I</a> <a id="5188" class="Symbol">(</a><a id="5189" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5192" href="Categories.Functor.Equivalence.html#4788" class="Bound">G</a> <a id="5194" href="Categories.Functor.Equivalence.html#4872" class="Bound">f</a><a id="5195" class="Symbol">))</a> <a id="5198" class="Symbol">(</a><a id="5199" href="Categories.Functor.Properties.html#2676" class="Function Operator">[</a> <a id="5201" href="Categories.Functor.Equivalence.html#4776" class="Bound">H</a> <a id="5203" href="Categories.Functor.Properties.html#2676" class="Function Operator">]-resp-square</a> <a id="5217" class="Symbol">(</a><a id="5218" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="5222" href="Categories.Functor.Equivalence.html#4795" class="Bound">F≡G</a> <a id="5226" href="Categories.Functor.Equivalence.html#4872" class="Bound">f</a><a id="5227" class="Symbol">))</a> <a id="5230" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="5240" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5243" href="Categories.Functor.Equivalence.html#4780" class="Bound">I</a> <a id="5245" class="Symbol">(</a><a id="5246" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5249" href="Categories.Functor.Equivalence.html#4788" class="Bound">G</a> <a id="5251" href="Categories.Functor.Equivalence.html#4872" class="Bound">f</a><a id="5252" class="Symbol">)</a> <a id="5254" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5256" class="Symbol">(</a><a id="5257" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="5261" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a> <a id="5263" class="Symbol">(</a><a id="5264" href="Categories.Functor.Equivalence.html#5587" class="Function">HG≡IG</a> <a id="5270" href="Categories.Functor.Equivalence.html#4867" class="Bound">X</a><a id="5271" class="Symbol">)</a> <a id="5273" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5275" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5278" href="Categories.Functor.Equivalence.html#4776" class="Bound">H</a> <a id="5280" class="Symbol">(</a><a id="5281" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="5285" href="Categories.Functor.Equivalence.html#4463" class="Bound">D</a> <a id="5287" class="Symbol">(</a><a id="5288" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="5292" href="Categories.Functor.Equivalence.html#4795" class="Bound">F≡G</a> <a id="5296" href="Categories.Functor.Equivalence.html#4867" class="Bound">X</a><a id="5297" class="Symbol">)))</a>
|
|||
|
<a id="5307" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5310" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="5320" href="Function.Base.html#1928" class="Function Operator">$</a> <a id="5322" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="5332" class="Symbol">(</a><a id="5333" href="Categories.Morphism.HeterogeneousIdentity.Properties.html#1749" class="Function">F-hid</a> <a id="5339" href="Categories.Functor.Equivalence.html#4776" class="Bound">H</a> <a id="5341" class="Symbol">(</a><a id="5342" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="5346" href="Categories.Functor.Equivalence.html#4795" class="Bound">F≡G</a> <a id="5350" href="Categories.Functor.Equivalence.html#4867" class="Bound">X</a><a id="5351" class="Symbol">))</a> <a id="5354" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="5364" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5367" href="Categories.Functor.Equivalence.html#4780" class="Bound">I</a> <a id="5369" class="Symbol">(</a><a id="5370" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5373" href="Categories.Functor.Equivalence.html#4788" class="Bound">G</a> <a id="5375" href="Categories.Functor.Equivalence.html#4872" class="Bound">f</a><a id="5376" class="Symbol">)</a> <a id="5378" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5380" class="Symbol">(</a><a id="5381" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="5385" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a> <a id="5387" class="Symbol">(</a><a id="5388" href="Categories.Functor.Equivalence.html#5587" class="Function">HG≡IG</a> <a id="5394" href="Categories.Functor.Equivalence.html#4867" class="Bound">X</a><a id="5395" class="Symbol">)</a> <a id="5397" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5399" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="5403" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a> <a id="5405" class="Symbol">(</a><a id="5406" href="Categories.Functor.Equivalence.html#5543" class="Function">HF≡HG</a> <a id="5412" href="Categories.Functor.Equivalence.html#4867" class="Bound">X</a><a id="5413" class="Symbol">))</a>
|
|||
|
<a id="5422" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="5425" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="5435" class="Symbol">(</a><a id="5436" href="Categories.Morphism.HeterogeneousIdentity.html#1684" class="Function">hid-trans</a> <a id="5446" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a> <a id="5448" class="Symbol">_</a> <a id="5450" class="Symbol">_)</a> <a id="5453" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">⟩</a>
|
|||
|
<a id="5463" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5466" href="Categories.Functor.Equivalence.html#4780" class="Bound">I</a> <a id="5468" class="Symbol">(</a><a id="5469" href="Categories.Functor.Core.html#455" class="Field">F₁</a> <a id="5472" href="Categories.Functor.Equivalence.html#4788" class="Bound">G</a> <a id="5474" href="Categories.Functor.Equivalence.html#4872" class="Bound">f</a><a id="5475" class="Symbol">)</a> <a id="5477" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5479" href="Categories.Morphism.HeterogeneousIdentity.html#1511" class="Function">hid</a> <a id="5483" href="Categories.Functor.Equivalence.html#4496" class="Bound">E</a> <a id="5485" class="Symbol">(</a><a id="5486" href="Relation.Binary.PropositionalEquality.Core.html#1738" class="Function">trans</a> <a id="5492" class="Symbol">(</a><a id="5493" href="Categories.Functor.Equivalence.html#5543" class="Function">HF≡HG</a> <a id="5499" href="Categories.Functor.Equivalence.html#4867" class="Bound">X</a><a id="5500" class="Symbol">)</a> <a id="5502" class="Symbol">(</a><a id="5503" href="Categories.Functor.Equivalence.html#5587" class="Function">HG≡IG</a> <a id="5509" href="Categories.Functor.Equivalence.html#4867" class="Bound">X</a><a id="5510" class="Symbol">))</a>
|
|||
|
<a id="5519" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator">∎</a>
|
|||
|
<a id="5525" class="Symbol">}</a>
|
|||
|
<a id="5531" class="Keyword">where</a>
|
|||
|
<a id="5543" href="Categories.Functor.Equivalence.html#5543" class="Function">HF≡HG</a> <a id="5549" class="Symbol">=</a> <a id="5551" class="Symbol">λ</a> <a id="5553" href="Categories.Functor.Equivalence.html#5553" class="Bound">X</a> <a id="5555" class="Symbol">→</a> <a id="5557" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">cong</a> <a id="5562" class="Symbol">(</a><a id="5563" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="5566" href="Categories.Functor.Equivalence.html#4776" class="Bound">H</a><a id="5567" class="Symbol">)</a> <a id="5569" class="Symbol">(</a><a id="5570" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="5574" href="Categories.Functor.Equivalence.html#4795" class="Bound">F≡G</a> <a id="5578" href="Categories.Functor.Equivalence.html#5553" class="Bound">X</a><a id="5579" class="Symbol">)</a>
|
|||
|
<a id="5587" href="Categories.Functor.Equivalence.html#5587" class="Function">HG≡IG</a> <a id="5593" class="Symbol">=</a> <a id="5595" class="Symbol">λ</a> <a id="5597" href="Categories.Functor.Equivalence.html#5597" class="Bound">X</a> <a id="5599" class="Symbol">→</a> <a id="5601" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="5605" href="Categories.Functor.Equivalence.html#4791" class="Bound">H≡I</a> <a id="5609" class="Symbol">(</a><a id="5610" href="Categories.Functor.Core.html#432" class="Field">F₀</a> <a id="5613" href="Categories.Functor.Equivalence.html#4788" class="Bound">G</a> <a id="5615" href="Categories.Functor.Equivalence.html#5597" class="Bound">X</a><a id="5616" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="5619" class="Keyword">module</a> <a id="5626" href="Categories.Functor.Equivalence.html#5626" class="Module">_</a> <a id="5628" class="Symbol">{</a><a id="5629" href="Categories.Functor.Equivalence.html#5629" class="Bound">B</a> <a id="5631" class="Symbol">:</a> <a id="5633" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="5642" href="Categories.Functor.Equivalence.html#1106" class="Generalizable">o</a> <a id="5644" href="Categories.Functor.Equivalence.html#1108" class="Generalizable">ℓ</a> <a id="5646" href="Categories.Functor.Equivalence.html#1110" class="Generalizable">e</a><a id="5647" class="Symbol">}</a> <a id="5649" class="Symbol">{</a><a id="5650" href="Categories.Functor.Equivalence.html#5650" class="Bound">C</a> <a id="5652" class="Symbol">:</a> <a id="5654" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="5663" href="Categories.Functor.Equivalence.html#1112" class="Generalizable">o′</a> <a id="5666" href="Categories.Functor.Equivalence.html#1115" class="Generalizable">ℓ′</a> <a id="5669" href="Categories.Functor.Equivalence.html#1118" class="Generalizable">e′</a><a id="5671" class="Symbol">}</a>
|
|||
|
<a id="5682" class="Symbol">{</a><a id="5683" href="Categories.Functor.Equivalence.html#5683" class="Bound">D</a> <a id="5685" class="Symbol">:</a> <a id="5687" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="5696" href="Categories.Functor.Equivalence.html#1121" class="Generalizable">o″</a> <a id="5699" href="Categories.Functor.Equivalence.html#1124" class="Generalizable">ℓ″</a> <a id="5702" href="Categories.Functor.Equivalence.html#1127" class="Generalizable">e″</a><a id="5704" class="Symbol">}</a> <a id="5706" class="Symbol">{</a><a id="5707" href="Categories.Functor.Equivalence.html#5707" class="Bound">E</a> <a id="5709" class="Symbol">:</a> <a id="5711" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="5720" href="Categories.Functor.Equivalence.html#1130" class="Generalizable">o‴</a> <a id="5723" href="Categories.Functor.Equivalence.html#1133" class="Generalizable">ℓ‴</a> <a id="5726" href="Categories.Functor.Equivalence.html#1136" class="Generalizable">e‴</a><a id="5728" class="Symbol">}</a>
|
|||
|
<a id="5739" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="5748" class="Keyword">open</a> <a id="5753" href="Categories.Functor.Core.html#248" class="Module">Functor</a>
|
|||
|
<a id="5763" class="Keyword">open</a> <a id="5768" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="5777" href="Categories.Functor.Equivalence.html#5707" class="Bound">E</a>
|
|||
|
<a id="5781" class="Keyword">open</a> <a id="5786" href="Categories.Morphism.Reasoning.html" class="Module">MorphismReasoning</a> <a id="5804" href="Categories.Functor.Equivalence.html#5707" class="Bound">E</a>
|
|||
|
<a id="5808" class="Keyword">open</a> <a id="5813" href="Categories.Functor.Equivalence.html#1376" class="Module Operator">_≡F_</a>
|
|||
|
|
|||
|
<a id="5821" href="Categories.Functor.Equivalence.html#5821" class="Function">≡F-assoc</a> <a id="5830" class="Symbol">:</a> <a id="5832" class="Symbol">{</a><a id="5833" href="Categories.Functor.Equivalence.html#5833" class="Bound">F</a> <a id="5835" class="Symbol">:</a> <a id="5837" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="5845" href="Categories.Functor.Equivalence.html#5629" class="Bound">B</a> <a id="5847" href="Categories.Functor.Equivalence.html#5650" class="Bound">C</a><a id="5848" class="Symbol">}</a> <a id="5850" class="Symbol">{</a><a id="5851" href="Categories.Functor.Equivalence.html#5851" class="Bound">G</a> <a id="5853" class="Symbol">:</a> <a id="5855" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="5863" href="Categories.Functor.Equivalence.html#5650" class="Bound">C</a> <a id="5865" href="Categories.Functor.Equivalence.html#5683" class="Bound">D</a><a id="5866" class="Symbol">}</a> <a id="5868" class="Symbol">{</a><a id="5869" href="Categories.Functor.Equivalence.html#5869" class="Bound">H</a> <a id="5871" class="Symbol">:</a> <a id="5873" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="5881" href="Categories.Functor.Equivalence.html#5683" class="Bound">D</a> <a id="5883" href="Categories.Functor.Equivalence.html#5707" class="Bound">E</a><a id="5884" class="Symbol">}</a> <a id="5886" class="Symbol">→</a>
|
|||
|
<a id="5901" class="Symbol">(</a><a id="5902" href="Categories.Functor.Equivalence.html#5869" class="Bound">H</a> <a id="5904" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="5907" href="Categories.Functor.Equivalence.html#5851" class="Bound">G</a><a id="5908" class="Symbol">)</a> <a id="5910" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="5913" href="Categories.Functor.Equivalence.html#5833" class="Bound">F</a> <a id="5916" href="Categories.Functor.Equivalence.html#1376" class="Record Operator">≡F</a> <a id="5920" href="Categories.Functor.Equivalence.html#5869" class="Bound">H</a> <a id="5922" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="5925" class="Symbol">(</a><a id="5926" href="Categories.Functor.Equivalence.html#5851" class="Bound">G</a> <a id="5928" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="5931" href="Categories.Functor.Equivalence.html#5833" class="Bound">F</a><a id="5932" class="Symbol">)</a>
|
|||
|
<a id="5936" href="Categories.Functor.Equivalence.html#5821" class="Function">≡F-assoc</a> <a id="5945" class="Symbol">=</a> <a id="5947" class="Keyword">record</a> <a id="5954" class="Symbol">{</a> <a id="5956" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="5960" class="Symbol">=</a> <a id="5962" class="Symbol">λ</a> <a id="5964" href="Categories.Functor.Equivalence.html#5964" class="Bound">_</a> <a id="5966" class="Symbol">→</a> <a id="5968" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="5973" class="Symbol">;</a> <a id="5975" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="5979" class="Symbol">=</a> <a id="5981" class="Symbol">λ</a> <a id="5983" href="Categories.Functor.Equivalence.html#5983" class="Bound">_</a> <a id="5985" class="Symbol">→</a> <a id="5987" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a> <a id="5999" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="6004" href="Categories.Functor.Equivalence.html#6004" class="Function">≡F-sym-assoc</a> <a id="6017" class="Symbol">:</a> <a id="6019" class="Symbol">{</a><a id="6020" href="Categories.Functor.Equivalence.html#6020" class="Bound">F</a> <a id="6022" class="Symbol">:</a> <a id="6024" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="6032" href="Categories.Functor.Equivalence.html#5629" class="Bound">B</a> <a id="6034" href="Categories.Functor.Equivalence.html#5650" class="Bound">C</a><a id="6035" class="Symbol">}</a> <a id="6037" class="Symbol">{</a><a id="6038" href="Categories.Functor.Equivalence.html#6038" class="Bound">G</a> <a id="6040" class="Symbol">:</a> <a id="6042" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="6050" href="Categories.Functor.Equivalence.html#5650" class="Bound">C</a> <a id="6052" href="Categories.Functor.Equivalence.html#5683" class="Bound">D</a><a id="6053" class="Symbol">}</a> <a id="6055" class="Symbol">{</a><a id="6056" href="Categories.Functor.Equivalence.html#6056" class="Bound">H</a> <a id="6058" class="Symbol">:</a> <a id="6060" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="6068" href="Categories.Functor.Equivalence.html#5683" class="Bound">D</a> <a id="6070" href="Categories.Functor.Equivalence.html#5707" class="Bound">E</a><a id="6071" class="Symbol">}</a> <a id="6073" class="Symbol">→</a>
|
|||
|
<a id="6092" href="Categories.Functor.Equivalence.html#6056" class="Bound">H</a> <a id="6094" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="6097" class="Symbol">(</a><a id="6098" href="Categories.Functor.Equivalence.html#6038" class="Bound">G</a> <a id="6100" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="6103" href="Categories.Functor.Equivalence.html#6020" class="Bound">F</a><a id="6104" class="Symbol">)</a> <a id="6107" href="Categories.Functor.Equivalence.html#1376" class="Record Operator">≡F</a> <a id="6111" class="Symbol">(</a><a id="6112" href="Categories.Functor.Equivalence.html#6056" class="Bound">H</a> <a id="6114" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="6117" href="Categories.Functor.Equivalence.html#6038" class="Bound">G</a><a id="6118" class="Symbol">)</a> <a id="6120" href="Categories.Functor.html#747" class="Function Operator">∘F</a> <a id="6123" href="Categories.Functor.Equivalence.html#6020" class="Bound">F</a>
|
|||
|
<a id="6127" href="Categories.Functor.Equivalence.html#6004" class="Function">≡F-sym-assoc</a> <a id="6140" class="Symbol">=</a> <a id="6142" class="Keyword">record</a> <a id="6149" class="Symbol">{</a> <a id="6151" href="Categories.Functor.Equivalence.html#1731" class="Field">eq₀</a> <a id="6155" class="Symbol">=</a> <a id="6157" class="Symbol">λ</a> <a id="6159" href="Categories.Functor.Equivalence.html#6159" class="Bound">_</a> <a id="6161" class="Symbol">→</a> <a id="6163" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="6168" class="Symbol">;</a> <a id="6170" href="Categories.Functor.Equivalence.html#1760" class="Field">eq₁</a> <a id="6174" class="Symbol">=</a> <a id="6176" class="Symbol">λ</a> <a id="6178" href="Categories.Functor.Equivalence.html#6178" class="Bound">_</a> <a id="6180" class="Symbol">→</a> <a id="6182" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a> <a id="6194" class="Symbol">}</a>
|
|||
|
</pre></body></html>
|