mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
242 lines
159 KiB
HTML
242 lines
159 KiB
HTML
|
<!DOCTYPE HTML>
|
|||
|
<html><head><meta charset="utf-8"><title>Categories.Morphism.Isomorphism</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">open</a> <a id="41" class="Keyword">import</a> <a id="48" href="Categories.Category.html" class="Module">Categories.Category</a>
|
|||
|
|
|||
|
<a id="69" class="Comment">-- Mainly *properties* of isomorphisms, and a lot of other things too</a>
|
|||
|
|
|||
|
<a id="140" class="Comment">-- TODO: split things up more semantically?</a>
|
|||
|
|
|||
|
<a id="185" class="Keyword">module</a> <a id="192" href="Categories.Morphism.Isomorphism.html" class="Module">Categories.Morphism.Isomorphism</a> <a id="224" class="Symbol">{</a><a id="225" href="Categories.Morphism.Isomorphism.html#225" class="Bound">o</a> <a id="227" href="Categories.Morphism.Isomorphism.html#227" class="Bound">ℓ</a> <a id="229" href="Categories.Morphism.Isomorphism.html#229" class="Bound">e</a><a id="230" class="Symbol">}</a> <a id="232" class="Symbol">(</a><a id="233" href="Categories.Morphism.Isomorphism.html#233" class="Bound">𝒞</a> <a id="235" class="Symbol">:</a> <a id="237" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="246" href="Categories.Morphism.Isomorphism.html#225" class="Bound">o</a> <a id="248" href="Categories.Morphism.Isomorphism.html#227" class="Bound">ℓ</a> <a id="250" href="Categories.Morphism.Isomorphism.html#229" class="Bound">e</a><a id="251" class="Symbol">)</a> <a id="253" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="260" class="Keyword">open</a> <a id="265" class="Keyword">import</a> <a id="272" href="Level.html" class="Module">Level</a> <a id="278" class="Keyword">using</a> <a id="284" class="Symbol">(</a><a id="285" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a><a id="288" class="Symbol">)</a>
|
|||
|
<a id="290" class="Keyword">open</a> <a id="295" class="Keyword">import</a> <a id="302" href="Function.html" class="Module">Function</a> <a id="311" class="Keyword">using</a> <a id="317" class="Symbol">(</a><a id="318" href="Function.Base.html#1638" class="Function">flip</a><a id="322" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="325" class="Keyword">open</a> <a id="330" class="Keyword">import</a> <a id="337" href="Data.Product.html" class="Module">Data.Product</a> <a id="350" class="Keyword">using</a> <a id="356" class="Symbol">(</a><a id="357" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="360" class="Symbol">)</a>
|
|||
|
<a id="362" class="Keyword">open</a> <a id="367" class="Keyword">import</a> <a id="374" href="Relation.Binary.html" class="Module">Relation.Binary</a> <a id="390" class="Keyword">using</a> <a id="396" class="Symbol">(</a><a id="397" href="Relation.Binary.Core.html#896" class="Function">Rel</a><a id="400" class="Symbol">;</a> <a id="402" href="Relation.Binary.Core.html#1577" class="Function Operator">_Preserves_⟶_</a><a id="415" class="Symbol">;</a> <a id="417" href="Relation.Binary.Structures.html#1550" class="Record">IsEquivalence</a><a id="430" class="Symbol">)</a>
|
|||
|
<a id="432" class="Keyword">open</a> <a id="437" class="Keyword">import</a> <a id="444" href="Relation.Binary.Construct.Closure.Transitive.html" class="Module">Relation.Binary.Construct.Closure.Transitive</a>
|
|||
|
<a id="489" class="Keyword">open</a> <a id="494" class="Keyword">import</a> <a id="501" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a> <a id="539" class="Symbol">as</a> <a id="542" class="Module">≡</a> <a id="544" class="Keyword">using</a> <a id="550" class="Symbol">(</a><a id="551" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a><a id="554" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="557" class="Keyword">import</a> <a id="564" href="Categories.Category.Construction.Core.html" class="Module">Categories.Category.Construction.Core</a> <a id="602" class="Symbol">as</a> <a id="605" class="Module">Core</a>
|
|||
|
<a id="610" class="Keyword">open</a> <a id="615" class="Keyword">import</a> <a id="622" href="Categories.Category.Groupoid.html" class="Module">Categories.Category.Groupoid</a> <a id="651" class="Keyword">using</a> <a id="657" class="Symbol">(</a><a id="658" href="Categories.Category.Groupoid.html#189" class="Record">IsGroupoid</a><a id="668" class="Symbol">)</a>
|
|||
|
<a id="670" class="Keyword">import</a> <a id="677" href="Categories.Category.Groupoid.Properties.html" class="Module">Categories.Category.Groupoid.Properties</a> <a id="717" class="Symbol">as</a> <a id="720" class="Module">GroupoidProps</a>
|
|||
|
<a id="734" class="Keyword">import</a> <a id="741" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="761" class="Symbol">as</a> <a id="764" class="Module">Morphism</a>
|
|||
|
<a id="773" class="Keyword">import</a> <a id="780" href="Categories.Morphism.Properties.html" class="Module">Categories.Morphism.Properties</a> <a id="811" class="Symbol">as</a> <a id="814" class="Module">MorphismProps</a>
|
|||
|
<a id="828" class="Keyword">import</a> <a id="835" href="Categories.Morphism.IsoEquiv.html" class="Module">Categories.Morphism.IsoEquiv</a> <a id="864" class="Symbol">as</a> <a id="867" class="Module">IsoEquiv</a>
|
|||
|
<a id="876" class="Keyword">import</a> <a id="883" href="Categories.Category.Construction.Path.html" class="Module">Categories.Category.Construction.Path</a> <a id="921" class="Symbol">as</a> <a id="924" class="Module">Path</a>
|
|||
|
|
|||
|
<a id="930" class="Keyword">open</a> <a id="935" href="Categories.Category.Construction.Core.html" class="Module">Core</a> <a id="940" href="Categories.Morphism.Isomorphism.html#233" class="Bound">𝒞</a> <a id="942" class="Keyword">using</a> <a id="948" class="Symbol">(</a><a id="949" href="Categories.Category.Construction.Core.html#484" class="Function">Core</a><a id="953" class="Symbol">;</a> <a id="955" href="Categories.Category.Construction.Core.html#888" class="Function">Core-isGroupoid</a><a id="970" class="Symbol">;</a> <a id="972" href="Categories.Category.Construction.Core.html#1056" class="Function">CoreGroupoid</a><a id="984" class="Symbol">;</a> <a id="986" class="Keyword">module</a> <a id="993" href="Categories.Category.Construction.Core.html#1314" class="Module">Shorthands</a><a id="1003" class="Symbol">)</a>
|
|||
|
<a id="1005" class="Keyword">open</a> <a id="1010" href="Categories.Morphism.html" class="Module">Morphism</a> <a id="1019" href="Categories.Morphism.Isomorphism.html#233" class="Bound">𝒞</a>
|
|||
|
<a id="1021" class="Keyword">open</a> <a id="1026" href="Categories.Morphism.Properties.html" class="Module">MorphismProps</a> <a id="1040" href="Categories.Morphism.Isomorphism.html#233" class="Bound">𝒞</a>
|
|||
|
<a id="1042" class="Keyword">open</a> <a id="1047" href="Categories.Category.Construction.Path.html" class="Module">Path</a> <a id="1052" href="Categories.Morphism.Isomorphism.html#233" class="Bound">𝒞</a>
|
|||
|
|
|||
|
<a id="1055" class="Keyword">import</a> <a id="1062" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="1092" class="Symbol">as</a> <a id="1095" class="Module">MR</a>
|
|||
|
|
|||
|
<a id="1099" class="Keyword">open</a> <a id="1104" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1113" href="Categories.Morphism.Isomorphism.html#233" class="Bound">𝒞</a>
|
|||
|
<a id="1115" class="Keyword">open</a> <a id="1120" href="Categories.Category.html#824" class="Module">Definitions</a> <a id="1132" href="Categories.Morphism.Isomorphism.html#233" class="Bound">𝒞</a>
|
|||
|
|
|||
|
<a id="1135" class="Keyword">private</a>
|
|||
|
<a id="1145" class="Keyword">module</a> <a id="MCore"></a><a id="1152" href="Categories.Morphism.Isomorphism.html#1152" class="Module">MCore</a> <a id="1158" class="Keyword">where</a>
|
|||
|
<a id="1168" class="Keyword">open</a> <a id="1173" href="Categories.Category.Groupoid.Properties.html" class="Module">GroupoidProps</a> <a id="1187" href="Categories.Category.Construction.Core.html#1056" class="Function">CoreGroupoid</a> <a id="1200" class="Keyword">public</a>
|
|||
|
<a id="1211" class="Keyword">open</a> <a id="1216" href="Categories.Morphism.Properties.html" class="Module">MorphismProps</a> <a id="1230" href="Categories.Category.Construction.Core.html#484" class="Function">Core</a> <a id="1243" class="Keyword">public</a>
|
|||
|
<a id="1254" class="Keyword">open</a> <a id="1259" href="Categories.Morphism.html" class="Module">Morphism</a> <a id="1273" href="Categories.Category.Construction.Core.html#484" class="Function">Core</a> <a id="1286" class="Keyword">public</a>
|
|||
|
<a id="1297" class="Keyword">open</a> <a id="1302" href="Categories.Category.Construction.Path.html" class="Module">Path</a> <a id="1316" href="Categories.Category.Construction.Core.html#484" class="Function">Core</a> <a id="1329" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="1339" class="Keyword">variable</a>
|
|||
|
<a id="1352" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="1354" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="1356" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="1358" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="1360" href="Categories.Morphism.Isomorphism.html#1360" class="Generalizable">E</a> <a id="1362" href="Categories.Morphism.Isomorphism.html#1362" class="Generalizable">F</a> <a id="1364" class="Symbol">:</a> <a id="1366" href="Categories.Category.Core.html#559" class="Field">Obj</a>
|
|||
|
|
|||
|
<a id="1371" class="Keyword">open</a> <a id="1376" href="Categories.Category.Construction.Core.html#1314" class="Module">Shorthands</a> <a id="1387" class="Keyword">hiding</a> <a id="1394" class="Symbol">(</a><a id="1395" href="Categories.Category.Core.html#575" class="Function Operator">_≅_</a><a id="1398" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="CommutativeIso"></a><a id="1401" href="Categories.Morphism.Isomorphism.html#1401" class="Function">CommutativeIso</a> <a id="1416" class="Symbol">=</a> <a id="1418" href="Categories.Category.html#884" class="Function">IsGroupoid.CommutativeSquare</a> <a id="1447" href="Categories.Category.Construction.Core.html#888" class="Function">Core-isGroupoid</a>
|
|||
|
|
|||
|
<a id="1464" class="Comment">--------------------</a>
|
|||
|
<a id="1485" class="Comment">-- Also stuff about transitive closure</a>
|
|||
|
|
|||
|
<a id="∘ᵢ-tc"></a><a id="1525" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="1531" class="Symbol">:</a> <a id="1533" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="1535" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="1537" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="1541" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="1544" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="1546" class="Symbol">→</a> <a id="1548" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="1550" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="1552" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a>
|
|||
|
<a id="1554" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="1560" class="Symbol">=</a> <a id="1562" href="Categories.Category.Construction.Path.html#357" class="Function">MCore.∘-tc</a>
|
|||
|
|
|||
|
<a id="1574" class="Keyword">infix</a> <a id="1580" class="Number">4</a> <a id="1582" href="Categories.Morphism.Isomorphism.html#1587" class="Function Operator">_≃⁺_</a>
|
|||
|
<a id="_≃⁺_"></a><a id="1587" href="Categories.Morphism.Isomorphism.html#1587" class="Function Operator">_≃⁺_</a> <a id="1592" class="Symbol">:</a> <a id="1594" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1598" class="Symbol">(</a><a id="1599" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="1601" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="1603" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="1607" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="1610" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="1611" class="Symbol">)</a> <a id="1613" href="Categories.Morphism.Isomorphism.html#229" class="Bound">e</a>
|
|||
|
<a id="1615" href="Categories.Morphism.Isomorphism.html#1587" class="Function Operator">_≃⁺_</a> <a id="1620" class="Symbol">=</a> <a id="1622" href="Categories.Category.Construction.Path.html#482" class="Function Operator">MCore._≈⁺_</a>
|
|||
|
|
|||
|
<a id="TransitiveClosure"></a><a id="1634" href="Categories.Morphism.Isomorphism.html#1634" class="Function">TransitiveClosure</a> <a id="1652" class="Symbol">:</a> <a id="1654" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="1663" href="Categories.Morphism.Isomorphism.html#225" class="Bound">o</a> <a id="1665" class="Symbol">(</a><a id="1666" href="Categories.Morphism.Isomorphism.html#225" class="Bound">o</a> <a id="1668" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1670" href="Categories.Morphism.Isomorphism.html#227" class="Bound">ℓ</a> <a id="1672" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1674" href="Categories.Morphism.Isomorphism.html#229" class="Bound">e</a><a id="1675" class="Symbol">)</a> <a id="1677" href="Categories.Morphism.Isomorphism.html#229" class="Bound">e</a>
|
|||
|
<a id="1679" href="Categories.Morphism.Isomorphism.html#1634" class="Function">TransitiveClosure</a> <a id="1697" class="Symbol">=</a> <a id="1699" href="Categories.Category.Construction.Path.html#562" class="Function">MCore.Path</a>
|
|||
|
|
|||
|
<a id="1711" class="Comment">--------------------</a>
|
|||
|
<a id="1732" class="Comment">-- some infrastructure setup in order to say something about morphisms and isomorphisms</a>
|
|||
|
<a id="1820" class="Keyword">module</a> <a id="1827" href="Categories.Morphism.Isomorphism.html#1827" class="Module">_</a> <a id="1829" class="Keyword">where</a>
|
|||
|
<a id="1837" class="Keyword">private</a>
|
|||
|
<a id="1849" class="Keyword">data</a> <a id="1854" href="Categories.Morphism.Isomorphism.html#1854" class="Datatype">IsoPlus</a> <a id="1862" class="Symbol">:</a> <a id="1864" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="1866" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="1868" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="1872" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="1875" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="1877" class="Symbol">→</a> <a id="1879" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1883" class="Symbol">(</a><a id="1884" href="Categories.Morphism.Isomorphism.html#225" class="Bound">o</a> <a id="1886" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1888" href="Categories.Morphism.Isomorphism.html#227" class="Bound">ℓ</a> <a id="1890" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1892" href="Categories.Morphism.Isomorphism.html#229" class="Bound">e</a><a id="1893" class="Symbol">)</a> <a id="1895" class="Keyword">where</a>
|
|||
|
<a id="1907" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[_]</a> <a id="1915" class="Symbol">:</a> <a id="1917" class="Symbol">{</a><a id="1918" href="Categories.Morphism.Isomorphism.html#1918" class="Bound">f</a> <a id="1920" class="Symbol">:</a> <a id="1922" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="1924" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="1926" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="1927" class="Symbol">}</a> <a id="1929" class="Symbol">{</a><a id="1930" href="Categories.Morphism.Isomorphism.html#1930" class="Bound">g</a> <a id="1932" class="Symbol">:</a> <a id="1934" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="1936" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="1938" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="1939" class="Symbol">}</a> <a id="1941" class="Symbol">→</a> <a id="1943" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="1947" href="Categories.Morphism.Isomorphism.html#1918" class="Bound">f</a> <a id="1949" href="Categories.Morphism.Isomorphism.html#1930" class="Bound">g</a> <a id="1951" class="Symbol">→</a> <a id="1953" href="Categories.Morphism.Isomorphism.html#1854" class="Datatype">IsoPlus</a> <a id="1961" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="1963" href="Categories.Morphism.Isomorphism.html#1918" class="Bound">f</a> <a id="1965" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a>
|
|||
|
<a id="1973" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">_∼⁺⟨_⟩_</a> <a id="1981" class="Symbol">:</a> <a id="1983" class="Symbol">∀</a> <a id="1985" href="Categories.Morphism.Isomorphism.html#1985" class="Bound">A</a> <a id="1987" class="Symbol">{</a><a id="1988" href="Categories.Morphism.Isomorphism.html#1988" class="Bound">f⁺</a> <a id="1991" class="Symbol">:</a> <a id="1993" href="Categories.Morphism.Isomorphism.html#1985" class="Bound">A</a> <a id="1995" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="1997" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="2001" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2004" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="2005" class="Symbol">}</a> <a id="2007" class="Symbol">{</a><a id="2008" href="Categories.Morphism.Isomorphism.html#2008" class="Bound">g⁺</a> <a id="2011" class="Symbol">:</a> <a id="2013" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="2015" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="2017" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="2021" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2024" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="2025" class="Symbol">}</a> <a id="2027" class="Symbol">→</a> <a id="2029" href="Categories.Morphism.Isomorphism.html#1854" class="Datatype">IsoPlus</a> <a id="2037" href="Categories.Morphism.Isomorphism.html#1988" class="Bound">f⁺</a> <a id="2040" class="Symbol">→</a> <a id="2042" href="Categories.Morphism.Isomorphism.html#1854" class="Datatype">IsoPlus</a> <a id="2050" href="Categories.Morphism.Isomorphism.html#2008" class="Bound">g⁺</a> <a id="2053" class="Symbol">→</a> <a id="2055" href="Categories.Morphism.Isomorphism.html#1854" class="Datatype">IsoPlus</a> <a id="2063" class="Symbol">(_</a> <a id="2066" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="2070" href="Categories.Morphism.Isomorphism.html#1988" class="Bound">f⁺</a> <a id="2073" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="2075" href="Categories.Morphism.Isomorphism.html#2008" class="Bound">g⁺</a><a id="2077" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="2082" class="Keyword">open</a> <a id="2087" href="Categories.Morphism.html#1958" class="Module Operator">_≅_</a>
|
|||
|
|
|||
|
<a id="2094" href="Categories.Morphism.Isomorphism.html#2094" class="Function">≅⁺⇒⇒⁺</a> <a id="2100" class="Symbol">:</a> <a id="2102" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="2104" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="2106" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="2110" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2113" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="2115" class="Symbol">→</a> <a id="2117" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="2119" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="2121" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="2125" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2128" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a>
|
|||
|
<a id="2132" href="Categories.Morphism.Isomorphism.html#2094" class="Function">≅⁺⇒⇒⁺</a> <a id="2138" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="2140" href="Categories.Morphism.Isomorphism.html#2140" class="Bound">f</a> <a id="2142" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a> <a id="2155" class="Symbol">=</a> <a id="2157" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="2159" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2164" href="Categories.Morphism.Isomorphism.html#2140" class="Bound">f</a> <a id="2166" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a>
|
|||
|
<a id="2170" href="Categories.Morphism.Isomorphism.html#2094" class="Function">≅⁺⇒⇒⁺</a> <a id="2176" class="Symbol">(_</a> <a id="2179" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="2183" href="Categories.Morphism.Isomorphism.html#2183" class="Bound">f⁺</a> <a id="2186" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="2188" href="Categories.Morphism.Isomorphism.html#2188" class="Bound">f⁺′</a><a id="2191" class="Symbol">)</a> <a id="2193" class="Symbol">=</a> <a id="2195" class="Symbol">_</a> <a id="2197" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="2201" href="Categories.Morphism.Isomorphism.html#2094" class="Function">≅⁺⇒⇒⁺</a> <a id="2207" href="Categories.Morphism.Isomorphism.html#2183" class="Bound">f⁺</a> <a id="2210" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="2212" href="Categories.Morphism.Isomorphism.html#2094" class="Function">≅⁺⇒⇒⁺</a> <a id="2218" href="Categories.Morphism.Isomorphism.html#2188" class="Bound">f⁺′</a>
|
|||
|
|
|||
|
<a id="2225" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="2233" class="Symbol">:</a> <a id="2235" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="2237" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="2239" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="2243" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2246" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="2248" class="Symbol">→</a> <a id="2250" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="2252" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="2254" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="2258" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2261" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a>
|
|||
|
<a id="2265" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="2273" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="2275" href="Categories.Morphism.Isomorphism.html#2275" class="Bound">f</a> <a id="2277" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a> <a id="2290" class="Symbol">=</a> <a id="2292" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="2294" href="Relation.Binary.Structures.html#1622" class="Function">≅.sym</a> <a id="2300" href="Categories.Morphism.Isomorphism.html#2275" class="Bound">f</a> <a id="2302" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a>
|
|||
|
<a id="2306" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="2314" class="Symbol">(_</a> <a id="2317" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="2321" href="Categories.Morphism.Isomorphism.html#2321" class="Bound">f⁺</a> <a id="2324" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="2326" href="Categories.Morphism.Isomorphism.html#2326" class="Bound">f⁺′</a><a id="2329" class="Symbol">)</a> <a id="2331" class="Symbol">=</a> <a id="2333" class="Symbol">_</a> <a id="2335" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="2339" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="2347" href="Categories.Morphism.Isomorphism.html#2326" class="Bound">f⁺′</a> <a id="2351" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="2353" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="2361" href="Categories.Morphism.Isomorphism.html#2321" class="Bound">f⁺</a>
|
|||
|
|
|||
|
<a id="2367" href="Categories.Morphism.Isomorphism.html#2367" class="Function">reverse⇒≅-sym</a> <a id="2381" class="Symbol">:</a> <a id="2383" class="Symbol">(</a><a id="2384" href="Categories.Morphism.Isomorphism.html#2384" class="Bound">f⁺</a> <a id="2387" class="Symbol">:</a> <a id="2389" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="2391" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="2393" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="2397" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2400" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="2401" class="Symbol">)</a> <a id="2403" class="Symbol">→</a> <a id="2405" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="2411" class="Symbol">(</a><a id="2412" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="2420" href="Categories.Morphism.Isomorphism.html#2384" class="Bound">f⁺</a><a id="2422" class="Symbol">)</a> <a id="2424" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="2426" href="Relation.Binary.Structures.html#1622" class="Function">≅.sym</a> <a id="2432" class="Symbol">(</a><a id="2433" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="2439" href="Categories.Morphism.Isomorphism.html#2384" class="Bound">f⁺</a><a id="2441" class="Symbol">)</a>
|
|||
|
<a id="2445" href="Categories.Morphism.Isomorphism.html#2367" class="Function">reverse⇒≅-sym</a> <a id="2459" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="2461" href="Categories.Morphism.Isomorphism.html#2461" class="Bound">f</a> <a id="2463" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a> <a id="2476" class="Symbol">=</a> <a id="2478" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">≡.refl</a>
|
|||
|
<a id="2487" href="Categories.Morphism.Isomorphism.html#2367" class="Function">reverse⇒≅-sym</a> <a id="2501" class="Symbol">(_</a> <a id="2504" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="2508" href="Categories.Morphism.Isomorphism.html#2508" class="Bound">f⁺</a> <a id="2511" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="2513" href="Categories.Morphism.Isomorphism.html#2513" class="Bound">f⁺′</a><a id="2516" class="Symbol">)</a> <a id="2519" class="Symbol">=</a> <a id="2521" href="Relation.Binary.PropositionalEquality.Core.html#1395" class="Function">≡.cong₂</a> <a id="2529" class="Symbol">(</a><a id="2530" href="Relation.Binary.Structures.html#1648" class="Function">Morphism.≅.trans</a> <a id="2547" href="Categories.Morphism.Isomorphism.html#233" class="Bound">𝒞</a><a id="2548" class="Symbol">)</a> <a id="2550" class="Symbol">(</a><a id="2551" href="Categories.Morphism.Isomorphism.html#2367" class="Function">reverse⇒≅-sym</a> <a id="2565" href="Categories.Morphism.Isomorphism.html#2513" class="Bound">f⁺′</a><a id="2568" class="Symbol">)</a> <a id="2570" class="Symbol">(</a><a id="2571" href="Categories.Morphism.Isomorphism.html#2367" class="Function">reverse⇒≅-sym</a> <a id="2585" href="Categories.Morphism.Isomorphism.html#2508" class="Bound">f⁺</a><a id="2587" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="2592" href="Categories.Morphism.Isomorphism.html#2592" class="Function">TransitiveClosure-groupoid</a> <a id="2619" class="Symbol">:</a> <a id="2621" href="Categories.Category.Groupoid.html#189" class="Record">IsGroupoid</a> <a id="2632" href="Categories.Morphism.Isomorphism.html#1634" class="Function">TransitiveClosure</a>
|
|||
|
<a id="2652" href="Categories.Morphism.Isomorphism.html#2592" class="Function">TransitiveClosure-groupoid</a> <a id="2679" class="Symbol">=</a> <a id="2681" class="Keyword">record</a>
|
|||
|
<a id="2692" class="Symbol">{</a> <a id="2694" href="Categories.Category.Groupoid.html#365" class="Field Operator">_⁻¹</a> <a id="2698" class="Symbol">=</a> <a id="2700" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a>
|
|||
|
<a id="2712" class="Symbol">;</a> <a id="2714" href="Categories.Category.Groupoid.html#399" class="Field">iso</a> <a id="2718" class="Symbol">=</a> <a id="2720" class="Symbol">λ</a> <a id="2722" class="Symbol">{</a><a id="2723" href="Categories.Morphism.Isomorphism.html#2723" class="Bound">_</a> <a id="2725" href="Categories.Morphism.Isomorphism.html#2725" class="Bound">_</a> <a id="2727" href="Categories.Morphism.Isomorphism.html#2727" class="Bound">f⁺</a><a id="2729" class="Symbol">}</a> <a id="2731" class="Symbol">→</a> <a id="2733" class="Keyword">record</a> <a id="2740" class="Symbol">{</a> <a id="2742" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="2747" class="Symbol">=</a> <a id="2749" href="Categories.Morphism.Isomorphism.html#2826" class="Function">isoˡ′</a> <a id="2755" href="Categories.Morphism.Isomorphism.html#2727" class="Bound">f⁺</a> <a id="2758" class="Symbol">;</a> <a id="2760" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="2765" class="Symbol">=</a> <a id="2767" href="Categories.Morphism.Isomorphism.html#3113" class="Function">isoʳ′</a> <a id="2773" href="Categories.Morphism.Isomorphism.html#2727" class="Bound">f⁺</a> <a id="2776" class="Symbol">}</a>
|
|||
|
<a id="2782" class="Symbol">}</a>
|
|||
|
<a id="2788" class="Keyword">where</a>
|
|||
|
<a id="2800" class="Keyword">open</a> <a id="2805" href="Categories.Category.Core.html#2462" class="Module">HomReasoningᵢ</a>
|
|||
|
|
|||
|
<a id="2826" href="Categories.Morphism.Isomorphism.html#2826" class="Function">isoˡ′</a> <a id="2832" class="Symbol">:</a> <a id="2834" class="Symbol">(</a><a id="2835" href="Categories.Morphism.Isomorphism.html#2835" class="Bound">f⁺</a> <a id="2838" class="Symbol">:</a> <a id="2840" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="2842" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="2844" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="2848" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="2851" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="2852" class="Symbol">)</a> <a id="2854" class="Symbol">→</a> <a id="2856" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="2862" class="Symbol">(</a><a id="2863" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="2871" href="Categories.Morphism.Isomorphism.html#2835" class="Bound">f⁺</a><a id="2873" class="Symbol">)</a> <a id="2875" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="2878" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="2884" href="Categories.Morphism.Isomorphism.html#2835" class="Bound">f⁺</a> <a id="2887" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="2890" href="Relation.Binary.Structures.html#1596" class="Function">≅.refl</a>
|
|||
|
<a id="2903" href="Categories.Morphism.Isomorphism.html#2826" class="Function">isoˡ′</a> <a id="2909" href="Categories.Morphism.Isomorphism.html#2909" class="Bound">f⁺</a> <a id="2912" class="Symbol">=</a> <a id="2914" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="2930" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="2936" class="Symbol">(</a><a id="2937" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="2945" href="Categories.Morphism.Isomorphism.html#2909" class="Bound">f⁺</a><a id="2947" class="Symbol">)</a> <a id="2949" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="2952" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="2958" href="Categories.Morphism.Isomorphism.html#2909" class="Bound">f⁺</a>
|
|||
|
<a id="2969" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="2972" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">≡.cong</a> <a id="2979" class="Symbol">(</a><a id="2980" href="Categories.Category.Core.html#656" class="Function Operator">_∘ᵢ</a> <a id="2984" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="2990" href="Categories.Morphism.Isomorphism.html#2909" class="Bound">f⁺</a><a id="2992" class="Symbol">)</a> <a id="2994" class="Symbol">(</a><a id="2995" href="Categories.Morphism.Isomorphism.html#2367" class="Function">reverse⇒≅-sym</a> <a id="3009" href="Categories.Morphism.Isomorphism.html#2909" class="Bound">f⁺</a><a id="3011" class="Symbol">)</a> <a id="3013" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
|||
|
<a id="3025" href="Relation.Binary.Structures.html#1622" class="Function">≅.sym</a> <a id="3031" class="Symbol">(</a><a id="3032" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3038" href="Categories.Morphism.Isomorphism.html#2909" class="Bound">f⁺</a><a id="3040" class="Symbol">)</a> <a id="3042" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="3045" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3051" href="Categories.Morphism.Isomorphism.html#2909" class="Bound">f⁺</a>
|
|||
|
<a id="3062" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3065" href="Categories.Morphism.html#1586" class="Function">⁻¹-iso.isoˡ</a> <a id="3077" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3089" href="Relation.Binary.Structures.html#1596" class="Function">≅.refl</a>
|
|||
|
<a id="3104" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="3113" href="Categories.Morphism.Isomorphism.html#3113" class="Function">isoʳ′</a> <a id="3119" class="Symbol">:</a> <a id="3121" class="Symbol">(</a><a id="3122" href="Categories.Morphism.Isomorphism.html#3122" class="Bound">f⁺</a> <a id="3125" class="Symbol">:</a> <a id="3127" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="3129" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="3131" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="3135" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="3138" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="3139" class="Symbol">)</a> <a id="3141" class="Symbol">→</a> <a id="3143" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3149" href="Categories.Morphism.Isomorphism.html#3122" class="Bound">f⁺</a> <a id="3152" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="3155" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3161" class="Symbol">(</a><a id="3162" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="3170" href="Categories.Morphism.Isomorphism.html#3122" class="Bound">f⁺</a><a id="3172" class="Symbol">)</a> <a id="3174" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="3177" href="Relation.Binary.Structures.html#1596" class="Function">≅.refl</a>
|
|||
|
<a id="3190" href="Categories.Morphism.Isomorphism.html#3113" class="Function">isoʳ′</a> <a id="3196" href="Categories.Morphism.Isomorphism.html#3196" class="Bound">f⁺</a> <a id="3199" class="Symbol">=</a> <a id="3201" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="3217" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3223" href="Categories.Morphism.Isomorphism.html#3196" class="Bound">f⁺</a> <a id="3226" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="3229" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3235" class="Symbol">(</a><a id="3236" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="3244" href="Categories.Morphism.Isomorphism.html#3196" class="Bound">f⁺</a><a id="3246" class="Symbol">)</a>
|
|||
|
<a id="3256" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="3259" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">≡.cong</a> <a id="3266" class="Symbol">(</a><a id="3267" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3273" href="Categories.Morphism.Isomorphism.html#3196" class="Bound">f⁺</a> <a id="3276" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ_</a><a id="3279" class="Symbol">)</a> <a id="3281" class="Symbol">(</a><a id="3282" href="Categories.Morphism.Isomorphism.html#2367" class="Function">reverse⇒≅-sym</a> <a id="3296" href="Categories.Morphism.Isomorphism.html#3196" class="Bound">f⁺</a><a id="3298" class="Symbol">)</a> <a id="3300" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
|||
|
<a id="3312" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3318" href="Categories.Morphism.Isomorphism.html#3196" class="Bound">f⁺</a> <a id="3321" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="3324" href="Relation.Binary.Structures.html#1622" class="Function">≅.sym</a> <a id="3330" class="Symbol">(</a><a id="3331" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3337" href="Categories.Morphism.Isomorphism.html#3196" class="Bound">f⁺</a><a id="3339" class="Symbol">)</a>
|
|||
|
<a id="3349" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3352" href="Categories.Morphism.html#1612" class="Function">⁻¹-iso.isoʳ</a> <a id="3364" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3376" href="Relation.Binary.Structures.html#1596" class="Function">≅.refl</a>
|
|||
|
<a id="3391" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="3396" href="Categories.Morphism.Isomorphism.html#3396" class="Function">from-∘ᵢ-tc</a> <a id="3407" class="Symbol">:</a> <a id="3409" class="Symbol">(</a><a id="3410" href="Categories.Morphism.Isomorphism.html#3410" class="Bound">f⁺</a> <a id="3413" class="Symbol">:</a> <a id="3415" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="3417" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="3419" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="3423" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="3426" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="3427" class="Symbol">)</a> <a id="3429" class="Symbol">→</a> <a id="3431" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="3436" class="Symbol">(</a><a id="3437" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3443" href="Categories.Morphism.Isomorphism.html#3410" class="Bound">f⁺</a><a id="3445" class="Symbol">)</a> <a id="3447" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="3449" href="Categories.Category.Construction.Path.html#357" class="Function">∘-tc</a> <a id="3454" class="Symbol">(</a><a id="3455" href="Categories.Morphism.Isomorphism.html#2094" class="Function">≅⁺⇒⇒⁺</a> <a id="3461" href="Categories.Morphism.Isomorphism.html#3410" class="Bound">f⁺</a><a id="3463" class="Symbol">)</a>
|
|||
|
<a id="3467" href="Categories.Morphism.Isomorphism.html#3396" class="Function">from-∘ᵢ-tc</a> <a id="3478" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="3480" href="Categories.Morphism.Isomorphism.html#3480" class="Bound">f</a> <a id="3482" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a> <a id="3495" class="Symbol">=</a> <a id="3497" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">≡.refl</a>
|
|||
|
<a id="3506" href="Categories.Morphism.Isomorphism.html#3396" class="Function">from-∘ᵢ-tc</a> <a id="3517" class="Symbol">(_</a> <a id="3520" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="3524" href="Categories.Morphism.Isomorphism.html#3524" class="Bound">f⁺</a> <a id="3527" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="3529" href="Categories.Morphism.Isomorphism.html#3529" class="Bound">f⁺′</a><a id="3532" class="Symbol">)</a> <a id="3534" class="Symbol">=</a> <a id="3536" href="Relation.Binary.PropositionalEquality.Core.html#1395" class="Function">≡.cong₂</a> <a id="3544" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a> <a id="3548" class="Symbol">(</a><a id="3549" href="Categories.Morphism.Isomorphism.html#3396" class="Function">from-∘ᵢ-tc</a> <a id="3560" href="Categories.Morphism.Isomorphism.html#3529" class="Bound">f⁺′</a><a id="3563" class="Symbol">)</a> <a id="3565" class="Symbol">(</a><a id="3566" href="Categories.Morphism.Isomorphism.html#3396" class="Function">from-∘ᵢ-tc</a> <a id="3577" href="Categories.Morphism.Isomorphism.html#3524" class="Bound">f⁺</a><a id="3579" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="3584" href="Categories.Morphism.Isomorphism.html#3584" class="Function">≅*⇒⇒*-cong</a> <a id="3595" class="Symbol">:</a> <a id="3597" href="Categories.Morphism.Isomorphism.html#2094" class="Function">≅⁺⇒⇒⁺</a> <a id="3603" class="Symbol">{</a><a id="3604" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="3605" class="Symbol">}</a> <a id="3607" class="Symbol">{</a><a id="3608" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="3609" class="Symbol">}</a> <a id="3611" href="Relation.Binary.Core.html#1577" class="Function Operator">Preserves</a> <a id="3621" href="Categories.Morphism.Isomorphism.html#1587" class="Function Operator">_≃⁺_</a> <a id="3626" href="Relation.Binary.Core.html#1577" class="Function Operator">⟶</a> <a id="3628" href="Categories.Category.Construction.Path.html#482" class="Function Operator">_≈⁺_</a>
|
|||
|
<a id="3635" href="Categories.Morphism.Isomorphism.html#3584" class="Function">≅*⇒⇒*-cong</a> <a id="3646" class="Symbol">{_}</a> <a id="3650" class="Symbol">{_}</a> <a id="3654" class="Symbol">{</a><a id="3655" href="Categories.Morphism.Isomorphism.html#3655" class="Bound">f⁺</a><a id="3657" class="Symbol">}</a> <a id="3659" class="Symbol">{</a><a id="3660" href="Categories.Morphism.Isomorphism.html#3660" class="Bound">g⁺</a><a id="3662" class="Symbol">}</a> <a id="3664" href="Categories.Morphism.Isomorphism.html#3664" class="Bound">f⁺≃⁺g⁺</a> <a id="3671" class="Symbol">=</a> <a id="3673" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="3683" href="Categories.Category.Construction.Path.html#357" class="Function">∘-tc</a> <a id="3688" class="Symbol">(</a><a id="3689" href="Categories.Morphism.Isomorphism.html#2094" class="Function">≅⁺⇒⇒⁺</a> <a id="3695" href="Categories.Morphism.Isomorphism.html#3655" class="Bound">f⁺</a><a id="3697" class="Symbol">)</a> <a id="3700" href="Relation.Binary.Reasoning.Syntax.html#11477" class="Function">≡˘⟨</a> <a id="3704" href="Categories.Morphism.Isomorphism.html#3396" class="Function">from-∘ᵢ-tc</a> <a id="3715" href="Categories.Morphism.Isomorphism.html#3655" class="Bound">f⁺</a> <a id="3718" href="Relation.Binary.Reasoning.Syntax.html#11477" class="Function">⟩</a>
|
|||
|
<a id="3724" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="3729" class="Symbol">(</a><a id="3730" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3736" href="Categories.Morphism.Isomorphism.html#3655" class="Bound">f⁺</a><a id="3738" class="Symbol">)</a> <a id="3741" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3744" href="Categories.Morphism.IsoEquiv.html#1830" class="Field">from-≈</a> <a id="3751" href="Categories.Morphism.Isomorphism.html#3664" class="Bound">f⁺≃⁺g⁺</a> <a id="3758" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3764" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="3769" class="Symbol">(</a><a id="3770" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="3776" href="Categories.Morphism.Isomorphism.html#3660" class="Bound">g⁺</a><a id="3778" class="Symbol">)</a> <a id="3781" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="3784" href="Categories.Morphism.Isomorphism.html#3396" class="Function">from-∘ᵢ-tc</a> <a id="3795" href="Categories.Morphism.Isomorphism.html#3660" class="Bound">g⁺</a> <a id="3798" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
|||
|
<a id="3804" href="Categories.Category.Construction.Path.html#357" class="Function">∘-tc</a> <a id="3809" class="Symbol">(</a><a id="3810" href="Categories.Morphism.Isomorphism.html#2094" class="Function">≅⁺⇒⇒⁺</a> <a id="3816" href="Categories.Morphism.Isomorphism.html#3660" class="Bound">g⁺</a><a id="3818" class="Symbol">)</a> <a id="3821" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="3827" class="Keyword">where</a> <a id="3833" class="Keyword">open</a> <a id="3838" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
|||
|
|
|||
|
<a id="3854" href="Categories.Morphism.Isomorphism.html#3854" class="Function">≅-shift</a> <a id="3862" class="Symbol">:</a> <a id="3864" class="Symbol">∀</a> <a id="3866" class="Symbol">{</a><a id="3867" href="Categories.Morphism.Isomorphism.html#3867" class="Bound">f⁺</a> <a id="3870" class="Symbol">:</a> <a id="3872" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="3874" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="3876" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="3880" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="3883" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="3884" class="Symbol">}</a> <a id="3886" class="Symbol">{</a><a id="3887" href="Categories.Morphism.Isomorphism.html#3887" class="Bound">g⁺</a> <a id="3890" class="Symbol">:</a> <a id="3892" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="3894" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="3896" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="3900" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="3903" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="3904" class="Symbol">}</a> <a id="3906" class="Symbol">{</a><a id="3907" href="Categories.Morphism.Isomorphism.html#3907" class="Bound">h⁺</a> <a id="3910" class="Symbol">:</a> <a id="3912" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="3914" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="3916" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="3920" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="3923" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="3924" class="Symbol">}</a> <a id="3926" class="Symbol">→</a>
|
|||
|
<a id="3942" class="Symbol">(_</a> <a id="3945" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="3949" href="Categories.Morphism.Isomorphism.html#3867" class="Bound">f⁺</a> <a id="3952" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="3955" href="Categories.Morphism.Isomorphism.html#3887" class="Bound">g⁺</a><a id="3957" class="Symbol">)</a> <a id="3959" href="Categories.Morphism.Isomorphism.html#1587" class="Function Operator">≃⁺</a> <a id="3962" href="Categories.Morphism.Isomorphism.html#3907" class="Bound">h⁺</a> <a id="3965" class="Symbol">→</a> <a id="3967" href="Categories.Morphism.Isomorphism.html#3887" class="Bound">g⁺</a> <a id="3970" href="Categories.Morphism.Isomorphism.html#1587" class="Function Operator">≃⁺</a> <a id="3973" class="Symbol">(_</a> <a id="3976" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="3980" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="3988" href="Categories.Morphism.Isomorphism.html#3867" class="Bound">f⁺</a> <a id="3991" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="3993" href="Categories.Morphism.Isomorphism.html#3907" class="Bound">h⁺</a><a id="3995" class="Symbol">)</a>
|
|||
|
<a id="3999" href="Categories.Morphism.Isomorphism.html#3854" class="Function">≅-shift</a> <a id="4007" class="Symbol">{</a><a id="4008" class="Argument">f⁺</a> <a id="4011" class="Symbol">=</a> <a id="4013" href="Categories.Morphism.Isomorphism.html#4013" class="Bound">f⁺</a><a id="4015" class="Symbol">}</a> <a id="4017" class="Symbol">{</a><a id="4018" class="Argument">g⁺</a> <a id="4021" class="Symbol">=</a> <a id="4023" href="Categories.Morphism.Isomorphism.html#4023" class="Bound">g⁺</a><a id="4025" class="Symbol">}</a> <a id="4027" class="Symbol">{</a><a id="4028" class="Argument">h⁺</a> <a id="4031" class="Symbol">=</a> <a id="4033" href="Categories.Morphism.Isomorphism.html#4033" class="Bound">h⁺</a><a id="4035" class="Symbol">}</a> <a id="4037" href="Categories.Morphism.Isomorphism.html#4037" class="Bound">eq</a> <a id="4040" class="Symbol">=</a> <a id="4042" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="4052" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="4058" href="Categories.Morphism.Isomorphism.html#4023" class="Bound">g⁺</a> <a id="4098" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4101" href="Categories.Morphism.Reasoning.Core.html#2899" class="Function">introʳ</a> <a id="4108" class="Symbol">(</a><a id="4109" href="Categories.Morphism.html#1612" class="Function">I.isoʳ</a> <a id="4116" href="Categories.Morphism.Isomorphism.html#4013" class="Bound">f⁺</a><a id="4118" class="Symbol">)</a> <a id="4120" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4126" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="4132" href="Categories.Morphism.Isomorphism.html#4023" class="Bound">g⁺</a> <a id="4135" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="4138" class="Symbol">(</a><a id="4139" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="4145" href="Categories.Morphism.Isomorphism.html#4013" class="Bound">f⁺</a> <a id="4148" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="4151" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="4157" class="Symbol">(</a><a id="4158" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="4166" href="Categories.Morphism.Isomorphism.html#4013" class="Bound">f⁺</a><a id="4168" class="Symbol">))</a> <a id="4172" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4175" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4181" href="Categories.Morphism.Isomorphism.html#4037" class="Bound">eq</a> <a id="4184" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4190" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="4196" href="Categories.Morphism.Isomorphism.html#4033" class="Bound">h⁺</a> <a id="4199" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="4202" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="4208" class="Symbol">(</a><a id="4209" href="Categories.Morphism.Isomorphism.html#2225" class="Function">reverse</a> <a id="4217" href="Categories.Morphism.Isomorphism.html#4013" class="Bound">f⁺</a><a id="4219" class="Symbol">)</a> <a id="4236" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="4242" class="Keyword">where</a>
|
|||
|
<a id="4254" class="Keyword">open</a> <a id="4259" href="Categories.Category.Core.html#2462" class="Module">HomReasoningᵢ</a>
|
|||
|
<a id="4279" class="Keyword">open</a> <a id="4284" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="4287" href="Categories.Category.Construction.Core.html#484" class="Function">Core</a>
|
|||
|
<a id="4298" class="Keyword">module</a> <a id="4305" href="Categories.Morphism.Isomorphism.html#4305" class="Module">I</a> <a id="4307" class="Symbol">{</a><a id="4308" href="Categories.Morphism.Isomorphism.html#4308" class="Bound">A</a> <a id="4310" href="Categories.Morphism.Isomorphism.html#4310" class="Bound">B</a><a id="4311" class="Symbol">}</a> <a id="4313" class="Symbol">(</a><a id="4314" href="Categories.Morphism.Isomorphism.html#4314" class="Bound">f⁺</a> <a id="4317" class="Symbol">:</a> <a id="4319" href="Categories.Morphism.Isomorphism.html#4308" class="Bound">A</a> <a id="4321" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="4323" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="4327" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="4330" href="Categories.Morphism.Isomorphism.html#4310" class="Bound">B</a><a id="4331" class="Symbol">)</a> <a id="4333" class="Symbol">=</a> <a id="4335" href="Categories.Morphism.html#1528" class="Module">Morphism.Iso</a> <a id="4348" class="Symbol">(</a><a id="4349" href="Categories.Category.Groupoid.html#399" class="Field">IsGroupoid.iso</a> <a id="4364" href="Categories.Morphism.Isomorphism.html#2592" class="Function">TransitiveClosure-groupoid</a> <a id="4391" class="Symbol">{</a><a id="4392" class="Argument">f</a> <a id="4394" class="Symbol">=</a> <a id="4396" href="Categories.Morphism.Isomorphism.html#4314" class="Bound">f⁺</a><a id="4398" class="Symbol">})</a>
|
|||
|
|
|||
|
<a id="4404" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="4409" class="Symbol">:</a> <a id="4411" class="Symbol">∀</a> <a id="4413" class="Symbol">{</a><a id="4414" href="Categories.Morphism.Isomorphism.html#4414" class="Bound">f⁺</a> <a id="4417" class="Symbol">:</a> <a id="4419" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="4421" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="4423" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="4427" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="4430" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="4431" class="Symbol">}</a> <a id="4433" class="Symbol">→</a> <a id="4435" href="Categories.Morphism.Isomorphism.html#1854" class="Datatype">IsoPlus</a> <a id="4443" href="Categories.Morphism.Isomorphism.html#4414" class="Bound">f⁺</a> <a id="4446" class="Symbol">→</a> <a id="4448" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="4450" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="4452" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="4456" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="4459" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a>
|
|||
|
<a id="4463" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="4468" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="4470" href="Categories.Morphism.Isomorphism.html#4470" class="Bound">iso</a> <a id="4474" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="4487" class="Symbol">=</a> <a id="4489" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">[</a> <a id="4491" class="Keyword">record</a>
|
|||
|
<a id="4502" class="Symbol">{</a> <a id="4504" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="4509" class="Symbol">=</a> <a id="4511" class="Symbol">_</a>
|
|||
|
<a id="4517" class="Symbol">;</a> <a id="4519" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="4524" class="Symbol">=</a> <a id="4526" class="Symbol">_</a>
|
|||
|
<a id="4532" class="Symbol">;</a> <a id="4534" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="4539" class="Symbol">=</a> <a id="4541" href="Categories.Morphism.Isomorphism.html#4470" class="Bound">iso</a>
|
|||
|
<a id="4549" class="Symbol">}</a> <a id="4551" href="Relation.Binary.Construct.Closure.Transitive.html#2795" class="InductiveConstructor Operator">]</a>
|
|||
|
<a id="4555" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="4560" class="Symbol">(_</a> <a id="4563" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="4567" href="Categories.Morphism.Isomorphism.html#4567" class="Bound">iso</a> <a id="4571" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="4573" href="Categories.Morphism.Isomorphism.html#4573" class="Bound">iso′</a><a id="4577" class="Symbol">)</a> <a id="4579" class="Symbol">=</a> <a id="4581" class="Symbol">_</a> <a id="4583" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="4587" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="4592" href="Categories.Morphism.Isomorphism.html#4567" class="Bound">iso</a> <a id="4596" href="Relation.Binary.Construct.Closure.Transitive.html#2844" class="InductiveConstructor Operator">⟩</a> <a id="4598" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="4603" href="Categories.Morphism.Isomorphism.html#4573" class="Bound">iso′</a>
|
|||
|
|
|||
|
<a id="4611" href="Categories.Morphism.Isomorphism.html#4611" class="Function">reduce-lift</a> <a id="4623" class="Symbol">:</a> <a id="4625" class="Symbol">∀</a> <a id="4627" class="Symbol">{</a><a id="4628" href="Categories.Morphism.Isomorphism.html#4628" class="Bound">f⁺</a> <a id="4631" class="Symbol">:</a> <a id="4633" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="4635" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="4637" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="4641" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="4644" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="4645" class="Symbol">}</a> <a id="4647" class="Symbol">(</a><a id="4648" href="Categories.Morphism.Isomorphism.html#4648" class="Bound">f′</a> <a id="4651" class="Symbol">:</a> <a id="4653" href="Categories.Morphism.Isomorphism.html#1854" class="Datatype">IsoPlus</a> <a id="4661" href="Categories.Morphism.Isomorphism.html#4628" class="Bound">f⁺</a><a id="4663" class="Symbol">)</a> <a id="4665" class="Symbol">→</a> <a id="4667" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="4672" class="Symbol">(</a><a id="4673" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="4679" class="Symbol">(</a><a id="4680" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="4685" href="Categories.Morphism.Isomorphism.html#4648" class="Bound">f′</a><a id="4687" class="Symbol">))</a> <a id="4690" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="4692" href="Categories.Category.Construction.Path.html#357" class="Function">∘-tc</a> <a id="4697" href="Categories.Morphism.Isomorphism.html#4628" class="Bound">f⁺</a>
|
|||
|
<a id="4702" href="Categories.Morphism.Isomorphism.html#4611" class="Function">reduce-lift</a> <a id="4714" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="4716" href="Categories.Morphism.Isomorphism.html#4716" class="Bound">f</a> <a id="4718" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="4730" class="Symbol">=</a> <a id="4732" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">≡.refl</a>
|
|||
|
<a id="4741" href="Categories.Morphism.Isomorphism.html#4611" class="Function">reduce-lift</a> <a id="4753" class="Symbol">(_</a> <a id="4756" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="4760" href="Categories.Morphism.Isomorphism.html#4760" class="Bound">f′</a> <a id="4763" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="4765" href="Categories.Morphism.Isomorphism.html#4765" class="Bound">f″</a><a id="4767" class="Symbol">)</a> <a id="4769" class="Symbol">=</a> <a id="4771" href="Relation.Binary.PropositionalEquality.Core.html#1395" class="Function">≡.cong₂</a> <a id="4779" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a> <a id="4783" class="Symbol">(</a><a id="4784" href="Categories.Morphism.Isomorphism.html#4611" class="Function">reduce-lift</a> <a id="4796" href="Categories.Morphism.Isomorphism.html#4765" class="Bound">f″</a><a id="4798" class="Symbol">)</a> <a id="4800" class="Symbol">(</a><a id="4801" href="Categories.Morphism.Isomorphism.html#4611" class="Function">reduce-lift</a> <a id="4813" href="Categories.Morphism.Isomorphism.html#4760" class="Bound">f′</a><a id="4815" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="4820" href="Categories.Morphism.Isomorphism.html#4820" class="Function">lift-cong</a> <a id="4830" class="Symbol">:</a> <a id="4832" class="Symbol">∀</a> <a id="4834" class="Symbol">{</a><a id="4835" href="Categories.Morphism.Isomorphism.html#4835" class="Bound">f⁺</a> <a id="4838" href="Categories.Morphism.Isomorphism.html#4838" class="Bound">g⁺</a> <a id="4841" class="Symbol">:</a> <a id="4843" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="4845" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">[</a> <a id="4847" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="4851" href="Relation.Binary.Construct.Closure.Transitive.html#2738" class="Datatype">]⁺</a> <a id="4854" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="4855" class="Symbol">}</a> <a id="4857" class="Symbol">(</a><a id="4858" href="Categories.Morphism.Isomorphism.html#4858" class="Bound">f′</a> <a id="4861" class="Symbol">:</a> <a id="4863" href="Categories.Morphism.Isomorphism.html#1854" class="Datatype">IsoPlus</a> <a id="4871" href="Categories.Morphism.Isomorphism.html#4835" class="Bound">f⁺</a><a id="4873" class="Symbol">)</a> <a id="4875" class="Symbol">(</a><a id="4876" href="Categories.Morphism.Isomorphism.html#4876" class="Bound">g′</a> <a id="4879" class="Symbol">:</a> <a id="4881" href="Categories.Morphism.Isomorphism.html#1854" class="Datatype">IsoPlus</a> <a id="4889" href="Categories.Morphism.Isomorphism.html#4838" class="Bound">g⁺</a><a id="4891" class="Symbol">)</a> <a id="4893" class="Symbol">→</a>
|
|||
|
<a id="4909" href="Categories.Morphism.Isomorphism.html#4835" class="Bound">f⁺</a> <a id="4912" href="Categories.Category.Construction.Path.html#482" class="Function Operator">≈⁺</a> <a id="4915" href="Categories.Morphism.Isomorphism.html#4838" class="Bound">g⁺</a> <a id="4918" class="Symbol">→</a> <a id="4920" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="4925" href="Categories.Morphism.Isomorphism.html#4858" class="Bound">f′</a> <a id="4928" href="Categories.Morphism.Isomorphism.html#1587" class="Function Operator">≃⁺</a> <a id="4931" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="4936" href="Categories.Morphism.Isomorphism.html#4876" class="Bound">g′</a>
|
|||
|
<a id="4941" href="Categories.Morphism.Isomorphism.html#4820" class="Function">lift-cong</a> <a id="4951" class="Symbol">{_}</a> <a id="4955" class="Symbol">{_}</a> <a id="4959" class="Symbol">{</a><a id="4960" href="Categories.Morphism.Isomorphism.html#4960" class="Bound">f⁺</a><a id="4962" class="Symbol">}</a> <a id="4964" class="Symbol">{</a><a id="4965" href="Categories.Morphism.Isomorphism.html#4965" class="Bound">g⁺</a><a id="4967" class="Symbol">}</a> <a id="4969" href="Categories.Morphism.Isomorphism.html#4969" class="Bound">f′</a> <a id="4972" href="Categories.Morphism.Isomorphism.html#4972" class="Bound">g′</a> <a id="4975" href="Categories.Morphism.Isomorphism.html#4975" class="Bound">eq</a> <a id="4978" class="Symbol">=</a> <a id="4980" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator">⌞</a> <a id="4982" href="Categories.Morphism.Isomorphism.html#5033" class="Function">from-≈′</a> <a id="4990" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator">⌟</a>
|
|||
|
<a id="4996" class="Keyword">where</a>
|
|||
|
<a id="5008" class="Keyword">open</a> <a id="5013" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
|||
|
|
|||
|
<a id="5033" href="Categories.Morphism.Isomorphism.html#5033" class="Function">from-≈′</a> <a id="5041" class="Symbol">:</a> <a id="5043" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="5048" class="Symbol">(</a><a id="5049" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="5055" class="Symbol">(</a><a id="5056" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="5061" href="Categories.Morphism.Isomorphism.html#4969" class="Bound">f′</a><a id="5063" class="Symbol">))</a> <a id="5066" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="5068" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="5073" class="Symbol">(</a><a id="5074" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="5080" class="Symbol">(</a><a id="5081" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="5086" href="Categories.Morphism.Isomorphism.html#4972" class="Bound">g′</a><a id="5088" class="Symbol">))</a>
|
|||
|
<a id="5097" href="Categories.Morphism.Isomorphism.html#5033" class="Function">from-≈′</a> <a id="5105" class="Symbol">=</a> <a id="5107" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="5121" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="5126" class="Symbol">(</a><a id="5127" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="5133" class="Symbol">(</a><a id="5134" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="5139" href="Categories.Morphism.Isomorphism.html#4969" class="Bound">f′</a><a id="5141" class="Symbol">))</a> <a id="5145" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="5148" href="Categories.Morphism.Isomorphism.html#4611" class="Function">reduce-lift</a> <a id="5160" href="Categories.Morphism.Isomorphism.html#4969" class="Bound">f′</a> <a id="5163" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
|||
|
<a id="5173" href="Categories.Category.Construction.Path.html#357" class="Function">∘-tc</a> <a id="5178" href="Categories.Morphism.Isomorphism.html#4960" class="Bound">f⁺</a> <a id="5197" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5200" href="Categories.Morphism.Isomorphism.html#4975" class="Bound">eq</a> <a id="5203" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5213" href="Categories.Category.Construction.Path.html#357" class="Function">∘-tc</a> <a id="5218" href="Categories.Morphism.Isomorphism.html#4965" class="Bound">g⁺</a> <a id="5237" href="Relation.Binary.Reasoning.Syntax.html#11477" class="Function">≡˘⟨</a> <a id="5241" href="Categories.Morphism.Isomorphism.html#4611" class="Function">reduce-lift</a> <a id="5253" href="Categories.Morphism.Isomorphism.html#4972" class="Bound">g′</a> <a id="5256" href="Relation.Binary.Reasoning.Syntax.html#11477" class="Function">⟩</a>
|
|||
|
<a id="5266" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="5271" class="Symbol">(</a><a id="5272" href="Categories.Morphism.Isomorphism.html#1525" class="Function">∘ᵢ-tc</a> <a id="5278" class="Symbol">(</a><a id="5279" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="5284" href="Categories.Morphism.Isomorphism.html#4972" class="Bound">g′</a><a id="5286" class="Symbol">))</a> <a id="5290" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="5295" href="Categories.Morphism.Isomorphism.html#5295" class="Function">lift-triangle</a> <a id="5309" class="Symbol">:</a> <a id="5311" class="Symbol">{</a><a id="5312" href="Categories.Morphism.Isomorphism.html#5312" class="Bound">f</a> <a id="5314" class="Symbol">:</a> <a id="5316" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="5318" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5320" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="5321" class="Symbol">}</a> <a id="5323" class="Symbol">{</a><a id="5324" href="Categories.Morphism.Isomorphism.html#5324" class="Bound">g</a> <a id="5326" class="Symbol">:</a> <a id="5328" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="5330" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5332" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="5333" class="Symbol">}</a> <a id="5335" class="Symbol">{</a><a id="5336" href="Categories.Morphism.Isomorphism.html#5336" class="Bound">h</a> <a id="5338" class="Symbol">:</a> <a id="5340" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="5342" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5344" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="5345" class="Symbol">}</a> <a id="5347" class="Symbol">{</a><a id="5348" href="Categories.Morphism.Isomorphism.html#5348" class="Bound">k</a> <a id="5350" class="Symbol">:</a> <a id="5352" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="5354" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5356" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="5357" class="Symbol">}</a> <a id="5359" class="Symbol">{</a><a id="5360" href="Categories.Morphism.Isomorphism.html#5360" class="Bound">i</a> <a id="5362" class="Symbol">:</a> <a id="5364" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="5366" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5368" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="5369" class="Symbol">}</a> <a id="5371" class="Symbol">{</a><a id="5372" href="Categories.Morphism.Isomorphism.html#5372" class="Bound">j</a> <a id="5374" class="Symbol">:</a> <a id="5376" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="5378" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5380" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="5381" class="Symbol">}</a> <a id="5383" class="Symbol">→</a>
|
|||
|
<a id="5389" href="Categories.Morphism.Isomorphism.html#5312" class="Bound">f</a> <a id="5391" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5393" href="Categories.Morphism.Isomorphism.html#5324" class="Bound">g</a> <a id="5395" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="5397" href="Categories.Morphism.Isomorphism.html#5336" class="Bound">h</a> <a id="5399" class="Symbol">→</a> <a id="5401" class="Symbol">(</a><a id="5402" href="Categories.Morphism.Isomorphism.html#5402" class="Bound">f′</a> <a id="5405" class="Symbol">:</a> <a id="5407" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="5411" href="Categories.Morphism.Isomorphism.html#5312" class="Bound">f</a> <a id="5413" href="Categories.Morphism.Isomorphism.html#5360" class="Bound">i</a><a id="5414" class="Symbol">)</a> <a id="5416" class="Symbol">→</a> <a id="5418" class="Symbol">(</a><a id="5419" href="Categories.Morphism.Isomorphism.html#5419" class="Bound">g′</a> <a id="5422" class="Symbol">:</a> <a id="5424" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="5428" href="Categories.Morphism.Isomorphism.html#5324" class="Bound">g</a> <a id="5430" href="Categories.Morphism.Isomorphism.html#5372" class="Bound">j</a><a id="5431" class="Symbol">)</a> <a id="5433" class="Symbol">→</a> <a id="5435" class="Symbol">(</a><a id="5436" href="Categories.Morphism.Isomorphism.html#5436" class="Bound">h′</a> <a id="5439" class="Symbol">:</a> <a id="5441" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="5445" href="Categories.Morphism.Isomorphism.html#5336" class="Bound">h</a> <a id="5447" href="Categories.Morphism.Isomorphism.html#5348" class="Bound">k</a><a id="5448" class="Symbol">)</a> <a id="5450" class="Symbol">→</a>
|
|||
|
<a id="5456" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="5461" class="Symbol">(_</a> <a id="5464" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="5468" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5470" href="Categories.Morphism.Isomorphism.html#5419" class="Bound">g′</a> <a id="5473" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="5475" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="5477" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5479" href="Categories.Morphism.Isomorphism.html#5402" class="Bound">f′</a> <a id="5482" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a><a id="5483" class="Symbol">)</a> <a id="5485" href="Categories.Morphism.Isomorphism.html#1587" class="Function Operator">≃⁺</a> <a id="5488" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="5493" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5495" href="Categories.Morphism.Isomorphism.html#5436" class="Bound">h′</a> <a id="5498" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a>
|
|||
|
<a id="5502" href="Categories.Morphism.Isomorphism.html#5295" class="Function">lift-triangle</a> <a id="5516" href="Categories.Morphism.Isomorphism.html#5516" class="Bound">eq</a> <a id="5519" href="Categories.Morphism.Isomorphism.html#5519" class="Bound">f′</a> <a id="5522" href="Categories.Morphism.Isomorphism.html#5522" class="Bound">g′</a> <a id="5525" href="Categories.Morphism.Isomorphism.html#5525" class="Bound">h′</a> <a id="5528" class="Symbol">=</a> <a id="5530" href="Categories.Morphism.Isomorphism.html#4820" class="Function">lift-cong</a> <a id="5540" class="Symbol">(_</a> <a id="5543" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="5547" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5549" href="Categories.Morphism.Isomorphism.html#5522" class="Bound">g′</a> <a id="5552" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="5554" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="5556" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5558" href="Categories.Morphism.Isomorphism.html#5519" class="Bound">f′</a> <a id="5561" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a><a id="5562" class="Symbol">)</a> <a id="5564" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5566" href="Categories.Morphism.Isomorphism.html#5525" class="Bound">h′</a> <a id="5569" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="5571" href="Categories.Morphism.Isomorphism.html#5516" class="Bound">eq</a>
|
|||
|
|
|||
|
<a id="5577" href="Categories.Morphism.Isomorphism.html#5577" class="Function">lift-square</a> <a id="5589" class="Symbol">:</a> <a id="5591" class="Symbol">{</a><a id="5592" href="Categories.Morphism.Isomorphism.html#5592" class="Bound">f</a> <a id="5594" class="Symbol">:</a> <a id="5596" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="5598" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5600" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="5601" class="Symbol">}</a> <a id="5603" class="Symbol">{</a><a id="5604" href="Categories.Morphism.Isomorphism.html#5604" class="Bound">g</a> <a id="5606" class="Symbol">:</a> <a id="5608" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="5610" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5612" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="5613" class="Symbol">}</a> <a id="5615" class="Symbol">{</a><a id="5616" href="Categories.Morphism.Isomorphism.html#5616" class="Bound">h</a> <a id="5618" class="Symbol">:</a> <a id="5620" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="5622" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5624" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="5625" class="Symbol">}</a> <a id="5627" class="Symbol">{</a><a id="5628" href="Categories.Morphism.Isomorphism.html#5628" class="Bound">i</a> <a id="5630" class="Symbol">:</a> <a id="5632" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="5634" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5636" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a><a id="5637" class="Symbol">}</a> <a id="5639" class="Symbol">{</a><a id="5640" href="Categories.Morphism.Isomorphism.html#5640" class="Bound">j</a> <a id="5642" class="Symbol">:</a> <a id="5644" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="5646" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5648" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="5649" class="Symbol">}</a> <a id="5651" class="Symbol">{</a><a id="5652" href="Categories.Morphism.Isomorphism.html#5652" class="Bound">a</a> <a id="5654" class="Symbol">:</a> <a id="5656" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="5658" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5660" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="5661" class="Symbol">}</a> <a id="5663" class="Symbol">{</a><a id="5664" href="Categories.Morphism.Isomorphism.html#5664" class="Bound">b</a> <a id="5666" class="Symbol">:</a> <a id="5668" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="5670" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5672" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="5673" class="Symbol">}</a> <a id="5675" class="Symbol">{</a><a id="5676" href="Categories.Morphism.Isomorphism.html#5676" class="Bound">c</a> <a id="5678" class="Symbol">:</a> <a id="5680" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="5682" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5684" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a><a id="5685" class="Symbol">}</a> <a id="5687" class="Symbol">→</a>
|
|||
|
<a id="5693" href="Categories.Morphism.Isomorphism.html#5592" class="Bound">f</a> <a id="5695" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5697" href="Categories.Morphism.Isomorphism.html#5604" class="Bound">g</a> <a id="5699" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="5701" href="Categories.Morphism.Isomorphism.html#5616" class="Bound">h</a> <a id="5703" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5705" href="Categories.Morphism.Isomorphism.html#5628" class="Bound">i</a> <a id="5707" class="Symbol">→</a> <a id="5709" class="Symbol">(</a><a id="5710" href="Categories.Morphism.Isomorphism.html#5710" class="Bound">f′</a> <a id="5713" class="Symbol">:</a> <a id="5715" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="5719" href="Categories.Morphism.Isomorphism.html#5592" class="Bound">f</a> <a id="5721" href="Categories.Morphism.Isomorphism.html#5652" class="Bound">a</a><a id="5722" class="Symbol">)</a> <a id="5724" class="Symbol">→</a> <a id="5726" class="Symbol">(</a><a id="5727" href="Categories.Morphism.Isomorphism.html#5727" class="Bound">g′</a> <a id="5730" class="Symbol">:</a> <a id="5732" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="5736" href="Categories.Morphism.Isomorphism.html#5604" class="Bound">g</a> <a id="5738" href="Categories.Morphism.Isomorphism.html#5664" class="Bound">b</a><a id="5739" class="Symbol">)</a> <a id="5741" class="Symbol">→</a> <a id="5743" class="Symbol">(</a><a id="5744" href="Categories.Morphism.Isomorphism.html#5744" class="Bound">h′</a> <a id="5747" class="Symbol">:</a> <a id="5749" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="5753" href="Categories.Morphism.Isomorphism.html#5616" class="Bound">h</a> <a id="5755" href="Categories.Morphism.Isomorphism.html#5676" class="Bound">c</a><a id="5756" class="Symbol">)</a> <a id="5758" class="Symbol">→</a> <a id="5760" class="Symbol">(</a><a id="5761" href="Categories.Morphism.Isomorphism.html#5761" class="Bound">i′</a> <a id="5764" class="Symbol">:</a> <a id="5766" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="5770" href="Categories.Morphism.Isomorphism.html#5628" class="Bound">i</a> <a id="5772" href="Categories.Morphism.Isomorphism.html#5640" class="Bound">j</a><a id="5773" class="Symbol">)</a> <a id="5775" class="Symbol">→</a>
|
|||
|
<a id="5781" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="5786" class="Symbol">(_</a> <a id="5789" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="5793" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5795" href="Categories.Morphism.Isomorphism.html#5727" class="Bound">g′</a> <a id="5798" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="5800" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="5802" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5804" href="Categories.Morphism.Isomorphism.html#5710" class="Bound">f′</a> <a id="5807" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a><a id="5808" class="Symbol">)</a> <a id="5810" href="Categories.Morphism.Isomorphism.html#1587" class="Function Operator">≃⁺</a> <a id="5813" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="5818" class="Symbol">(_</a> <a id="5821" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="5825" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5827" href="Categories.Morphism.Isomorphism.html#5761" class="Bound">i′</a> <a id="5830" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="5832" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="5834" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5836" href="Categories.Morphism.Isomorphism.html#5744" class="Bound">h′</a> <a id="5839" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a><a id="5840" class="Symbol">)</a>
|
|||
|
<a id="5844" href="Categories.Morphism.Isomorphism.html#5577" class="Function">lift-square</a> <a id="5856" href="Categories.Morphism.Isomorphism.html#5856" class="Bound">eq</a> <a id="5859" href="Categories.Morphism.Isomorphism.html#5859" class="Bound">f′</a> <a id="5862" href="Categories.Morphism.Isomorphism.html#5862" class="Bound">g′</a> <a id="5865" href="Categories.Morphism.Isomorphism.html#5865" class="Bound">h′</a> <a id="5868" href="Categories.Morphism.Isomorphism.html#5868" class="Bound">i′</a> <a id="5871" class="Symbol">=</a> <a id="5873" href="Categories.Morphism.Isomorphism.html#4820" class="Function">lift-cong</a> <a id="5883" class="Symbol">(_</a> <a id="5886" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="5890" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5892" href="Categories.Morphism.Isomorphism.html#5862" class="Bound">g′</a> <a id="5895" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="5897" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="5899" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5901" href="Categories.Morphism.Isomorphism.html#5859" class="Bound">f′</a> <a id="5904" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a><a id="5905" class="Symbol">)</a> <a id="5907" class="Symbol">(_</a> <a id="5910" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="5914" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5916" href="Categories.Morphism.Isomorphism.html#5868" class="Bound">i′</a> <a id="5919" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="5921" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="5923" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="5925" href="Categories.Morphism.Isomorphism.html#5865" class="Bound">h′</a> <a id="5928" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a><a id="5929" class="Symbol">)</a> <a id="5931" href="Categories.Morphism.Isomorphism.html#5856" class="Bound">eq</a>
|
|||
|
|
|||
|
<a id="5937" href="Categories.Morphism.Isomorphism.html#5937" class="Function">lift-pentagon</a> <a id="5951" class="Symbol">:</a> <a id="5953" class="Symbol">{</a><a id="5954" href="Categories.Morphism.Isomorphism.html#5954" class="Bound">f</a> <a id="5956" class="Symbol">:</a> <a id="5958" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="5960" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5962" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="5963" class="Symbol">}</a> <a id="5965" class="Symbol">{</a><a id="5966" href="Categories.Morphism.Isomorphism.html#5966" class="Bound">g</a> <a id="5968" class="Symbol">:</a> <a id="5970" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="5972" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5974" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="5975" class="Symbol">}</a> <a id="5977" class="Symbol">{</a><a id="5978" href="Categories.Morphism.Isomorphism.html#5978" class="Bound">h</a> <a id="5980" class="Symbol">:</a> <a id="5982" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="5984" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5986" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="5987" class="Symbol">}</a> <a id="5989" class="Symbol">{</a><a id="5990" href="Categories.Morphism.Isomorphism.html#5990" class="Bound">i</a> <a id="5992" class="Symbol">:</a> <a id="5994" href="Categories.Morphism.Isomorphism.html#1360" class="Generalizable">E</a> <a id="5996" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5998" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="5999" class="Symbol">}</a> <a id="6001" class="Symbol">{</a><a id="6002" href="Categories.Morphism.Isomorphism.html#6002" class="Bound">j</a> <a id="6004" class="Symbol">:</a> <a id="6006" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="6008" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="6010" href="Categories.Morphism.Isomorphism.html#1360" class="Generalizable">E</a><a id="6011" class="Symbol">}</a> <a id="6013" class="Symbol">{</a><a id="6014" href="Categories.Morphism.Isomorphism.html#6014" class="Bound">l</a> <a id="6016" class="Symbol">:</a> <a id="6018" href="Categories.Morphism.Isomorphism.html#1360" class="Generalizable">E</a> <a id="6020" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="6022" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a><a id="6023" class="Symbol">}</a>
|
|||
|
<a id="6043" class="Symbol">{</a><a id="6044" href="Categories.Morphism.Isomorphism.html#6044" class="Bound">a</a> <a id="6046" class="Symbol">:</a> <a id="6048" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="6050" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="6052" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="6053" class="Symbol">}</a> <a id="6055" class="Symbol">{</a><a id="6056" href="Categories.Morphism.Isomorphism.html#6056" class="Bound">b</a> <a id="6058" class="Symbol">:</a> <a id="6060" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="6062" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="6064" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="6065" class="Symbol">}</a> <a id="6067" class="Symbol">{</a><a id="6068" href="Categories.Morphism.Isomorphism.html#6068" class="Bound">c</a> <a id="6070" class="Symbol">:</a> <a id="6072" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="6074" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="6076" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a><a id="6077" class="Symbol">}</a> <a id="6079" class="Symbol">{</a><a id="6080" href="Categories.Morphism.Isomorphism.html#6080" class="Bound">d</a> <a id="6082" class="Symbol">:</a> <a id="6084" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="6086" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="6088" href="Categories.Morphism.Isomorphism.html#1360" class="Generalizable">E</a><a id="6089" class="Symbol">}</a> <a id="6091" class="Symbol">→</a>
|
|||
|
<a id="6097" href="Categories.Morphism.Isomorphism.html#5954" class="Bound">f</a> <a id="6099" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6101" href="Categories.Morphism.Isomorphism.html#5966" class="Bound">g</a> <a id="6103" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6105" href="Categories.Morphism.Isomorphism.html#5978" class="Bound">h</a> <a id="6107" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="6109" href="Categories.Morphism.Isomorphism.html#5990" class="Bound">i</a> <a id="6111" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6113" href="Categories.Morphism.Isomorphism.html#6002" class="Bound">j</a> <a id="6115" class="Symbol">→</a>
|
|||
|
<a id="6121" class="Symbol">(</a><a id="6122" href="Categories.Morphism.Isomorphism.html#6122" class="Bound">f′</a> <a id="6125" class="Symbol">:</a> <a id="6127" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="6131" href="Categories.Morphism.Isomorphism.html#5954" class="Bound">f</a> <a id="6133" href="Categories.Morphism.Isomorphism.html#6044" class="Bound">a</a><a id="6134" class="Symbol">)</a> <a id="6136" class="Symbol">→</a> <a id="6138" class="Symbol">(</a><a id="6139" href="Categories.Morphism.Isomorphism.html#6139" class="Bound">g′</a> <a id="6142" class="Symbol">:</a> <a id="6144" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="6148" href="Categories.Morphism.Isomorphism.html#5966" class="Bound">g</a> <a id="6150" href="Categories.Morphism.Isomorphism.html#6056" class="Bound">b</a><a id="6151" class="Symbol">)</a> <a id="6153" class="Symbol">→</a> <a id="6155" class="Symbol">(</a><a id="6156" href="Categories.Morphism.Isomorphism.html#6156" class="Bound">h′</a> <a id="6159" class="Symbol">:</a> <a id="6161" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="6165" href="Categories.Morphism.Isomorphism.html#5978" class="Bound">h</a> <a id="6167" href="Categories.Morphism.Isomorphism.html#6068" class="Bound">c</a><a id="6168" class="Symbol">)</a> <a id="6170" class="Symbol">→</a> <a id="6172" class="Symbol">(</a><a id="6173" href="Categories.Morphism.Isomorphism.html#6173" class="Bound">i′</a> <a id="6176" class="Symbol">:</a> <a id="6178" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="6182" href="Categories.Morphism.Isomorphism.html#5990" class="Bound">i</a> <a id="6184" href="Categories.Morphism.Isomorphism.html#6080" class="Bound">d</a><a id="6185" class="Symbol">)</a> <a id="6187" class="Symbol">→</a> <a id="6189" class="Symbol">(</a><a id="6190" href="Categories.Morphism.Isomorphism.html#6190" class="Bound">j′</a> <a id="6193" class="Symbol">:</a> <a id="6195" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="6199" href="Categories.Morphism.Isomorphism.html#6002" class="Bound">j</a> <a id="6201" href="Categories.Morphism.Isomorphism.html#6014" class="Bound">l</a><a id="6202" class="Symbol">)</a> <a id="6204" class="Symbol">→</a>
|
|||
|
<a id="6210" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="6215" class="Symbol">(_</a> <a id="6218" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="6222" class="Symbol">_</a> <a id="6224" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="6228" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="6230" href="Categories.Morphism.Isomorphism.html#6156" class="Bound">h′</a> <a id="6233" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="6235" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="6237" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="6239" href="Categories.Morphism.Isomorphism.html#6139" class="Bound">g′</a> <a id="6242" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="6244" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="6246" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="6248" href="Categories.Morphism.Isomorphism.html#6122" class="Bound">f′</a> <a id="6251" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a><a id="6252" class="Symbol">)</a> <a id="6254" href="Categories.Morphism.Isomorphism.html#1587" class="Function Operator">≃⁺</a> <a id="6257" href="Categories.Morphism.Isomorphism.html#4404" class="Function">lift</a> <a id="6262" class="Symbol">(_</a> <a id="6265" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="6269" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="6271" href="Categories.Morphism.Isomorphism.html#6190" class="Bound">j′</a> <a id="6274" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="6276" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="6278" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="6280" href="Categories.Morphism.Isomorphism.html#6173" class="Bound">i′</a> <a id="6283" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a><a id="6284" class="Symbol">)</a>
|
|||
|
<a id="6288" href="Categories.Morphism.Isomorphism.html#5937" class="Function">lift-pentagon</a> <a id="6302" href="Categories.Morphism.Isomorphism.html#6302" class="Bound">eq</a> <a id="6305" href="Categories.Morphism.Isomorphism.html#6305" class="Bound">f′</a> <a id="6308" href="Categories.Morphism.Isomorphism.html#6308" class="Bound">g′</a> <a id="6311" href="Categories.Morphism.Isomorphism.html#6311" class="Bound">h′</a> <a id="6314" href="Categories.Morphism.Isomorphism.html#6314" class="Bound">i′</a> <a id="6317" href="Categories.Morphism.Isomorphism.html#6317" class="Bound">j′</a> <a id="6320" class="Symbol">=</a> <a id="6322" href="Categories.Morphism.Isomorphism.html#4820" class="Function">lift-cong</a> <a id="6332" class="Symbol">(_</a> <a id="6335" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="6339" class="Symbol">_</a> <a id="6341" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="6345" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="6347" href="Categories.Morphism.Isomorphism.html#6311" class="Bound">h′</a> <a id="6350" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="6352" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="6354" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="6356" href="Categories.Morphism.Isomorphism.html#6308" class="Bound">g′</a> <a id="6359" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="6361" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="6363" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="6365" href="Categories.Morphism.Isomorphism.html#6305" class="Bound">f′</a> <a id="6368" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a><a id="6369" class="Symbol">)</a> <a id="6371" class="Symbol">(_</a> <a id="6374" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">∼⁺⟨</a> <a id="6378" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="6380" href="Categories.Morphism.Isomorphism.html#6317" class="Bound">j′</a> <a id="6383" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a> <a id="6385" href="Categories.Morphism.Isomorphism.html#1973" class="InductiveConstructor Operator">⟩</a> <a id="6387" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">[</a> <a id="6389" href="Categories.Morphism.Isomorphism.html#6314" class="Bound">i′</a> <a id="6392" href="Categories.Morphism.Isomorphism.html#1907" class="InductiveConstructor Operator">]</a><a id="6393" class="Symbol">)</a> <a id="6395" href="Categories.Morphism.Isomorphism.html#6302" class="Bound">eq</a>
|
|||
|
|
|||
|
<a id="6399" class="Keyword">module</a> <a id="6406" href="Categories.Morphism.Isomorphism.html#6406" class="Module">_</a> <a id="6408" class="Keyword">where</a>
|
|||
|
<a id="6416" class="Keyword">open</a> <a id="6421" href="Categories.Morphism.html#1958" class="Module Operator">_≅_</a>
|
|||
|
|
|||
|
<a id="6428" class="Comment">-- projecting isomorphism commutations to morphism commutations</a>
|
|||
|
|
|||
|
<a id="6495" href="Categories.Morphism.Isomorphism.html#6495" class="Function">project-triangle</a> <a id="6512" class="Symbol">:</a> <a id="6514" class="Symbol">{</a><a id="6515" href="Categories.Morphism.Isomorphism.html#6515" class="Bound">g</a> <a id="6517" class="Symbol">:</a> <a id="6519" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="6521" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="6523" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="6524" class="Symbol">}</a> <a id="6526" class="Symbol">{</a><a id="6527" href="Categories.Morphism.Isomorphism.html#6527" class="Bound">f</a> <a id="6529" class="Symbol">:</a> <a id="6531" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="6533" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="6535" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="6536" class="Symbol">}</a> <a id="6538" class="Symbol">{</a><a id="6539" href="Categories.Morphism.Isomorphism.html#6539" class="Bound">h</a> <a id="6541" class="Symbol">:</a> <a id="6543" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="6545" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="6547" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="6548" class="Symbol">}</a> <a id="6550" class="Symbol">→</a> <a id="6552" href="Categories.Morphism.Isomorphism.html#6515" class="Bound">g</a> <a id="6554" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="6557" href="Categories.Morphism.Isomorphism.html#6527" class="Bound">f</a> <a id="6559" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="6562" href="Categories.Morphism.Isomorphism.html#6539" class="Bound">h</a> <a id="6564" class="Symbol">→</a> <a id="6566" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="6571" href="Categories.Morphism.Isomorphism.html#6515" class="Bound">g</a> <a id="6573" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6575" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="6580" href="Categories.Morphism.Isomorphism.html#6527" class="Bound">f</a> <a id="6582" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="6584" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="6589" href="Categories.Morphism.Isomorphism.html#6539" class="Bound">h</a>
|
|||
|
<a id="6593" href="Categories.Morphism.Isomorphism.html#6495" class="Function">project-triangle</a> <a id="6610" class="Symbol">=</a> <a id="6612" href="Categories.Morphism.IsoEquiv.html#1830" class="Field">from-≈</a>
|
|||
|
|
|||
|
<a id="6622" href="Categories.Morphism.Isomorphism.html#6622" class="Function">project-square</a> <a id="6637" class="Symbol">:</a> <a id="6639" class="Symbol">{</a><a id="6640" href="Categories.Morphism.Isomorphism.html#6640" class="Bound">g</a> <a id="6642" class="Symbol">:</a> <a id="6644" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="6646" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="6648" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="6649" class="Symbol">}</a> <a id="6651" class="Symbol">{</a><a id="6652" href="Categories.Morphism.Isomorphism.html#6652" class="Bound">f</a> <a id="6654" class="Symbol">:</a> <a id="6656" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="6658" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="6660" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="6661" class="Symbol">}</a> <a id="6663" class="Symbol">{</a><a id="6664" href="Categories.Morphism.Isomorphism.html#6664" class="Bound">i</a> <a id="6666" class="Symbol">:</a> <a id="6668" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="6670" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="6672" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="6673" class="Symbol">}</a> <a id="6675" class="Symbol">{</a><a id="6676" href="Categories.Morphism.Isomorphism.html#6676" class="Bound">h</a> <a id="6678" class="Symbol">:</a> <a id="6680" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="6682" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="6684" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a><a id="6685" class="Symbol">}</a> <a id="6687" class="Symbol">→</a> <a id="6689" href="Categories.Morphism.Isomorphism.html#6640" class="Bound">g</a> <a id="6691" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="6694" href="Categories.Morphism.Isomorphism.html#6652" class="Bound">f</a> <a id="6696" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="6699" href="Categories.Morphism.Isomorphism.html#6664" class="Bound">i</a> <a id="6701" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="6704" href="Categories.Morphism.Isomorphism.html#6676" class="Bound">h</a> <a id="6706" class="Symbol">→</a> <a id="6708" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="6713" href="Categories.Morphism.Isomorphism.html#6640" class="Bound">g</a> <a id="6715" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6717" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="6722" href="Categories.Morphism.Isomorphism.html#6652" class="Bound">f</a> <a id="6724" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="6726" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="6731" href="Categories.Morphism.Isomorphism.html#6664" class="Bound">i</a> <a id="6733" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6735" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="6740" href="Categories.Morphism.Isomorphism.html#6676" class="Bound">h</a>
|
|||
|
<a id="6744" href="Categories.Morphism.Isomorphism.html#6622" class="Function">project-square</a> <a id="6759" class="Symbol">=</a> <a id="6761" href="Categories.Morphism.IsoEquiv.html#1830" class="Field">from-≈</a>
|
|||
|
|
|||
|
<a id="6771" class="Comment">-- direct lifting from morphism commutations to isomorphism commutations</a>
|
|||
|
|
|||
|
<a id="6847" href="Categories.Morphism.Isomorphism.html#6847" class="Function">lift-triangle′</a> <a id="6862" class="Symbol">:</a> <a id="6864" class="Symbol">{</a><a id="6865" href="Categories.Morphism.Isomorphism.html#6865" class="Bound">f</a> <a id="6867" class="Symbol">:</a> <a id="6869" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="6871" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="6873" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="6874" class="Symbol">}</a> <a id="6876" class="Symbol">{</a><a id="6877" href="Categories.Morphism.Isomorphism.html#6877" class="Bound">g</a> <a id="6879" class="Symbol">:</a> <a id="6881" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="6883" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="6885" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="6886" class="Symbol">}</a> <a id="6888" class="Symbol">{</a><a id="6889" href="Categories.Morphism.Isomorphism.html#6889" class="Bound">h</a> <a id="6891" class="Symbol">:</a> <a id="6893" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="6895" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="6897" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="6898" class="Symbol">}</a> <a id="6900" class="Symbol">→</a> <a id="6902" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="6907" href="Categories.Morphism.Isomorphism.html#6865" class="Bound">f</a> <a id="6909" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6911" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="6916" href="Categories.Morphism.Isomorphism.html#6877" class="Bound">g</a> <a id="6918" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="6920" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="6925" href="Categories.Morphism.Isomorphism.html#6889" class="Bound">h</a> <a id="6927" class="Symbol">→</a> <a id="6929" href="Categories.Morphism.Isomorphism.html#6865" class="Bound">f</a> <a id="6931" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="6934" href="Categories.Morphism.Isomorphism.html#6877" class="Bound">g</a> <a id="6936" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="6939" href="Categories.Morphism.Isomorphism.html#6889" class="Bound">h</a>
|
|||
|
<a id="6943" href="Categories.Morphism.Isomorphism.html#6847" class="Function">lift-triangle′</a> <a id="6958" class="Symbol">=</a> <a id="6960" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator">⌞_⌟</a>
|
|||
|
|
|||
|
<a id="6967" href="Categories.Morphism.Isomorphism.html#6967" class="Function">lift-square′</a> <a id="6980" class="Symbol">:</a> <a id="6982" class="Symbol">{</a><a id="6983" href="Categories.Morphism.Isomorphism.html#6983" class="Bound">f</a> <a id="6985" class="Symbol">:</a> <a id="6987" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="6989" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="6991" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="6992" class="Symbol">}</a> <a id="6994" class="Symbol">{</a><a id="6995" href="Categories.Morphism.Isomorphism.html#6995" class="Bound">g</a> <a id="6997" class="Symbol">:</a> <a id="6999" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="7001" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7003" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="7004" class="Symbol">}</a> <a id="7006" class="Symbol">{</a><a id="7007" href="Categories.Morphism.Isomorphism.html#7007" class="Bound">h</a> <a id="7009" class="Symbol">:</a> <a id="7011" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="7013" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7015" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="7016" class="Symbol">}</a> <a id="7018" class="Symbol">{</a><a id="7019" href="Categories.Morphism.Isomorphism.html#7019" class="Bound">i</a> <a id="7021" class="Symbol">:</a> <a id="7023" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="7025" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7027" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a><a id="7028" class="Symbol">}</a> <a id="7030" class="Symbol">→</a> <a id="7032" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="7037" href="Categories.Morphism.Isomorphism.html#6983" class="Bound">f</a> <a id="7039" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7041" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="7046" href="Categories.Morphism.Isomorphism.html#6995" class="Bound">g</a> <a id="7048" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="7050" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="7055" href="Categories.Morphism.Isomorphism.html#7007" class="Bound">h</a> <a id="7057" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7059" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="7064" href="Categories.Morphism.Isomorphism.html#7019" class="Bound">i</a> <a id="7066" class="Symbol">→</a> <a id="7068" href="Categories.Morphism.Isomorphism.html#6983" class="Bound">f</a> <a id="7070" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="7073" href="Categories.Morphism.Isomorphism.html#6995" class="Bound">g</a> <a id="7075" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="7078" href="Categories.Morphism.Isomorphism.html#7007" class="Bound">h</a> <a id="7080" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="7083" href="Categories.Morphism.Isomorphism.html#7019" class="Bound">i</a>
|
|||
|
<a id="7087" href="Categories.Morphism.Isomorphism.html#6967" class="Function">lift-square′</a> <a id="7100" class="Symbol">=</a> <a id="7102" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator">⌞_⌟</a>
|
|||
|
|
|||
|
<a id="7109" href="Categories.Morphism.Isomorphism.html#7109" class="Function">lift-pentagon′</a> <a id="7124" class="Symbol">:</a> <a id="7126" class="Symbol">{</a><a id="7127" href="Categories.Morphism.Isomorphism.html#7127" class="Bound">f</a> <a id="7129" class="Symbol">:</a> <a id="7131" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="7133" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7135" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="7136" class="Symbol">}</a> <a id="7138" class="Symbol">{</a><a id="7139" href="Categories.Morphism.Isomorphism.html#7139" class="Bound">g</a> <a id="7141" class="Symbol">:</a> <a id="7143" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="7145" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7147" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="7148" class="Symbol">}</a> <a id="7150" class="Symbol">{</a><a id="7151" href="Categories.Morphism.Isomorphism.html#7151" class="Bound">h</a> <a id="7153" class="Symbol">:</a> <a id="7155" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="7157" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7159" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="7160" class="Symbol">}</a> <a id="7162" class="Symbol">{</a><a id="7163" href="Categories.Morphism.Isomorphism.html#7163" class="Bound">i</a> <a id="7165" class="Symbol">:</a> <a id="7167" href="Categories.Morphism.Isomorphism.html#1360" class="Generalizable">E</a> <a id="7169" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7171" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="7172" class="Symbol">}</a> <a id="7174" class="Symbol">{</a><a id="7175" href="Categories.Morphism.Isomorphism.html#7175" class="Bound">j</a> <a id="7177" class="Symbol">:</a> <a id="7179" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="7181" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7183" href="Categories.Morphism.Isomorphism.html#1360" class="Generalizable">E</a><a id="7184" class="Symbol">}</a> <a id="7186" class="Symbol">→</a>
|
|||
|
<a id="7207" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="7212" href="Categories.Morphism.Isomorphism.html#7127" class="Bound">f</a> <a id="7214" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7216" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="7221" href="Categories.Morphism.Isomorphism.html#7139" class="Bound">g</a> <a id="7223" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7225" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="7230" href="Categories.Morphism.Isomorphism.html#7151" class="Bound">h</a> <a id="7232" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="7234" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="7239" href="Categories.Morphism.Isomorphism.html#7163" class="Bound">i</a> <a id="7241" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7243" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="7248" href="Categories.Morphism.Isomorphism.html#7175" class="Bound">j</a> <a id="7250" class="Symbol">→</a> <a id="7252" href="Categories.Morphism.Isomorphism.html#7127" class="Bound">f</a> <a id="7254" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="7257" href="Categories.Morphism.Isomorphism.html#7139" class="Bound">g</a> <a id="7259" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="7262" href="Categories.Morphism.Isomorphism.html#7151" class="Bound">h</a> <a id="7264" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="7267" href="Categories.Morphism.Isomorphism.html#7163" class="Bound">i</a> <a id="7269" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="7272" href="Categories.Morphism.Isomorphism.html#7175" class="Bound">j</a>
|
|||
|
<a id="7276" href="Categories.Morphism.Isomorphism.html#7109" class="Function">lift-pentagon′</a> <a id="7291" class="Symbol">=</a> <a id="7293" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator">⌞_⌟</a>
|
|||
|
|
|||
|
<a id="7300" class="Keyword">open</a> <a id="7305" href="Categories.Morphism.Reasoning.html" class="Module">MR</a> <a id="7308" href="Categories.Category.Construction.Core.html#484" class="Function">Core</a>
|
|||
|
<a id="7315" class="Keyword">open</a> <a id="7320" href="Categories.Category.Core.html#2462" class="Module">HomReasoningᵢ</a>
|
|||
|
<a id="7336" class="Keyword">open</a> <a id="7341" href="Categories.Morphism.Reasoning.Iso.html#5244" class="Module">MR.GroupoidR</a> <a id="7354" class="Symbol">_</a> <a id="7356" href="Categories.Category.Construction.Core.html#888" class="Function">Core-isGroupoid</a>
|
|||
|
|
|||
|
<a id="7375" href="Categories.Morphism.Isomorphism.html#7375" class="Function">squares×≃⇒≃</a> <a id="7387" class="Symbol">:</a> <a id="7389" class="Symbol">{</a><a id="7390" href="Categories.Morphism.Isomorphism.html#7390" class="Bound">f</a> <a id="7392" href="Categories.Morphism.Isomorphism.html#7392" class="Bound">f′</a> <a id="7395" class="Symbol">:</a> <a id="7397" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="7399" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7401" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="7402" class="Symbol">}</a> <a id="7404" class="Symbol">{</a><a id="7405" href="Categories.Morphism.Isomorphism.html#7405" class="Bound">g</a> <a id="7407" class="Symbol">:</a> <a id="7409" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="7411" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7413" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="7414" class="Symbol">}</a> <a id="7416" class="Symbol">{</a><a id="7417" href="Categories.Morphism.Isomorphism.html#7417" class="Bound">h</a> <a id="7419" class="Symbol">:</a> <a id="7421" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="7423" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7425" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a><a id="7426" class="Symbol">}</a> <a id="7428" class="Symbol">{</a><a id="7429" href="Categories.Morphism.Isomorphism.html#7429" class="Bound">i</a> <a id="7431" href="Categories.Morphism.Isomorphism.html#7431" class="Bound">i′</a> <a id="7434" class="Symbol">:</a> <a id="7436" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="7438" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7440" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a><a id="7441" class="Symbol">}</a> <a id="7443" class="Symbol">→</a>
|
|||
|
<a id="7461" href="Categories.Morphism.Isomorphism.html#1401" class="Function">CommutativeIso</a> <a id="7476" href="Categories.Morphism.Isomorphism.html#7390" class="Bound">f</a> <a id="7478" href="Categories.Morphism.Isomorphism.html#7405" class="Bound">g</a> <a id="7480" href="Categories.Morphism.Isomorphism.html#7417" class="Bound">h</a> <a id="7482" href="Categories.Morphism.Isomorphism.html#7429" class="Bound">i</a> <a id="7484" class="Symbol">→</a> <a id="7486" href="Categories.Morphism.Isomorphism.html#1401" class="Function">CommutativeIso</a> <a id="7501" href="Categories.Morphism.Isomorphism.html#7392" class="Bound">f′</a> <a id="7504" href="Categories.Morphism.Isomorphism.html#7405" class="Bound">g</a> <a id="7506" href="Categories.Morphism.Isomorphism.html#7417" class="Bound">h</a> <a id="7508" href="Categories.Morphism.Isomorphism.html#7431" class="Bound">i′</a> <a id="7511" class="Symbol">→</a> <a id="7513" href="Categories.Morphism.Isomorphism.html#7429" class="Bound">i</a> <a id="7515" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="7518" href="Categories.Morphism.Isomorphism.html#7431" class="Bound">i′</a> <a id="7521" class="Symbol">→</a> <a id="7523" href="Categories.Morphism.Isomorphism.html#7390" class="Bound">f</a> <a id="7525" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="7528" href="Categories.Morphism.Isomorphism.html#7392" class="Bound">f′</a>
|
|||
|
<a id="7533" href="Categories.Morphism.Isomorphism.html#7375" class="Function">squares×≃⇒≃</a> <a id="7545" href="Categories.Morphism.Isomorphism.html#7545" class="Bound">sq₁</a> <a id="7549" href="Categories.Morphism.Isomorphism.html#7549" class="Bound">sq₂</a> <a id="7553" href="Categories.Morphism.Isomorphism.html#7553" class="Bound">eq</a> <a id="7556" class="Symbol">=</a> <a id="7558" href="Categories.Morphism.Properties.html#1787" class="Function">MCore.isos×≈⇒≈</a> <a id="7573" href="Categories.Morphism.Isomorphism.html#7553" class="Bound">eq</a> <a id="7576" href="Categories.Morphism.Isomorphism.html#7630" class="Function">helper₁</a> <a id="7584" class="Symbol">(</a><a id="7585" href="Relation.Binary.Structures.html#1622" class="Function">MCore.≅.sym</a> <a id="7597" href="Categories.Morphism.Isomorphism.html#7670" class="Function">helper₂</a><a id="7604" class="Symbol">)</a> <a id="7606" href="Categories.Morphism.Isomorphism.html#7545" class="Bound">sq₁</a> <a id="7610" href="Categories.Morphism.Isomorphism.html#7549" class="Bound">sq₂</a>
|
|||
|
<a id="7618" class="Keyword">where</a>
|
|||
|
<a id="7630" href="Categories.Morphism.Isomorphism.html#7630" class="Function">helper₁</a> <a id="7638" class="Symbol">=</a> <a id="7640" class="Keyword">record</a> <a id="7647" class="Symbol">{</a> <a id="7649" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="7653" class="Symbol">=</a> <a id="7655" href="Categories.Category.Groupoid.html#399" class="Function">⁻¹-iso</a> <a id="7662" class="Symbol">}</a>
|
|||
|
<a id="7670" href="Categories.Morphism.Isomorphism.html#7670" class="Function">helper₂</a> <a id="7678" class="Symbol">=</a> <a id="7680" class="Keyword">record</a> <a id="7687" class="Symbol">{</a> <a id="7689" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="7693" class="Symbol">=</a> <a id="7695" href="Categories.Category.Groupoid.html#399" class="Function">⁻¹-iso</a> <a id="7702" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="7707" class="Comment">-- imagine a triangle prism, if all the sides and the top face commute, the bottom face commute.</a>
|
|||
|
<a id="7806" href="Categories.Morphism.Isomorphism.html#7806" class="Function">triangle-prism</a> <a id="7821" class="Symbol">:</a> <a id="7823" class="Symbol">{</a><a id="7824" href="Categories.Morphism.Isomorphism.html#7824" class="Bound">i′</a> <a id="7827" class="Symbol">:</a> <a id="7829" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="7831" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7833" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="7834" class="Symbol">}</a> <a id="7836" class="Symbol">{</a><a id="7837" href="Categories.Morphism.Isomorphism.html#7837" class="Bound">f′</a> <a id="7840" class="Symbol">:</a> <a id="7842" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="7844" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7846" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="7847" class="Symbol">}</a> <a id="7849" class="Symbol">{</a><a id="7850" href="Categories.Morphism.Isomorphism.html#7850" class="Bound">h′</a> <a id="7853" class="Symbol">:</a> <a id="7855" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="7857" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7859" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="7860" class="Symbol">}</a> <a id="7862" class="Symbol">{</a><a id="7863" href="Categories.Morphism.Isomorphism.html#7863" class="Bound">i</a> <a id="7865" class="Symbol">:</a> <a id="7867" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="7869" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7871" href="Categories.Morphism.Isomorphism.html#1360" class="Generalizable">E</a><a id="7872" class="Symbol">}</a> <a id="7874" class="Symbol">{</a><a id="7875" href="Categories.Morphism.Isomorphism.html#7875" class="Bound">j</a> <a id="7877" class="Symbol">:</a> <a id="7879" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="7881" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7883" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="7884" class="Symbol">}</a>
|
|||
|
<a id="7890" class="Symbol">{</a><a id="7891" href="Categories.Morphism.Isomorphism.html#7891" class="Bound">k</a> <a id="7893" class="Symbol">:</a> <a id="7895" href="Categories.Morphism.Isomorphism.html#1360" class="Generalizable">E</a> <a id="7897" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7899" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="7900" class="Symbol">}</a> <a id="7902" class="Symbol">{</a><a id="7903" href="Categories.Morphism.Isomorphism.html#7903" class="Bound">f</a> <a id="7905" class="Symbol">:</a> <a id="7907" href="Categories.Morphism.Isomorphism.html#1362" class="Generalizable">F</a> <a id="7909" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7911" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a><a id="7912" class="Symbol">}</a> <a id="7914" class="Symbol">{</a><a id="7915" href="Categories.Morphism.Isomorphism.html#7915" class="Bound">g</a> <a id="7917" class="Symbol">:</a> <a id="7919" href="Categories.Morphism.Isomorphism.html#1362" class="Generalizable">F</a> <a id="7921" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7923" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="7924" class="Symbol">}</a> <a id="7926" class="Symbol">{</a><a id="7927" href="Categories.Morphism.Isomorphism.html#7927" class="Bound">h</a> <a id="7929" class="Symbol">:</a> <a id="7931" href="Categories.Morphism.Isomorphism.html#1362" class="Generalizable">F</a> <a id="7933" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="7935" href="Categories.Morphism.Isomorphism.html#1360" class="Generalizable">E</a><a id="7936" class="Symbol">}</a> <a id="7938" class="Symbol">→</a>
|
|||
|
<a id="7944" href="Categories.Morphism.Isomorphism.html#7824" class="Bound">i′</a> <a id="7947" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="7950" href="Categories.Morphism.Isomorphism.html#7837" class="Bound">f′</a> <a id="7953" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="7956" href="Categories.Morphism.Isomorphism.html#7850" class="Bound">h′</a> <a id="7959" class="Symbol">→</a>
|
|||
|
<a id="7965" href="Categories.Morphism.Isomorphism.html#1401" class="Function">CommutativeIso</a> <a id="7980" href="Categories.Morphism.Isomorphism.html#7863" class="Bound">i</a> <a id="7982" href="Categories.Morphism.Isomorphism.html#7875" class="Bound">j</a> <a id="7984" href="Categories.Morphism.Isomorphism.html#7891" class="Bound">k</a> <a id="7986" href="Categories.Morphism.Isomorphism.html#7824" class="Bound">i′</a> <a id="7989" class="Symbol">→</a> <a id="7991" href="Categories.Morphism.Isomorphism.html#1401" class="Function">CommutativeIso</a> <a id="8006" href="Categories.Morphism.Isomorphism.html#7903" class="Bound">f</a> <a id="8008" href="Categories.Morphism.Isomorphism.html#7915" class="Bound">g</a> <a id="8010" href="Categories.Morphism.Isomorphism.html#7875" class="Bound">j</a> <a id="8012" href="Categories.Morphism.Isomorphism.html#7837" class="Bound">f′</a> <a id="8015" class="Symbol">→</a> <a id="8017" href="Categories.Morphism.Isomorphism.html#1401" class="Function">CommutativeIso</a> <a id="8032" href="Categories.Morphism.Isomorphism.html#7927" class="Bound">h</a> <a id="8034" href="Categories.Morphism.Isomorphism.html#7915" class="Bound">g</a> <a id="8036" href="Categories.Morphism.Isomorphism.html#7891" class="Bound">k</a> <a id="8038" href="Categories.Morphism.Isomorphism.html#7850" class="Bound">h′</a> <a id="8041" class="Symbol">→</a>
|
|||
|
<a id="8047" href="Categories.Morphism.Isomorphism.html#7863" class="Bound">i</a> <a id="8049" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8052" href="Categories.Morphism.Isomorphism.html#7903" class="Bound">f</a> <a id="8054" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="8057" href="Categories.Morphism.Isomorphism.html#7927" class="Bound">h</a>
|
|||
|
<a id="8061" href="Categories.Morphism.Isomorphism.html#7806" class="Function">triangle-prism</a> <a id="8076" class="Symbol">{</a><a id="8077" class="Argument">i′</a> <a id="8080" class="Symbol">=</a> <a id="8082" href="Categories.Morphism.Isomorphism.html#8082" class="Bound">i′</a><a id="8084" class="Symbol">}</a> <a id="8086" class="Symbol">{</a><a id="8087" href="Categories.Morphism.Isomorphism.html#8087" class="Bound">f′</a><a id="8089" class="Symbol">}</a> <a id="8091" class="Symbol">{_}</a> <a id="8095" class="Symbol">{</a><a id="8096" href="Categories.Morphism.Isomorphism.html#8096" class="Bound">i</a><a id="8097" class="Symbol">}</a> <a id="8099" class="Symbol">{_}</a> <a id="8103" class="Symbol">{</a><a id="8104" href="Categories.Morphism.Isomorphism.html#8104" class="Bound">k</a><a id="8105" class="Symbol">}</a> <a id="8107" class="Symbol">{</a><a id="8108" href="Categories.Morphism.Isomorphism.html#8108" class="Bound">f</a><a id="8109" class="Symbol">}</a> <a id="8111" class="Symbol">{</a><a id="8112" href="Categories.Morphism.Isomorphism.html#8112" class="Bound">g</a><a id="8113" class="Symbol">}</a> <a id="8115" class="Symbol">{_}</a> <a id="8119" href="Categories.Morphism.Isomorphism.html#8119" class="Bound">eq</a> <a id="8122" href="Categories.Morphism.Isomorphism.html#8122" class="Bound">sq₁</a> <a id="8126" href="Categories.Morphism.Isomorphism.html#8126" class="Bound">sq₂</a> <a id="8130" href="Categories.Morphism.Isomorphism.html#8130" class="Bound">sq₃</a> <a id="8134" class="Symbol">=</a>
|
|||
|
<a id="8140" href="Categories.Morphism.Isomorphism.html#7375" class="Function">squares×≃⇒≃</a> <a id="8152" href="Categories.Morphism.Isomorphism.html#8181" class="Function">glued</a> <a id="8158" href="Categories.Morphism.Isomorphism.html#8130" class="Bound">sq₃</a> <a id="8162" href="Categories.Morphism.Isomorphism.html#8119" class="Bound">eq</a>
|
|||
|
<a id="8169" class="Keyword">where</a>
|
|||
|
<a id="8181" href="Categories.Morphism.Isomorphism.html#8181" class="Function">glued</a> <a id="8187" class="Symbol">:</a> <a id="8189" href="Categories.Morphism.Isomorphism.html#1401" class="Function">CommutativeIso</a> <a id="8204" class="Symbol">(</a><a id="8205" href="Categories.Morphism.Isomorphism.html#8096" class="Bound">i</a> <a id="8207" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8210" href="Categories.Morphism.Isomorphism.html#8108" class="Bound">f</a><a id="8211" class="Symbol">)</a> <a id="8213" href="Categories.Morphism.Isomorphism.html#8112" class="Bound">g</a> <a id="8215" href="Categories.Morphism.Isomorphism.html#8104" class="Bound">k</a> <a id="8217" class="Symbol">(</a><a id="8218" href="Categories.Morphism.Isomorphism.html#8082" class="Bound">i′</a> <a id="8221" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8224" href="Categories.Morphism.Isomorphism.html#8087" class="Bound">f′</a><a id="8226" class="Symbol">)</a>
|
|||
|
<a id="8234" href="Categories.Morphism.Isomorphism.html#8181" class="Function">glued</a> <a id="8240" class="Symbol">=</a> <a id="8242" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="8244" class="Symbol">(</a><a id="8245" href="Categories.Morphism.Reasoning.Core.html#4290" class="Function">glue</a> <a id="8250" class="Symbol">(</a><a id="8251" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="8253" href="Categories.Morphism.Isomorphism.html#8122" class="Bound">sq₁</a><a id="8256" class="Symbol">)</a> <a id="8258" class="Symbol">(</a><a id="8259" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="8261" href="Categories.Morphism.Isomorphism.html#8126" class="Bound">sq₂</a><a id="8264" class="Symbol">))</a>
|
|||
|
|
|||
|
<a id="8270" href="Categories.Morphism.Isomorphism.html#8270" class="Function">elim-triangleˡ</a> <a id="8285" class="Symbol">:</a> <a id="8287" class="Symbol">{</a><a id="8288" href="Categories.Morphism.Isomorphism.html#8288" class="Bound">f</a> <a id="8290" class="Symbol">:</a> <a id="8292" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="8294" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8296" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="8297" class="Symbol">}</a> <a id="8299" class="Symbol">{</a><a id="8300" href="Categories.Morphism.Isomorphism.html#8300" class="Bound">g</a> <a id="8302" class="Symbol">:</a> <a id="8304" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="8306" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8308" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="8309" class="Symbol">}</a> <a id="8311" class="Symbol">{</a><a id="8312" href="Categories.Morphism.Isomorphism.html#8312" class="Bound">h</a> <a id="8314" class="Symbol">:</a> <a id="8316" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="8318" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8320" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="8321" class="Symbol">}</a> <a id="8323" class="Symbol">{</a><a id="8324" href="Categories.Morphism.Isomorphism.html#8324" class="Bound">i</a> <a id="8326" class="Symbol">:</a> <a id="8328" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="8330" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8332" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="8333" class="Symbol">}</a> <a id="8335" class="Symbol">{</a><a id="8336" href="Categories.Morphism.Isomorphism.html#8336" class="Bound">j</a> <a id="8338" class="Symbol">:</a> <a id="8340" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="8342" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8344" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="8345" class="Symbol">}</a> <a id="8347" class="Symbol">→</a>
|
|||
|
<a id="8368" href="Categories.Morphism.Isomorphism.html#8288" class="Bound">f</a> <a id="8370" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8373" href="Categories.Morphism.Isomorphism.html#8300" class="Bound">g</a> <a id="8375" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8378" href="Categories.Morphism.Isomorphism.html#8312" class="Bound">h</a> <a id="8380" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="8383" href="Categories.Morphism.Isomorphism.html#8324" class="Bound">i</a> <a id="8385" class="Symbol">→</a> <a id="8387" href="Categories.Morphism.Isomorphism.html#8288" class="Bound">f</a> <a id="8389" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8392" href="Categories.Morphism.Isomorphism.html#8336" class="Bound">j</a> <a id="8394" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="8397" href="Categories.Morphism.Isomorphism.html#8324" class="Bound">i</a> <a id="8399" class="Symbol">→</a> <a id="8401" href="Categories.Morphism.Isomorphism.html#8300" class="Bound">g</a> <a id="8403" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8406" href="Categories.Morphism.Isomorphism.html#8312" class="Bound">h</a> <a id="8408" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="8411" href="Categories.Morphism.Isomorphism.html#8336" class="Bound">j</a>
|
|||
|
<a id="8415" href="Categories.Morphism.Isomorphism.html#8270" class="Function">elim-triangleˡ</a> <a id="8430" href="Categories.Morphism.Isomorphism.html#8430" class="Bound">perim</a> <a id="8436" href="Categories.Morphism.Isomorphism.html#8436" class="Bound">tri</a> <a id="8440" class="Symbol">=</a> <a id="8442" href="Categories.Category.Groupoid.Properties.html#438" class="Function">MCore.mono</a> <a id="8453" class="Symbol">_</a> <a id="8455" class="Symbol">_</a> <a id="8457" class="Symbol">(</a><a id="8458" href="Categories.Morphism.Isomorphism.html#8430" class="Bound">perim</a> <a id="8464" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="8466" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="8468" href="Categories.Morphism.Isomorphism.html#8436" class="Bound">tri</a><a id="8471" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="8476" href="Categories.Morphism.Isomorphism.html#8476" class="Function">elim-triangleˡ′</a> <a id="8492" class="Symbol">:</a> <a id="8494" class="Symbol">{</a><a id="8495" href="Categories.Morphism.Isomorphism.html#8495" class="Bound">f</a> <a id="8497" class="Symbol">:</a> <a id="8499" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="8501" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8503" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="8504" class="Symbol">}</a> <a id="8506" class="Symbol">{</a><a id="8507" href="Categories.Morphism.Isomorphism.html#8507" class="Bound">g</a> <a id="8509" class="Symbol">:</a> <a id="8511" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="8513" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8515" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a><a id="8516" class="Symbol">}</a> <a id="8518" class="Symbol">{</a><a id="8519" href="Categories.Morphism.Isomorphism.html#8519" class="Bound">h</a> <a id="8521" class="Symbol">:</a> <a id="8523" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="8525" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8527" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="8528" class="Symbol">}</a> <a id="8530" class="Symbol">{</a><a id="8531" href="Categories.Morphism.Isomorphism.html#8531" class="Bound">i</a> <a id="8533" class="Symbol">:</a> <a id="8535" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a> <a id="8537" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8539" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="8540" class="Symbol">}</a> <a id="8542" class="Symbol">{</a><a id="8543" href="Categories.Morphism.Isomorphism.html#8543" class="Bound">j</a> <a id="8545" class="Symbol">:</a> <a id="8547" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="8549" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8551" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="8552" class="Symbol">}</a> <a id="8554" class="Symbol">→</a>
|
|||
|
<a id="8576" href="Categories.Morphism.Isomorphism.html#8495" class="Bound">f</a> <a id="8578" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8581" href="Categories.Morphism.Isomorphism.html#8507" class="Bound">g</a> <a id="8583" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8586" href="Categories.Morphism.Isomorphism.html#8519" class="Bound">h</a> <a id="8588" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="8591" href="Categories.Morphism.Isomorphism.html#8531" class="Bound">i</a> <a id="8593" class="Symbol">→</a> <a id="8595" href="Categories.Morphism.Isomorphism.html#8543" class="Bound">j</a> <a id="8597" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8600" href="Categories.Morphism.Isomorphism.html#8519" class="Bound">h</a> <a id="8602" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="8605" href="Categories.Morphism.Isomorphism.html#8531" class="Bound">i</a> <a id="8607" class="Symbol">→</a> <a id="8609" href="Categories.Morphism.Isomorphism.html#8495" class="Bound">f</a> <a id="8611" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8614" href="Categories.Morphism.Isomorphism.html#8507" class="Bound">g</a> <a id="8616" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="8619" href="Categories.Morphism.Isomorphism.html#8543" class="Bound">j</a>
|
|||
|
<a id="8623" href="Categories.Morphism.Isomorphism.html#8476" class="Function">elim-triangleˡ′</a> <a id="8639" class="Symbol">{</a><a id="8640" class="Argument">f</a> <a id="8642" class="Symbol">=</a> <a id="8644" href="Categories.Morphism.Isomorphism.html#8644" class="Bound">f</a><a id="8645" class="Symbol">}</a> <a id="8647" class="Symbol">{</a><a id="8648" href="Categories.Morphism.Isomorphism.html#8648" class="Bound">g</a><a id="8649" class="Symbol">}</a> <a id="8651" class="Symbol">{</a><a id="8652" href="Categories.Morphism.Isomorphism.html#8652" class="Bound">h</a><a id="8653" class="Symbol">}</a> <a id="8655" class="Symbol">{</a><a id="8656" href="Categories.Morphism.Isomorphism.html#8656" class="Bound">i</a><a id="8657" class="Symbol">}</a> <a id="8659" class="Symbol">{</a><a id="8660" href="Categories.Morphism.Isomorphism.html#8660" class="Bound">j</a><a id="8661" class="Symbol">}</a> <a id="8663" href="Categories.Morphism.Isomorphism.html#8663" class="Bound">perim</a> <a id="8669" href="Categories.Morphism.Isomorphism.html#8669" class="Bound">tri</a> <a id="8673" class="Symbol">=</a> <a id="8675" href="Categories.Category.Groupoid.Properties.html#487" class="Function">MCore.epi</a> <a id="8685" class="Symbol">_</a> <a id="8687" class="Symbol">_</a> <a id="8689" class="Symbol">(</a> <a id="8691" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="8701" class="Symbol">(</a><a id="8702" href="Categories.Morphism.Isomorphism.html#8644" class="Bound">f</a> <a id="8704" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8707" href="Categories.Morphism.Isomorphism.html#8648" class="Bound">g</a><a id="8708" class="Symbol">)</a> <a id="8710" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8713" href="Categories.Morphism.Isomorphism.html#8652" class="Bound">h</a> <a id="8715" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8718" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator">⌞</a> <a id="8720" href="Categories.Category.Core.html#715" class="Field">assoc</a> <a id="8726" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator">⌟</a> <a id="8728" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="8734" href="Categories.Morphism.Isomorphism.html#8644" class="Bound">f</a> <a id="8736" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8739" href="Categories.Morphism.Isomorphism.html#8648" class="Bound">g</a> <a id="8741" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8744" href="Categories.Morphism.Isomorphism.html#8652" class="Bound">h</a> <a id="8748" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8751" href="Categories.Morphism.Isomorphism.html#8663" class="Bound">perim</a> <a id="8757" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="8763" href="Categories.Morphism.Isomorphism.html#8656" class="Bound">i</a> <a id="8777" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="8781" href="Categories.Morphism.Isomorphism.html#8669" class="Bound">tri</a> <a id="8785" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
|||
|
<a id="8791" href="Categories.Morphism.Isomorphism.html#8660" class="Bound">j</a> <a id="8793" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8796" href="Categories.Morphism.Isomorphism.html#8652" class="Bound">h</a> <a id="8805" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a> <a id="8807" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="8812" href="Categories.Morphism.Isomorphism.html#8812" class="Function">cut-squareʳ</a> <a id="8824" class="Symbol">:</a> <a id="8826" class="Symbol">{</a><a id="8827" href="Categories.Morphism.Isomorphism.html#8827" class="Bound">g</a> <a id="8829" class="Symbol">:</a> <a id="8831" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="8833" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8835" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a><a id="8836" class="Symbol">}</a> <a id="8838" class="Symbol">{</a><a id="8839" href="Categories.Morphism.Isomorphism.html#8839" class="Bound">f</a> <a id="8841" class="Symbol">:</a> <a id="8843" href="Categories.Morphism.Isomorphism.html#1352" class="Generalizable">A</a> <a id="8845" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8847" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="8848" class="Symbol">}</a> <a id="8850" class="Symbol">{</a><a id="8851" href="Categories.Morphism.Isomorphism.html#8851" class="Bound">h</a> <a id="8853" class="Symbol">:</a> <a id="8855" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="8857" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8859" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a><a id="8860" class="Symbol">}</a> <a id="8862" class="Symbol">{</a><a id="8863" href="Categories.Morphism.Isomorphism.html#8863" class="Bound">i</a> <a id="8865" class="Symbol">:</a> <a id="8867" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a> <a id="8869" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8871" href="Categories.Morphism.Isomorphism.html#1358" class="Generalizable">D</a><a id="8872" class="Symbol">}</a> <a id="8874" class="Symbol">{</a><a id="8875" href="Categories.Morphism.Isomorphism.html#8875" class="Bound">j</a> <a id="8877" class="Symbol">:</a> <a id="8879" href="Categories.Morphism.Isomorphism.html#1354" class="Generalizable">B</a> <a id="8881" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="8883" href="Categories.Morphism.Isomorphism.html#1356" class="Generalizable">C</a><a id="8884" class="Symbol">}</a> <a id="8886" class="Symbol">→</a>
|
|||
|
<a id="8904" href="Categories.Morphism.Isomorphism.html#1401" class="Function">CommutativeIso</a> <a id="8919" href="Categories.Morphism.Isomorphism.html#8827" class="Bound">g</a> <a id="8921" href="Categories.Morphism.Isomorphism.html#8839" class="Bound">f</a> <a id="8923" href="Categories.Morphism.Isomorphism.html#8851" class="Bound">h</a> <a id="8925" href="Categories.Morphism.Isomorphism.html#8863" class="Bound">i</a> <a id="8927" class="Symbol">→</a> <a id="8929" href="Categories.Morphism.Isomorphism.html#8863" class="Bound">i</a> <a id="8931" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8934" href="Categories.Morphism.Isomorphism.html#8875" class="Bound">j</a> <a id="8936" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="8939" href="Categories.Morphism.Isomorphism.html#8851" class="Bound">h</a> <a id="8941" class="Symbol">→</a> <a id="8943" href="Categories.Morphism.Isomorphism.html#8875" class="Bound">j</a> <a id="8945" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="8948" href="Categories.Morphism.Isomorphism.html#8827" class="Bound">g</a> <a id="8950" href="Categories.Category.Core.html#595" class="Function Operator">≈ᵢ</a> <a id="8953" href="Categories.Morphism.Isomorphism.html#8839" class="Bound">f</a>
|
|||
|
<a id="8957" href="Categories.Morphism.Isomorphism.html#8812" class="Function">cut-squareʳ</a> <a id="8969" class="Symbol">{</a><a id="8970" class="Argument">g</a> <a id="8972" class="Symbol">=</a> <a id="8974" href="Categories.Morphism.Isomorphism.html#8974" class="Bound">g</a><a id="8975" class="Symbol">}</a> <a id="8977" class="Symbol">{</a><a id="8978" class="Argument">f</a> <a id="8980" class="Symbol">=</a> <a id="8982" href="Categories.Morphism.Isomorphism.html#8982" class="Bound">f</a><a id="8983" class="Symbol">}</a> <a id="8985" class="Symbol">{</a><a id="8986" class="Argument">h</a> <a id="8988" class="Symbol">=</a> <a id="8990" href="Categories.Morphism.Isomorphism.html#8990" class="Bound">h</a><a id="8991" class="Symbol">}</a> <a id="8993" class="Symbol">{</a><a id="8994" class="Argument">i</a> <a id="8996" class="Symbol">=</a> <a id="8998" href="Categories.Morphism.Isomorphism.html#8998" class="Bound">i</a><a id="8999" class="Symbol">}</a> <a id="9001" class="Symbol">{</a><a id="9002" class="Argument">j</a> <a id="9004" class="Symbol">=</a> <a id="9006" href="Categories.Morphism.Isomorphism.html#9006" class="Bound">j</a><a id="9007" class="Symbol">}</a> <a id="9009" href="Categories.Morphism.Isomorphism.html#9009" class="Bound">sq</a> <a id="9012" href="Categories.Morphism.Isomorphism.html#9012" class="Bound">tri</a> <a id="9016" class="Symbol">=</a> <a id="9018" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="9028" href="Categories.Morphism.Isomorphism.html#9006" class="Bound">j</a> <a id="9030" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="9033" href="Categories.Morphism.Isomorphism.html#8974" class="Bound">g</a> <a id="9046" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="9049" href="Categories.Morphism.Reasoning.Iso.html#5330" class="Function">switch-fromtoˡ′</a> <a id="9065" class="Symbol">{</a><a id="9066" class="Argument">f</a> <a id="9068" class="Symbol">=</a> <a id="9070" href="Categories.Morphism.Isomorphism.html#8998" class="Bound">i</a><a id="9071" class="Symbol">}</a> <a id="9073" class="Symbol">{</a><a id="9074" class="Argument">h</a> <a id="9076" class="Symbol">=</a> <a id="9078" href="Categories.Morphism.Isomorphism.html#9006" class="Bound">j</a><a id="9079" class="Symbol">}</a> <a id="9081" class="Symbol">{</a><a id="9082" class="Argument">k</a> <a id="9084" class="Symbol">=</a> <a id="9086" href="Categories.Morphism.Isomorphism.html#8990" class="Bound">h</a><a id="9087" class="Symbol">}</a> <a id="9089" href="Categories.Morphism.Isomorphism.html#9012" class="Bound">tri</a> <a id="9093" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="9101" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="9107" class="Symbol">(</a><a id="9108" href="Categories.Morphism.Isomorphism.html#8998" class="Bound">i</a> <a id="9110" href="Categories.Category.Groupoid.html#365" class="Function Operator">⁻¹</a> <a id="9113" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="9116" href="Categories.Morphism.Isomorphism.html#8990" class="Bound">h</a><a id="9117" class="Symbol">)</a> <a id="9119" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="9122" href="Categories.Morphism.Isomorphism.html#8974" class="Bound">g</a> <a id="9125" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="9128" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator">⌞</a> <a id="9130" href="Categories.Category.Core.html#715" class="Field">assoc</a> <a id="9136" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator">⌟</a> <a id="9138" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="9144" href="Categories.Morphism.Isomorphism.html#8998" class="Bound">i</a> <a id="9146" href="Categories.Category.Groupoid.html#365" class="Function Operator">⁻¹</a> <a id="9149" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="9152" href="Categories.Morphism.Isomorphism.html#8990" class="Bound">h</a> <a id="9154" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="9157" href="Categories.Morphism.Isomorphism.html#8974" class="Bound">g</a> <a id="9162" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="9166" href="Categories.Morphism.Reasoning.Iso.html#5330" class="Function">switch-fromtoˡ′</a> <a id="9182" class="Symbol">{</a><a id="9183" class="Argument">f</a> <a id="9185" class="Symbol">=</a> <a id="9187" href="Categories.Morphism.Isomorphism.html#8998" class="Bound">i</a><a id="9188" class="Symbol">}</a> <a id="9190" class="Symbol">{</a><a id="9191" class="Argument">h</a> <a id="9193" class="Symbol">=</a> <a id="9195" href="Categories.Morphism.Isomorphism.html#8982" class="Bound">f</a><a id="9196" class="Symbol">}</a> <a id="9198" class="Symbol">{</a><a id="9199" class="Argument">k</a> <a id="9201" class="Symbol">=</a> <a id="9203" href="Categories.Morphism.Isomorphism.html#8990" class="Bound">h</a> <a id="9205" href="Categories.Category.Core.html#656" class="Function Operator">∘ᵢ</a> <a id="9208" href="Categories.Morphism.Isomorphism.html#8974" class="Bound">g</a><a id="9209" class="Symbol">}</a> <a id="9211" class="Symbol">(</a><a id="9212" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="9214" href="Categories.Morphism.Isomorphism.html#9009" class="Bound">sq</a><a id="9216" class="Symbol">)</a> <a id="9218" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
|||
|
<a id="9224" href="Categories.Morphism.Isomorphism.html#8982" class="Bound">f</a> <a id="9242" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
</pre></body></html>
|