bsc-leon-vatthauer/public/Categories.Category.Construction.Cones.html

109 lines
No EOL
29 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Categories.Category.Construction.Cones</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="68" class="Keyword">open</a> <a id="73" class="Keyword">import</a> <a id="80" href="Categories.Functor.html" class="Module">Categories.Functor</a> <a id="99" class="Keyword">hiding</a> <a id="106" class="Symbol">(</a><a id="107" href="Categories.Functor.html#349" class="Function">id</a><a id="109" class="Symbol">)</a>
<a id="112" class="Comment">-- category of cones &quot;over a Functor F&quot;</a>
<a id="153" class="Keyword">module</a> <a id="160" href="Categories.Category.Construction.Cones.html" class="Module">Categories.Category.Construction.Cones</a>
<a id="201" class="Symbol">{</a><a id="202" href="Categories.Category.Construction.Cones.html#202" class="Bound">o</a> <a id="204" href="Categories.Category.Construction.Cones.html#204" class="Bound"></a> <a id="206" href="Categories.Category.Construction.Cones.html#206" class="Bound">e</a><a id="207" class="Symbol">}</a> <a id="209" class="Symbol">{</a><a id="210" href="Categories.Category.Construction.Cones.html#210" class="Bound">o</a> <a id="213" href="Categories.Category.Construction.Cones.html#213" class="Bound"></a> <a id="216" href="Categories.Category.Construction.Cones.html#216" class="Bound">e</a><a id="218" class="Symbol">}</a> <a id="220" class="Symbol">{</a><a id="221" href="Categories.Category.Construction.Cones.html#221" class="Bound">C</a> <a id="223" class="Symbol">:</a> <a id="225" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="234" href="Categories.Category.Construction.Cones.html#202" class="Bound">o</a> <a id="236" href="Categories.Category.Construction.Cones.html#204" class="Bound"></a> <a id="238" href="Categories.Category.Construction.Cones.html#206" class="Bound">e</a><a id="239" class="Symbol">}</a> <a id="241" class="Symbol">{</a><a id="242" href="Categories.Category.Construction.Cones.html#242" class="Bound">J</a> <a id="244" class="Symbol">:</a> <a id="246" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="255" href="Categories.Category.Construction.Cones.html#210" class="Bound">o</a> <a id="258" href="Categories.Category.Construction.Cones.html#213" class="Bound"></a> <a id="261" href="Categories.Category.Construction.Cones.html#216" class="Bound">e</a><a id="263" class="Symbol">}</a> <a id="265" class="Symbol">(</a><a id="266" href="Categories.Category.Construction.Cones.html#266" class="Bound">F</a> <a id="268" class="Symbol">:</a> <a id="270" href="Categories.Functor.Core.html#248" class="Record">Functor</a> <a id="278" href="Categories.Category.Construction.Cones.html#242" class="Bound">J</a> <a id="280" href="Categories.Category.Construction.Cones.html#221" class="Bound">C</a><a id="281" class="Symbol">)</a> <a id="283" class="Keyword">where</a>
<a id="290" class="Keyword">open</a> <a id="295" class="Keyword">import</a> <a id="302" href="Data.Product.html" class="Module">Data.Product</a>
<a id="315" class="Keyword">import</a> <a id="322" href="Categories.Diagram.Cone.html" class="Module">Categories.Diagram.Cone</a> <a id="346" class="Symbol">as</a> <a id="349" class="Module">Co</a>
<a id="352" class="Keyword">import</a> <a id="359" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="379" class="Symbol">as</a> <a id="382" class="Module">Mor</a>
<a id="386" class="Keyword">import</a> <a id="393" href="Categories.Morphism.IsoEquiv.html" class="Module">Categories.Morphism.IsoEquiv</a> <a id="422" class="Symbol">as</a> <a id="425" class="Module">IsoEquiv</a>
<a id="434" class="Keyword">import</a> <a id="441" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="471" class="Symbol">as</a> <a id="474" class="Module">Reas</a>
<a id="480" class="Keyword">open</a> <a id="485" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="494" href="Categories.Category.Construction.Cones.html#221" class="Bound">C</a>
<a id="496" class="Keyword">open</a> <a id="501" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="514" class="Keyword">open</a> <a id="519" href="Categories.Morphism.html" class="Module">Mor</a> <a id="523" href="Categories.Category.Construction.Cones.html#221" class="Bound">C</a> <a id="525" class="Keyword">using</a> <a id="531" class="Symbol">(</a><a id="532" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a><a id="535" class="Symbol">)</a>
<a id="537" class="Keyword">open</a> <a id="542" href="Categories.Morphism.IsoEquiv.html" class="Module">IsoEquiv</a> <a id="551" href="Categories.Category.Construction.Cones.html#221" class="Bound">C</a> <a id="553" class="Keyword">using</a> <a id="559" class="Symbol">(</a><a id="560" href="Categories.Morphism.IsoEquiv.html#1761" class="Record Operator">_≃_</a><a id="563" class="Symbol">;</a> <a id="565" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator">⌞_⌟</a><a id="568" class="Symbol">)</a>
<a id="570" class="Keyword">open</a> <a id="575" href="Categories.Morphism.Reasoning.html" class="Module">Reas</a> <a id="580" href="Categories.Category.Construction.Cones.html#221" class="Bound">C</a>
<a id="583" class="Keyword">open</a> <a id="588" href="Categories.Diagram.Cone.html" class="Module">Co</a> <a id="591" href="Categories.Category.Construction.Cones.html#266" class="Bound">F</a> <a id="593" class="Keyword">public</a>
<a id="600" class="Keyword">open</a> <a id="605" href="Categories.Diagram.Cone.html#358" class="Module">Apex</a>
<a id="610" class="Keyword">open</a> <a id="615" href="Categories.Diagram.Cone.html#526" class="Module">Cone</a>
<a id="620" class="Keyword">open</a> <a id="625" href="Categories.Diagram.Cone.html#660" class="Module">Cone⇒</a>
<a id="Cones"></a><a id="632" href="Categories.Category.Construction.Cones.html#632" class="Function">Cones</a> <a id="638" class="Symbol">:</a> <a id="640" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="649" class="Symbol">_</a> <a id="651" class="Symbol">_</a> <a id="653" class="Symbol">_</a>
<a id="655" href="Categories.Category.Construction.Cones.html#632" class="Function">Cones</a> <a id="661" class="Symbol">=</a> <a id="663" class="Keyword">record</a>
<a id="672" class="Symbol">{</a> <a id="674" href="Categories.Category.Core.html#559" class="Field">Obj</a> <a id="684" class="Symbol">=</a> <a id="686" href="Categories.Diagram.Cone.html#526" class="Record">Cone</a>
<a id="693" class="Symbol">;</a> <a id="695" href="Categories.Category.Core.html#575" class="Field Operator">_⇒_</a> <a id="705" class="Symbol">=</a> <a id="707" href="Categories.Diagram.Cone.html#660" class="Record">Cone⇒</a>
<a id="715" class="Symbol">;</a> <a id="717" href="Categories.Category.Core.html#595" class="Field Operator">_≈_</a> <a id="727" class="Symbol">=</a> <a id="729" class="Symbol">λ</a> <a id="731" href="Categories.Category.Construction.Cones.html#731" class="Bound">f</a> <a id="733" href="Categories.Category.Construction.Cones.html#733" class="Bound">g</a> <a id="735" class="Symbol"></a> <a id="737" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="741" href="Categories.Category.Construction.Cones.html#731" class="Bound">f</a> <a id="743" href="Categories.Category.Core.html#595" class="Function Operator"></a> <a id="745" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="749" href="Categories.Category.Construction.Cones.html#733" class="Bound">g</a>
<a id="753" class="Symbol">;</a> <a id="755" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="765" class="Symbol">=</a> <a id="767" class="Keyword">record</a>
<a id="778" class="Symbol">{</a> <a id="780" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="788" class="Symbol">=</a> <a id="790" href="Categories.Category.Core.html#630" class="Function">id</a>
<a id="797" class="Symbol">;</a> <a id="799" href="Categories.Diagram.Cone.html#742" class="Field">commute</a> <a id="807" class="Symbol">=</a> <a id="809" href="Categories.Category.Core.html#1145" class="Function">identityʳ</a>
<a id="823" class="Symbol">}</a>
<a id="827" class="Symbol">;</a> <a id="829" href="Categories.Category.Core.html#656" class="Field Operator">_∘_</a> <a id="839" class="Symbol">=</a> <a id="841" class="Symbol">λ</a> <a id="843" class="Symbol">{</a><a id="844" href="Categories.Category.Construction.Cones.html#844" class="Bound">A</a> <a id="846" href="Categories.Category.Construction.Cones.html#846" class="Bound">B</a> <a id="848" href="Categories.Category.Construction.Cones.html#848" class="Bound">C</a><a id="849" class="Symbol">}</a> <a id="851" href="Categories.Category.Construction.Cones.html#851" class="Bound">f</a> <a id="853" href="Categories.Category.Construction.Cones.html#853" class="Bound">g</a> <a id="855" class="Symbol"></a> <a id="857" class="Keyword">record</a>
<a id="868" class="Symbol">{</a> <a id="870" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="878" class="Symbol">=</a> <a id="880" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="884" href="Categories.Category.Construction.Cones.html#851" class="Bound">f</a> <a id="886" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="888" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="892" href="Categories.Category.Construction.Cones.html#853" class="Bound">g</a>
<a id="898" class="Symbol">;</a> <a id="900" href="Categories.Diagram.Cone.html#742" class="Field">commute</a> <a id="908" class="Symbol">=</a> <a id="910" class="Symbol">λ</a> <a id="912" class="Symbol">{</a><a id="913" href="Categories.Category.Construction.Cones.html#913" class="Bound">X</a><a id="914" class="Symbol">}</a> <a id="916" class="Symbol"></a> <a id="918" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="930" href="Categories.Diagram.Cone.html#415" class="Field">ψ</a> <a id="932" href="Categories.Category.Construction.Cones.html#848" class="Bound">C</a> <a id="934" href="Categories.Category.Construction.Cones.html#913" class="Bound">X</a> <a id="936" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="938" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="942" href="Categories.Category.Construction.Cones.html#851" class="Bound">f</a> <a id="944" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="946" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="950" href="Categories.Category.Construction.Cones.html#853" class="Bound">g</a> <a id="952" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="955" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="961" class="Symbol">(</a><a id="962" href="Categories.Diagram.Cone.html#742" class="Field">commute</a> <a id="970" href="Categories.Category.Construction.Cones.html#851" class="Bound">f</a><a id="971" class="Symbol">)</a> <a id="973" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="981" href="Categories.Diagram.Cone.html#415" class="Field">ψ</a> <a id="983" href="Categories.Category.Construction.Cones.html#846" class="Bound">B</a> <a id="985" href="Categories.Category.Construction.Cones.html#913" class="Bound">X</a> <a id="987" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="989" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="993" href="Categories.Category.Construction.Cones.html#853" class="Bound">g</a> <a id="1003" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="1006" href="Categories.Diagram.Cone.html#742" class="Field">commute</a> <a id="1014" href="Categories.Category.Construction.Cones.html#853" class="Bound">g</a> <a id="1016" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="1024" href="Categories.Diagram.Cone.html#415" class="Field">ψ</a> <a id="1026" href="Categories.Category.Construction.Cones.html#844" class="Bound">A</a> <a id="1028" href="Categories.Category.Construction.Cones.html#913" class="Bound">X</a> <a id="1046" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="1052" class="Symbol">}</a>
<a id="1056" class="Symbol">;</a> <a id="1058" href="Categories.Category.Core.html#715" class="Field">assoc</a> <a id="1068" class="Symbol">=</a> <a id="1070" href="Categories.Category.Core.html#715" class="Function">assoc</a>
<a id="1078" class="Symbol">;</a> <a id="1080" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="1090" class="Symbol">=</a> <a id="1092" href="Categories.Category.Core.html#1004" class="Function">sym-assoc</a>
<a id="1104" class="Symbol">;</a> <a id="1106" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="1116" class="Symbol">=</a> <a id="1118" href="Categories.Category.Core.html#1096" class="Function">identityˡ</a>
<a id="1130" class="Symbol">;</a> <a id="1132" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="1142" class="Symbol">=</a> <a id="1144" href="Categories.Category.Core.html#1145" class="Function">identityʳ</a>
<a id="1156" class="Symbol">;</a> <a id="1158" href="Categories.Category.Core.html#1339" class="Field">identity²</a> <a id="1168" class="Symbol">=</a> <a id="1170" href="Categories.Category.Core.html#1339" class="Function">identity²</a>
<a id="1182" class="Symbol">;</a> <a id="1184" href="Categories.Category.Core.html#1384" class="Field">equiv</a> <a id="1194" class="Symbol">=</a> <a id="1196" class="Keyword">record</a>
<a id="1207" class="Symbol">{</a> <a id="1209" href="Relation.Binary.Structures.html#1577" class="Field">refl</a> <a id="1215" class="Symbol">=</a> <a id="1217" href="Relation.Binary.Structures.html#1577" class="Function">Equiv.refl</a>
<a id="1232" class="Symbol">;</a> <a id="1234" href="Relation.Binary.Structures.html#1603" class="Field">sym</a> <a id="1240" class="Symbol">=</a> <a id="1242" href="Relation.Binary.Structures.html#1603" class="Function">Equiv.sym</a>
<a id="1256" class="Symbol">;</a> <a id="1258" href="Relation.Binary.Structures.html#1629" class="Field">trans</a> <a id="1264" class="Symbol">=</a> <a id="1266" href="Relation.Binary.Structures.html#1629" class="Function">Equiv.trans</a>
<a id="1282" class="Symbol">}</a>
<a id="1286" class="Symbol">;</a> <a id="1288" href="Categories.Category.Core.html#1438" class="Field">∘-resp-≈</a> <a id="1298" class="Symbol">=</a> <a id="1300" href="Categories.Category.Core.html#1438" class="Function">∘-resp-≈</a>
<a id="1311" class="Symbol">}</a>
<a id="1314" class="Keyword">module</a> <a id="Cones"></a><a id="1321" href="Categories.Category.Construction.Cones.html#1321" class="Module">Cones</a> <a id="1327" class="Symbol">=</a> <a id="1329" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="1338" href="Categories.Category.Construction.Cones.html#632" class="Function">Cones</a>
<a id="1345" class="Keyword">private</a>
<a id="1355" class="Keyword">variable</a>
<a id="1368" href="Categories.Category.Construction.Cones.html#1368" class="Generalizable">K</a> <a id="1370" href="Categories.Category.Construction.Cones.html#1370" class="Generalizable">K</a> <a id="1373" class="Symbol">:</a> <a id="1375" href="Categories.Diagram.Cone.html#526" class="Record">Cone</a>
<a id="1384" href="Categories.Category.Construction.Cones.html#1384" class="Generalizable">X</a> <a id="1386" class="Symbol">:</a> <a id="1388" href="Categories.Category.Core.html#559" class="Function">Obj</a>
<a id="1394" class="Keyword">module</a> <a id="CM"></a><a id="1401" href="Categories.Category.Construction.Cones.html#1401" class="Module">CM</a> <a id="1404" class="Symbol">=</a> <a id="1406" href="Categories.Morphism.html" class="Module">Mor</a> <a id="1410" href="Categories.Category.Construction.Cones.html#632" class="Function">Cones</a>
<a id="1418" class="Keyword">module</a> <a id="CI"></a><a id="1425" href="Categories.Category.Construction.Cones.html#1425" class="Module">CI</a> <a id="1428" class="Symbol">=</a> <a id="1430" href="Categories.Morphism.IsoEquiv.html" class="Module">IsoEquiv</a> <a id="1439" href="Categories.Category.Construction.Cones.html#632" class="Function">Cones</a>
<a id="1446" class="Keyword">open</a> <a id="1451" href="Categories.Category.Construction.Cones.html#1401" class="Module">CM</a> <a id="1454" class="Keyword">using</a> <a id="1460" class="Symbol">()</a> <a id="1463" class="Keyword">renaming</a> <a id="1472" class="Symbol">(</a><a id="1473" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="1477" class="Symbol">to</a> <a id="1480" class="Record Operator">_⇔_</a><a id="1483" class="Symbol">)</a>
<a id="1485" class="Keyword">open</a> <a id="1490" href="Categories.Category.Construction.Cones.html#1425" class="Module">CI</a> <a id="1493" class="Keyword">using</a> <a id="1499" class="Symbol">()</a> <a id="1502" class="Keyword">renaming</a> <a id="1511" class="Symbol">(</a><a id="1512" href="Categories.Morphism.IsoEquiv.html#1761" class="Record Operator">_≃_</a> <a id="1516" class="Symbol">to</a> <a id="1519" class="Record Operator">_↮_</a><a id="1522" class="Symbol">)</a>
<a id="cone-resp-iso"></a><a id="1525" href="Categories.Category.Construction.Cones.html#1525" class="Function">cone-resp-iso</a> <a id="1539" class="Symbol">:</a> <a id="1541" class="Symbol"></a> <a id="1543" class="Symbol">(</a><a id="1544" href="Categories.Category.Construction.Cones.html#1544" class="Bound">κ</a> <a id="1546" class="Symbol">:</a> <a id="1548" href="Categories.Diagram.Cone.html#526" class="Record">Cone</a><a id="1552" class="Symbol">)</a> <a id="1554" class="Symbol"></a> <a id="1556" href="Categories.Diagram.Cone.html#578" class="Field">Cone.N</a> <a id="1563" href="Categories.Category.Construction.Cones.html#1544" class="Bound">κ</a> <a id="1565" href="Categories.Morphism.html#1958" class="Record Operator"></a> <a id="1567" href="Categories.Category.Construction.Cones.html#1384" class="Generalizable">X</a> <a id="1569" class="Symbol"></a> <a id="1571" href="Data.Product.html#925" class="Function">Σ[</a> <a id="1574" href="Categories.Category.Construction.Cones.html#1574" class="Bound">κ′</a> <a id="1577" href="Data.Product.html#925" class="Function"></a> <a id="1579" href="Categories.Diagram.Cone.html#526" class="Record">Cone</a> <a id="1584" href="Data.Product.html#925" class="Function">]</a> <a id="1586" href="Categories.Category.Construction.Cones.html#1544" class="Bound">κ</a> <a id="1588" href="Categories.Category.Construction.Cones.html#1480" class="Record Operator"></a> <a id="1590" href="Categories.Category.Construction.Cones.html#1574" class="Bound">κ′</a>
<a id="1593" href="Categories.Category.Construction.Cones.html#1525" class="Function">cone-resp-iso</a> <a id="1607" class="Symbol">{</a><a id="1608" class="Argument">X</a> <a id="1610" class="Symbol">=</a> <a id="1612" href="Categories.Category.Construction.Cones.html#1612" class="Bound">X</a><a id="1613" class="Symbol">}</a> <a id="1615" href="Categories.Category.Construction.Cones.html#1615" class="Bound">κ</a> <a id="1617" href="Categories.Category.Construction.Cones.html#1617" class="Bound">κ≅X</a> <a id="1621" class="Symbol">=</a> <a id="1623" class="Keyword">record</a>
<a id="1632" class="Symbol">{</a> <a id="1634" href="Categories.Diagram.Cone.html#592" class="Field">apex</a> <a id="1639" class="Symbol">=</a> <a id="1641" class="Keyword">record</a>
<a id="1652" class="Symbol">{</a> <a id="1654" href="Categories.Diagram.Cone.html#415" class="Field">ψ</a> <a id="1662" class="Symbol">=</a> <a id="1664" class="Symbol">λ</a> <a id="1666" href="Categories.Category.Construction.Cones.html#1666" class="Bound">Y</a> <a id="1668" class="Symbol"></a> <a id="1670" href="Categories.Diagram.Cone.html#415" class="Function">Cone.ψ</a> <a id="1677" href="Categories.Category.Construction.Cones.html#1615" class="Bound">κ</a> <a id="1679" href="Categories.Category.Construction.Cones.html#1666" class="Bound">Y</a> <a id="1681" href="Categories.Category.Core.html#656" class="Function Operator"></a> <a id="1683" href="Categories.Morphism.html#2023" class="Field">to</a>
<a id="1690" class="Symbol">;</a> <a id="1692" href="Categories.Diagram.Cone.html#463" class="Field">commute</a> <a id="1700" class="Symbol">=</a> <a id="1702" class="Symbol">λ</a> <a id="1704" href="Categories.Category.Construction.Cones.html#1704" class="Bound">f</a> <a id="1706" class="Symbol"></a> <a id="1708" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="1714" class="Symbol">(</a><a id="1715" href="Categories.Diagram.Cone.html#463" class="Function">Cone.commute</a> <a id="1728" href="Categories.Category.Construction.Cones.html#1615" class="Bound">κ</a> <a id="1730" href="Categories.Category.Construction.Cones.html#1704" class="Bound">f</a><a id="1731" class="Symbol">)</a>
<a id="1737" class="Symbol">}</a>
<a id="1741" class="Symbol">}</a> <a id="1743" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="1745" class="Keyword">record</a>
<a id="1754" class="Symbol">{</a> <a id="1756" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1761" class="Symbol">=</a> <a id="1763" class="Keyword">record</a>
<a id="1774" class="Symbol">{</a> <a id="1776" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="1784" class="Symbol">=</a> <a id="1786" href="Categories.Morphism.html#2006" class="Field">from</a>
<a id="1795" class="Symbol">;</a> <a id="1797" href="Categories.Diagram.Cone.html#742" class="Field">commute</a> <a id="1805" class="Symbol">=</a> <a id="1807" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="1815" href="Categories.Morphism.html#1586" class="Function">isoˡ</a>
<a id="1824" class="Symbol">}</a>
<a id="1828" class="Symbol">;</a> <a id="1830" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1835" class="Symbol">=</a> <a id="1837" class="Keyword">record</a>
<a id="1848" class="Symbol">{</a> <a id="1850" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="1858" class="Symbol">=</a> <a id="1860" href="Categories.Morphism.html#2023" class="Field">to</a>
<a id="1867" class="Symbol">;</a> <a id="1869" href="Categories.Diagram.Cone.html#742" class="Field">commute</a> <a id="1877" class="Symbol">=</a> <a id="1879" href="Relation.Binary.Structures.html#1577" class="Function">refl</a>
<a id="1888" class="Symbol">}</a>
<a id="1892" class="Symbol">;</a> <a id="1894" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="1899" class="Symbol">=</a> <a id="1901" class="Keyword">record</a>
<a id="1912" class="Symbol">{</a> <a id="1914" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="1922" class="Symbol">=</a> <a id="1924" href="Categories.Morphism.html#1586" class="Function">isoˡ</a>
<a id="1933" class="Symbol">;</a> <a id="1935" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="1943" class="Symbol">=</a> <a id="1945" href="Categories.Morphism.html#1612" class="Function">isoʳ</a>
<a id="1954" class="Symbol">}</a>
<a id="1958" class="Symbol">}</a>
<a id="1962" class="Keyword">where</a> <a id="1968" class="Keyword">open</a> <a id="1973" href="Categories.Morphism.html#1958" class="Module Operator">_≅_</a> <a id="1977" href="Categories.Category.Construction.Cones.html#1617" class="Bound">κ≅X</a>
<a id="1989" class="Keyword">open</a> <a id="1994" href="Categories.Diagram.Cone.html#526" class="Module">Cone</a>
<a id="2007" class="Keyword">open</a> <a id="2012" href="Categories.Diagram.Cone.html#358" class="Module">Apex</a>
<a id="2025" class="Keyword">open</a> <a id="2030" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
<a id="iso-cone⇒iso-apex"></a><a id="2037" href="Categories.Category.Construction.Cones.html#2037" class="Function">iso-cone⇒iso-apex</a> <a id="2055" class="Symbol">:</a> <a id="2057" href="Categories.Category.Construction.Cones.html#1368" class="Generalizable">K</a> <a id="2059" href="Categories.Category.Construction.Cones.html#1480" class="Record Operator"></a> <a id="2061" href="Categories.Category.Construction.Cones.html#1370" class="Generalizable">K</a> <a id="2064" class="Symbol"></a> <a id="2066" href="Categories.Diagram.Cone.html#578" class="Field">N</a> <a id="2068" href="Categories.Category.Construction.Cones.html#1368" class="Generalizable">K</a> <a id="2070" href="Categories.Morphism.html#1958" class="Record Operator"></a> <a id="2072" href="Categories.Diagram.Cone.html#578" class="Field">N</a> <a id="2074" href="Categories.Category.Construction.Cones.html#1370" class="Generalizable">K</a>
<a id="2077" href="Categories.Category.Construction.Cones.html#2037" class="Function">iso-cone⇒iso-apex</a> <a id="2095" href="Categories.Category.Construction.Cones.html#2095" class="Bound">K⇔K</a> <a id="2100" class="Symbol">=</a> <a id="2102" class="Keyword">record</a>
<a id="2111" class="Symbol">{</a> <a id="2113" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2118" class="Symbol">=</a> <a id="2120" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="2124" href="Categories.Morphism.html#2006" class="Field">from</a>
<a id="2131" class="Symbol">;</a> <a id="2133" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2138" class="Symbol">=</a> <a id="2140" href="Categories.Diagram.Cone.html#717" class="Field">arr</a> <a id="2144" href="Categories.Morphism.html#2023" class="Field">to</a>
<a id="2149" class="Symbol">;</a> <a id="2151" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="2156" class="Symbol">=</a> <a id="2158" class="Keyword">record</a>
<a id="2169" class="Symbol">{</a> <a id="2171" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="2176" class="Symbol">=</a> <a id="2178" href="Categories.Morphism.html#1586" class="Function">isoˡ</a>
<a id="2187" class="Symbol">;</a> <a id="2189" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="2194" class="Symbol">=</a> <a id="2196" href="Categories.Morphism.html#1612" class="Function">isoʳ</a>
<a id="2205" class="Symbol">}</a>
<a id="2209" class="Symbol">}</a>
<a id="2213" class="Keyword">where</a> <a id="2219" class="Keyword">open</a> <a id="2224" href="Categories.Category.Construction.Cones.html#1480" class="Module Operator">_⇔_</a> <a id="2228" href="Categories.Category.Construction.Cones.html#2095" class="Bound">K⇔K</a>
<a id="↮⇒-≃"></a><a id="2235" href="Categories.Category.Construction.Cones.html#2235" class="Function">↮⇒-≃</a> <a id="2240" class="Symbol">:</a> <a id="2242" class="Symbol"></a> <a id="2244" class="Symbol">{</a><a id="2245" href="Categories.Category.Construction.Cones.html#2245" class="Bound">i₁</a> <a id="2248" href="Categories.Category.Construction.Cones.html#2248" class="Bound">i₂</a> <a id="2251" class="Symbol">:</a> <a id="2253" href="Categories.Category.Construction.Cones.html#1368" class="Generalizable">K</a> <a id="2255" href="Categories.Category.Construction.Cones.html#1480" class="Record Operator"></a> <a id="2257" href="Categories.Category.Construction.Cones.html#1370" class="Generalizable">K</a><a id="2259" class="Symbol">}</a> <a id="2261" class="Symbol"></a> <a id="2263" href="Categories.Category.Construction.Cones.html#2245" class="Bound">i₁</a> <a id="2266" href="Categories.Category.Construction.Cones.html#1519" class="Record Operator"></a> <a id="2268" href="Categories.Category.Construction.Cones.html#2248" class="Bound">i₂</a> <a id="2271" class="Symbol"></a> <a id="2273" href="Categories.Category.Construction.Cones.html#2037" class="Function">iso-cone⇒iso-apex</a> <a id="2291" href="Categories.Category.Construction.Cones.html#2245" class="Bound">i₁</a> <a id="2294" href="Categories.Morphism.IsoEquiv.html#1761" class="Record Operator"></a> <a id="2296" href="Categories.Category.Construction.Cones.html#2037" class="Function">iso-cone⇒iso-apex</a> <a id="2314" href="Categories.Category.Construction.Cones.html#2248" class="Bound">i₂</a>
<a id="2317" href="Categories.Category.Construction.Cones.html#2235" class="Function">↮⇒-≃</a> <a id="2322" href="Categories.Category.Construction.Cones.html#2322" class="Bound">i₁↮i₂</a> <a id="2328" class="Symbol">=</a> <a id="2330" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator"></a> <a id="2332" href="Categories.Morphism.IsoEquiv.html#1830" class="Field">from-≈</a> <a id="2339" href="Categories.Morphism.IsoEquiv.html#1807" class="InductiveConstructor Operator"></a>
<a id="2343" class="Keyword">where</a> <a id="2349" class="Keyword">open</a> <a id="2354" href="Categories.Category.Construction.Cones.html#1519" class="Module Operator">_↮_</a> <a id="2358" href="Categories.Category.Construction.Cones.html#2322" class="Bound">i₁↮i₂</a>
</pre></body></html>