bsc-leon-vatthauer/agda/bsc-thesis/Categories.Morphism.Reasoning.Iso.html

186 lines
78 KiB
HTML
Raw Normal View History

2024-02-09 17:53:52 +01:00
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Categories.Morphism.Reasoning.Iso</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">{-
Various combinators for working with Isomorphisms in the
context of morphism equalities
both for Category (Switch) and IsGroupoid (GroupoidR)
-}</a>
<a id="224" class="Keyword">module</a> <a id="231" href="Categories.Morphism.Reasoning.Iso.html" class="Module">Categories.Morphism.Reasoning.Iso</a> <a id="265" class="Symbol">{</a><a id="266" href="Categories.Morphism.Reasoning.Iso.html#266" class="Bound">o</a> <a id="268" href="Categories.Morphism.Reasoning.Iso.html#268" class="Bound"></a> <a id="270" href="Categories.Morphism.Reasoning.Iso.html#270" class="Bound">e</a><a id="271" class="Symbol">}</a> <a id="273" class="Symbol">(</a><a id="274" href="Categories.Morphism.Reasoning.Iso.html#274" class="Bound">C</a> <a id="276" class="Symbol">:</a> <a id="278" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="287" href="Categories.Morphism.Reasoning.Iso.html#266" class="Bound">o</a> <a id="289" href="Categories.Morphism.Reasoning.Iso.html#268" class="Bound"></a> <a id="291" href="Categories.Morphism.Reasoning.Iso.html#270" class="Bound">e</a><a id="292" class="Symbol">)</a> <a id="294" class="Keyword">where</a>
<a id="301" class="Keyword">open</a> <a id="306" class="Keyword">import</a> <a id="313" href="Level.html" class="Module">Level</a>
<a id="319" class="Keyword">open</a> <a id="324" class="Keyword">import</a> <a id="331" href="Function.html" class="Module">Function</a> <a id="340" class="Keyword">renaming</a> <a id="349" class="Symbol">(</a><a id="350" href="Function.Base.html#704" class="Function">id</a> <a id="353" class="Symbol">to</a> <a id="356" class="Function">idᶠ</a><a id="359" class="Symbol">;</a> <a id="361" href="Function.Base.html#1115" class="Function Operator">_∘_</a> <a id="365" class="Symbol">to</a> <a id="368" class="Function Operator">_∙_</a><a id="371" class="Symbol">)</a>
<a id="374" class="Keyword">open</a> <a id="379" class="Keyword">import</a> <a id="386" href="Categories.Category.Groupoid.html" class="Module">Categories.Category.Groupoid</a> <a id="415" class="Keyword">using</a> <a id="421" class="Symbol">(</a><a id="422" href="Categories.Category.Groupoid.html#189" class="Record">IsGroupoid</a><a id="432" class="Symbol">)</a>
<a id="434" class="Keyword">open</a> <a id="439" class="Keyword">import</a> <a id="446" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="466" href="Categories.Morphism.Reasoning.Iso.html#274" class="Bound">C</a>
<a id="468" class="Keyword">open</a> <a id="473" class="Keyword">import</a> <a id="480" href="Categories.Morphism.Reasoning.Core.html" class="Module">Categories.Morphism.Reasoning.Core</a> <a id="515" href="Categories.Morphism.Reasoning.Iso.html#274" class="Bound">C</a>
<a id="518" class="Keyword">open</a> <a id="523" class="Keyword">import</a> <a id="530" href="Relation.Binary.html" class="Module">Relation.Binary</a> <a id="546" class="Keyword">hiding</a> <a id="553" class="Symbol">(</a><a id="554" href="Relation.Binary.Core.html#1268" class="Function Operator">_⇒_</a><a id="557" class="Symbol">)</a>
<a id="560" class="Keyword">open</a> <a id="565" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="574" href="Categories.Morphism.Reasoning.Iso.html#274" class="Bound">C</a>
<a id="576" class="Keyword">open</a> <a id="581" href="Categories.Category.html#824" class="Module">Definitions</a> <a id="593" href="Categories.Morphism.Reasoning.Iso.html#274" class="Bound">C</a>
<a id="595" class="Keyword">private</a>
<a id="605" class="Keyword">variable</a>
<a id="618" href="Categories.Morphism.Reasoning.Iso.html#618" class="Generalizable">A</a> <a id="620" href="Categories.Morphism.Reasoning.Iso.html#620" class="Generalizable">B</a> <a id="622" href="Categories.Morphism.Reasoning.Iso.html#622" class="Generalizable">X</a> <a id="624" href="Categories.Morphism.Reasoning.Iso.html#624" class="Generalizable">Y</a> <a id="626" class="Symbol">:</a> <a id="628" href="Categories.Category.Core.html#559" class="Field">Obj</a>
<a id="636" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="638" href="Categories.Morphism.Reasoning.Iso.html#638" class="Generalizable">g</a> <a id="640" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="642" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="644" class="Symbol">:</a> <a id="646" href="Categories.Morphism.Reasoning.Iso.html#622" class="Generalizable">X</a> <a id="648" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="650" href="Categories.Morphism.Reasoning.Iso.html#624" class="Generalizable">Y</a>
<a id="653" class="Keyword">open</a> <a id="658" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="672" class="Keyword">module</a> <a id="Switch"></a><a id="679" href="Categories.Morphism.Reasoning.Iso.html#679" class="Module">Switch</a> <a id="686" class="Symbol">(</a><a id="687" href="Categories.Morphism.Reasoning.Iso.html#687" class="Bound">i</a> <a id="689" class="Symbol">:</a> <a id="691" href="Categories.Morphism.Reasoning.Iso.html#622" class="Generalizable">X</a> <a id="693" href="Categories.Morphism.html#1958" class="Record Operator"></a> <a id="695" href="Categories.Morphism.Reasoning.Iso.html#624" class="Generalizable">Y</a><a id="696" class="Symbol">)</a> <a id="698" class="Keyword">where</a>
<a id="706" class="Keyword">open</a> <a id="711" href="Categories.Morphism.html#1958" class="Module Operator">_≅_</a> <a id="715" href="Categories.Morphism.Reasoning.Iso.html#687" class="Bound">i</a>
<a id="Switch.switch-fromtoˡ"></a><a id="720" href="Categories.Morphism.Reasoning.Iso.html#720" class="Function">switch-fromtoˡ</a> <a id="735" class="Symbol">:</a> <a id="737" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="742" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="744" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="746" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="748" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="750" class="Symbol"></a> <a id="752" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="754" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="756" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="759" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="761" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a>
<a id="765" href="Categories.Morphism.Reasoning.Iso.html#720" class="Function">switch-fromtoˡ</a> <a id="780" class="Symbol">{</a><a id="781" class="Argument">h</a> <a id="783" class="Symbol">=</a> <a id="785" href="Categories.Morphism.Reasoning.Iso.html#785" class="Bound">h</a><a id="786" class="Symbol">}</a> <a id="788" class="Symbol">{</a><a id="789" class="Argument">k</a> <a id="791" class="Symbol">=</a> <a id="793" href="Categories.Morphism.Reasoning.Iso.html#793" class="Bound">k</a><a id="794" class="Symbol">}</a> <a id="796" href="Categories.Morphism.Reasoning.Iso.html#796" class="Bound">pf</a> <a id="799" class="Symbol">=</a> <a id="801" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="811" href="Categories.Morphism.Reasoning.Iso.html#785" class="Bound">h</a> <a id="827" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="831" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="839" href="Categories.Morphism.html#1586" class="Function">isoˡ</a> <a id="844" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="850" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="853" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="855" class="Symbol">(</a><a id="856" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="861" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="863" href="Categories.Morphism.Reasoning.Iso.html#785" class="Bound">h</a><a id="864" class="Symbol">)</a> <a id="866" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="869" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="877" href="Categories.Morphism.Reasoning.Iso.html#796" class="Bound">pf</a> <a id="880" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="886" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="889" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="891" href="Categories.Morphism.Reasoning.Iso.html#793" class="Bound">k</a> <a id="902" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="Switch.switch-tofromˡ"></a><a id="907" href="Categories.Morphism.Reasoning.Iso.html#907" class="Function">switch-tofromˡ</a> <a id="922" class="Symbol">:</a> <a id="924" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="927" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="929" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="931" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="933" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="935" class="Symbol"></a> <a id="937" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="939" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="941" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="946" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="948" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a>
<a id="952" href="Categories.Morphism.Reasoning.Iso.html#907" class="Function">switch-tofromˡ</a> <a id="967" class="Symbol">{</a><a id="968" class="Argument">h</a> <a id="970" class="Symbol">=</a> <a id="972" href="Categories.Morphism.Reasoning.Iso.html#972" class="Bound">h</a><a id="973" class="Symbol">}</a> <a id="975" class="Symbol">{</a><a id="976" class="Argument">k</a> <a id="978" class="Symbol">=</a> <a id="980" href="Categories.Morphism.Reasoning.Iso.html#980" class="Bound">k</a><a id="981" class="Symbol">}</a> <a id="983" href="Categories.Morphism.Reasoning.Iso.html#983" class="Bound">pf</a> <a id="986" class="Symbol">=</a> <a id="988" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="998" href="Categories.Morphism.Reasoning.Iso.html#972" class="Bound">h</a> <a id="1014" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="1018" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="1026" href="Categories.Morphism.html#1612" class="Function">isoʳ</a> <a id="1031" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="1037" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1042" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1044" class="Symbol">(</a><a id="1045" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1048" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1050" href="Categories.Morphism.Reasoning.Iso.html#972" class="Bound">h</a><a id="1051" class="Symbol">)</a> <a id="1053" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1056" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="1064" href="Categories.Morphism.Reasoning.Iso.html#983" class="Bound">pf</a> <a id="1067" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="1073" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1078" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1080" href="Categories.Morphism.Reasoning.Iso.html#980" class="Bound">k</a> <a id="1089" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="Switch.switch-fromtoʳ"></a><a id="1094" href="Categories.Morphism.Reasoning.Iso.html#1094" class="Function">switch-fromtoʳ</a> <a id="1109" class="Symbol">:</a> <a id="1111" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="1113" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1115" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1120" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1122" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="1124" class="Symbol"></a> <a id="1126" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="1128" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1130" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="1132" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1134" href="Categories.Morphism.html#2023" class="Field">to</a>
<a id="1139" href="Categories.Morphism.Reasoning.Iso.html#1094" class="Function">switch-fromtoʳ</a> <a id="1154" class="Symbol">{</a><a id="1155" class="Argument">h</a> <a id="1157" class="Symbol">=</a> <a id="1159" href="Categories.Morphism.Reasoning.Iso.html#1159" class="Bound">h</a><a id="1160" class="Symbol">}</a> <a id="1162" class="Symbol">{</a><a id="1163" class="Argument">k</a> <a id="1165" class="Symbol">=</a> <a id="1167" href="Categories.Morphism.Reasoning.Iso.html#1167" class="Bound">k</a><a id="1168" class="Symbol">}</a> <a id="1170" href="Categories.Morphism.Reasoning.Iso.html#1170" class="Bound">pf</a> <a id="1173" class="Symbol">=</a> <a id="1175" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="1185" href="Categories.Morphism.Reasoning.Iso.html#1159" class="Bound">h</a> <a id="1201" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="1205" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="1213" href="Categories.Morphism.html#1612" class="Function">isoʳ</a> <a id="1218" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="1224" class="Symbol">(</a><a id="1225" href="Categories.Morphism.Reasoning.Iso.html#1159" class="Bound">h</a> <a id="1227" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1229" href="Categories.Morphism.html#2006" class="Field">from</a><a id="1233" class="Symbol">)</a> <a id="1235" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1237" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1240" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1243" href="Categories.Morphism.Reasoning.Iso.html#1170" class="Bound">pf</a> <a id="1246" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="1254" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="1260" href="Categories.Morphism.Reasoning.Iso.html#1167" class="Bound">k</a> <a id="1262" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1264" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1276" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="Switch.switch-tofromʳ"></a><a id="1281" href="Categories.Morphism.Reasoning.Iso.html#1281" class="Function">switch-tofromʳ</a> <a id="1296" class="Symbol">:</a> <a id="1298" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="1300" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1302" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1305" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1307" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="1309" class="Symbol"></a> <a id="1311" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="1313" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1315" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="1317" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1319" href="Categories.Morphism.html#2006" class="Field">from</a>
<a id="1326" href="Categories.Morphism.Reasoning.Iso.html#1281" class="Function">switch-tofromʳ</a> <a id="1341" class="Symbol">{</a><a id="1342" class="Argument">h</a> <a id="1344" class="Symbol">=</a> <a id="1346" href="Categories.Morphism.Reasoning.Iso.html#1346" class="Bound">h</a><a id="1347" class="Symbol">}</a> <a id="1349" class="Symbol">{</a><a id="1350" class="Argument">k</a> <a id="1352" class="Symbol">=</a> <a id="1354" href="Categories.Morphism.Reasoning.Iso.html#1354" class="Bound">k</a><a id="1355" class="Symbol">}</a> <a id="1357" href="Categories.Morphism.Reasoning.Iso.html#1357" class="Bound">pf</a> <a id="1360" class="Symbol">=</a> <a id="1362" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="1372" href="Categories.Morphism.Reasoning.Iso.html#1346" class="Bound">h</a> <a id="1388" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="1392" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="1400" href="Categories.Morphism.html#1586" class="Function">isoˡ</a> <a id="1405" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="1411" class="Symbol">(</a><a id="1412" href="Categories.Morphism.Reasoning.Iso.html#1346" class="Bound">h</a> <a id="1414" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1416" href="Categories.Morphism.html#2023" class="Field">to</a><a id="1418" class="Symbol">)</a> <a id="1420" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1422" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1427" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1430" href="Categories.Morphism.Reasoning.Iso.html#1357" class="Bound">pf</a> <a id="1433" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="1441" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="1447" href="Categories.Morphism.Reasoning.Iso.html#1354" class="Bound">k</a> <a id="1449" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1451" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1463" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="Switch.cancel-fromʳ"></a><a id="1468" href="Categories.Morphism.Reasoning.Iso.html#1468" class="Function">cancel-fromʳ</a> <a id="1481" class="Symbol">:</a> <a id="1483" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="1485" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1487" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1492" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1494" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="1496" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1498" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1503" class="Symbol"></a> <a id="1505" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="1507" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1509" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a>
<a id="1513" href="Categories.Morphism.Reasoning.Iso.html#1468" class="Function">cancel-fromʳ</a> <a id="1526" class="Symbol">{</a><a id="1527" class="Argument">h</a> <a id="1529" class="Symbol">=</a> <a id="1531" href="Categories.Morphism.Reasoning.Iso.html#1531" class="Bound">h</a><a id="1532" class="Symbol">}</a> <a id="1534" class="Symbol">{</a><a id="1535" class="Argument">k</a> <a id="1537" class="Symbol">=</a> <a id="1539" href="Categories.Morphism.Reasoning.Iso.html#1539" class="Bound">k</a><a id="1540" class="Symbol">}</a> <a id="1542" href="Categories.Morphism.Reasoning.Iso.html#1542" class="Bound">pf</a> <a id="1545" class="Symbol">=</a> <a id="1547" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="1557" href="Categories.Morphism.Reasoning.Iso.html#1531" class="Bound">h</a> <a id="1573" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="1577" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="1585" href="Categories.Morphism.html#1612" class="Function">isoʳ</a> <a id="1590" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="1596" class="Symbol">(</a><a id="1597" href="Categories.Morphism.Reasoning.Iso.html#1531" class="Bound">h</a> <a id="1599" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1601" href="Categories.Morphism.html#2006" class="Field">from</a><a id="1605" class="Symbol">)</a> <a id="1607" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1609" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1612" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1615" href="Categories.Morphism.Reasoning.Iso.html#1542" class="Bound">pf</a> <a id="1618" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="1626" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="1632" class="Symbol">(</a><a id="1633" href="Categories.Morphism.Reasoning.Iso.html#1539" class="Bound">k</a> <a id="1635" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1637" href="Categories.Morphism.html#2006" class="Field">from</a><a id="1641" class="Symbol">)</a> <a id="1643" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1645" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1648" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1651" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="1659" href="Categories.Morphism.html#1612" class="Function">isoʳ</a> <a id="1664" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="1670" href="Categories.Morphism.Reasoning.Iso.html#1539" class="Bound">k</a> <a id="1686" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="Switch.cancel-fromˡ"></a><a id="1691" href="Categories.Morphism.Reasoning.Iso.html#1691" class="Function">cancel-fromˡ</a> <a id="1704" class="Symbol">:</a> <a id="1706" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1711" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1713" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="1715" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1717" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1722" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1724" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="1726" class="Symbol"></a> <a id="1728" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="1730" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1732" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a>
<a id="1736" href="Categories.Morphism.Reasoning.Iso.html#1691" class="Function">cancel-fromˡ</a> <a id="1749" class="Symbol">{</a><a id="1750" class="Argument">h</a> <a id="1752" class="Symbol">=</a> <a id="1754" href="Categories.Morphism.Reasoning.Iso.html#1754" class="Bound">h</a><a id="1755" class="Symbol">}</a> <a id="1757" class="Symbol">{</a><a id="1758" class="Argument">k</a> <a id="1760" class="Symbol">=</a> <a id="1762" href="Categories.Morphism.Reasoning.Iso.html#1762" class="Bound">k</a><a id="1763" class="Symbol">}</a> <a id="1765" href="Categories.Morphism.Reasoning.Iso.html#1765" class="Bound">pf</a> <a id="1768" class="Symbol">=</a> <a id="1770" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="1780" href="Categories.Morphism.Reasoning.Iso.html#1754" class="Bound">h</a> <a id="1796" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="1800" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="1808" href="Categories.Morphism.html#1586" class="Function">isoˡ</a> <a id="1813" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="1819" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1822" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1824" class="Symbol">(</a><a id="1825" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1830" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1832" href="Categories.Morphism.Reasoning.Iso.html#1754" class="Bound">h</a><a id="1833" class="Symbol">)</a> <a id="1835" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1838" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="1846" href="Categories.Morphism.Reasoning.Iso.html#1765" class="Bound">pf</a> <a id="1849" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="1855" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1858" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1860" class="Symbol">(</a><a id="1861" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1866" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1868" href="Categories.Morphism.Reasoning.Iso.html#1762" class="Bound">k</a><a id="1869" class="Symbol">)</a> <a id="1871" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1874" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="1882" href="Categories.Morphism.html#1586" class="Function">isoˡ</a> <a id="1887" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="1893" href="Categories.Morphism.Reasoning.Iso.html#1762" class="Bound">k</a> <a id="1909" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="Switch.cancel-toʳ"></a><a id="1914" href="Categories.Morphism.Reasoning.Iso.html#1914" class="Function">cancel-toʳ</a> <a id="1925" class="Symbol">:</a> <a id="1927" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="1929" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1931" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1934" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1936" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="1938" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1940" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="1943" class="Symbol"></a> <a id="1945" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="1947" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1949" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a>
<a id="1953" href="Categories.Morphism.Reasoning.Iso.html#1914" class="Function">cancel-toʳ</a> <a id="1964" class="Symbol">{</a><a id="1965" class="Argument">h</a> <a id="1967" class="Symbol">=</a> <a id="1969" href="Categories.Morphism.Reasoning.Iso.html#1969" class="Bound">h</a><a id="1970" class="Symbol">}</a> <a id="1972" class="Symbol">{</a><a id="1973" class="Argument">k</a> <a id="1975" class="Symbol">=</a> <a id="1977" href="Categories.Morphism.Reasoning.Iso.html#1977" class="Bound">k</a><a id="1978" class="Symbol">}</a> <a id="1980" href="Categories.Morphism.Reasoning.Iso.html#1980" class="Bound">pf</a> <a id="1983" class="Symbol">=</a> <a id="1985" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="1995" href="Categories.Morphism.Reasoning.Iso.html#1969" class="Bound">h</a> <a id="2011" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="2015" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="2023" href="Categories.Morphism.html#1586" class="Function">isoˡ</a> <a id="2028" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="2034" class="Symbol">(</a><a id="2035" href="Categories.Morphism.Reasoning.Iso.html#1969" class="Bound">h</a> <a id="2037" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2039" href="Categories.Morphism.html#2023" class="Field">to</a><a id="2041" class="Symbol">)</a> <a id="2043" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2045" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2050" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2053" href="Categories.Morphism.Reasoning.Iso.html#1980" class="Bound">pf</a> <a id="2056" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="2064" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2070" class="Symbol">(</a><a id="2071" href="Categories.Morphism.Reasoning.Iso.html#1977" class="Bound">k</a> <a id="2073" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2075" href="Categories.Morphism.html#2023" class="Field">to</a><a id="2077" class="Symbol">)</a> <a id="2079" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2081" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2086" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2089" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="2097" href="Categories.Morphism.html#1586" class="Function">isoˡ</a> <a id="2102" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2108" href="Categories.Morphism.Reasoning.Iso.html#1977" class="Bound">k</a> <a id="2124" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="Switch.cancel-toˡ"></a><a id="2129" href="Categories.Morphism.Reasoning.Iso.html#2129" class="Function">cancel-toˡ</a> <a id="2140" class="Symbol">:</a> <a id="2142" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2145" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2147" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="2149" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="2151" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2154" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2156" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="2158" class="Symbol"></a> <a id="2160" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="2162" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="2164" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a>
<a id="2168" href="Categories.Morphism.Reasoning.Iso.html#2129" class="Function">cancel-toˡ</a> <a id="2179" class="Symbol">{</a><a id="2180" class="Argument">h</a> <a id="2182" class="Symbol">=</a> <a id="2184" href="Categories.Morphism.Reasoning.Iso.html#2184" class="Bound">h</a><a id="2185" class="Symbol">}</a> <a id="2187" class="Symbol">{</a><a id="2188" class="Argument">k</a> <a id="2190" class="Symbol">=</a> <a id="2192" href="Categories.Morphism.Reasoning.Iso.html#2192" class="Bound">k</a><a id="2193" class="Symbol">}</a> <a id="2195" href="Categories.Morphism.Reasoning.Iso.html#2195" class="Bound">pf</a> <a id="2198" class="Symbol">=</a> <a id="2200" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="2210" href="Categories.Morphism.Reasoning.Iso.html#2184" class="Bound">h</a> <a id="2226" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="2230" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="2238" href="Categories.Morphism.html#1612" class="Function">isoʳ</a> <a id="2243" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="2249" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2254" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2256" class="Symbol">(</a><a id="2257" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2260" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2262" href="Categories.Morphism.Reasoning.Iso.html#2184" class="Bound">h</a><a id="2263" class="Symbol">)</a> <a id="2265" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2268" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="2276" href="Categories.Morphism.Reasoning.Iso.html#2195" class="Bound">pf</a> <a id="2279" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2285" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2290" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2292" class="Symbol">(</a><a id="2293" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2296" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2298" href="Categories.Morphism.Reasoning.Iso.html#2192" class="Bound">k</a><a id="2299" class="Symbol">)</a> <a id="2301" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2304" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="2312" href="Categories.Morphism.html#1612" class="Function">isoʳ</a> <a id="2317" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2323" href="Categories.Morphism.Reasoning.Iso.html#2192" class="Bound">k</a> <a id="2339" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="Switch.flip-fromˡ"></a><a id="2344" href="Categories.Morphism.Reasoning.Iso.html#2344" class="Function">flip-fromˡ</a> <a id="2355" class="Symbol">:</a> <a id="2357" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2362" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2364" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="2366" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="2368" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2371" class="Symbol"></a> <a id="2373" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="2375" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="2377" href="Categories.Morphism.html#2023" class="Field">to</a>
<a id="2382" href="Categories.Morphism.Reasoning.Iso.html#2344" class="Function">flip-fromˡ</a> <a id="2393" class="Symbol">{</a><a id="2394" href="Categories.Morphism.Reasoning.Iso.html#2394" class="Bound">h</a><a id="2395" class="Symbol">}</a> <a id="2397" href="Categories.Morphism.Reasoning.Iso.html#2397" class="Bound">eq</a> <a id="2400" class="Symbol">=</a> <a id="2402" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="2412" href="Categories.Morphism.Reasoning.Iso.html#2394" class="Bound">h</a> <a id="2428" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2431" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a> <a id="2438" href="Categories.Morphism.html#1586" class="Function">isoˡ</a> <a id="2443" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2449" class="Symbol">(</a><a id="2450" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2453" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2455" href="Categories.Morphism.html#2006" class="Field">from</a><a id="2459" class="Symbol">)</a> <a id="2461" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2463" href="Categories.Morphism.Reasoning.Iso.html#2394" class="Bound">h</a> <a id="2465" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2468" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="2476" href="Categories.Morphism.Reasoning.Iso.html#2397" class="Bound">eq</a> <a id="2479" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2485" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2501" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="Switch.flip-fromʳ"></a><a id="2506" href="Categories.Morphism.Reasoning.Iso.html#2506" class="Function">flip-fromʳ</a> <a id="2517" class="Symbol">:</a> <a id="2519" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="2521" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2523" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2528" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="2530" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2533" class="Symbol"></a> <a id="2535" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="2537" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="2539" href="Categories.Morphism.html#2023" class="Field">to</a>
<a id="2544" href="Categories.Morphism.Reasoning.Iso.html#2506" class="Function">flip-fromʳ</a> <a id="2555" class="Symbol">{</a><a id="2556" href="Categories.Morphism.Reasoning.Iso.html#2556" class="Bound">h</a><a id="2557" class="Symbol">}</a> <a id="2559" href="Categories.Morphism.Reasoning.Iso.html#2559" class="Bound">eq</a> <a id="2562" class="Symbol">=</a> <a id="2564" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="2574" href="Categories.Morphism.Reasoning.Iso.html#2556" class="Bound">h</a> <a id="2588" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2591" href="Categories.Morphism.Reasoning.Core.html#2899" class="Function">introʳ</a> <a id="2598" href="Categories.Morphism.html#1612" class="Function">isoʳ</a> <a id="2603" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2609" href="Categories.Morphism.Reasoning.Iso.html#2556" class="Bound">h</a> <a id="2611" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2613" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2618" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2620" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2623" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2626" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="2634" href="Categories.Morphism.Reasoning.Iso.html#2559" class="Bound">eq</a> <a id="2637" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2643" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2657" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="Switch.flip-toˡ"></a><a id="2662" href="Categories.Morphism.Reasoning.Iso.html#2662" class="Function">flip-toˡ</a> <a id="2671" class="Symbol">:</a> <a id="2673" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2676" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2678" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="2680" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="2682" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2685" class="Symbol"></a> <a id="2687" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="2689" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="2691" href="Categories.Morphism.html#2006" class="Field">from</a>
<a id="2698" href="Categories.Morphism.Reasoning.Iso.html#2662" class="Function">flip-toˡ</a> <a id="2707" class="Symbol">{</a><a id="2708" href="Categories.Morphism.Reasoning.Iso.html#2708" class="Bound">h</a><a id="2709" class="Symbol">}</a> <a id="2711" href="Categories.Morphism.Reasoning.Iso.html#2711" class="Bound">eq</a> <a id="2714" class="Symbol">=</a> <a id="2716" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="2726" href="Categories.Morphism.Reasoning.Iso.html#2708" class="Bound">h</a> <a id="2742" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2745" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a> <a id="2752" href="Categories.Morphism.html#1612" class="Function">isoʳ</a> <a id="2757" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2763" class="Symbol">(</a><a id="2764" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2769" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2771" href="Categories.Morphism.html#2023" class="Field">to</a><a id="2773" class="Symbol">)</a> <a id="2775" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2777" href="Categories.Morphism.Reasoning.Iso.html#2708" class="Bound">h</a> <a id="2779" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2782" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="2790" href="Categories.Morphism.Reasoning.Iso.html#2711" class="Bound">eq</a> <a id="2793" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2799" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2815" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="Switch.flip-toʳ"></a><a id="2820" href="Categories.Morphism.Reasoning.Iso.html#2820" class="Function">flip-toʳ</a> <a id="2829" class="Symbol">:</a> <a id="2831" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="2833" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2835" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2838" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="2840" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2843" class="Symbol"></a> <a id="2845" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="2847" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="2849" href="Categories.Morphism.html#2006" class="Field">from</a>
<a id="2856" href="Categories.Morphism.Reasoning.Iso.html#2820" class="Function">flip-toʳ</a> <a id="2865" class="Symbol">{</a><a id="2866" href="Categories.Morphism.Reasoning.Iso.html#2866" class="Bound">h</a><a id="2867" class="Symbol">}</a> <a id="2869" href="Categories.Morphism.Reasoning.Iso.html#2869" class="Bound">eq</a> <a id="2872" class="Symbol">=</a> <a id="2874" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="2884" href="Categories.Morphism.Reasoning.Iso.html#2866" class="Bound">h</a> <a id="2898" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2901" href="Categories.Morphism.Reasoning.Core.html#2899" class="Function">introʳ</a> <a id="2908" href="Categories.Morphism.html#1586" class="Function">isoˡ</a> <a id="2913" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2919" href="Categories.Morphism.Reasoning.Iso.html#2866" class="Bound">h</a> <a id="2921" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2923" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2926" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2928" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2933" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2936" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="2944" href="Categories.Morphism.Reasoning.Iso.html#2869" class="Bound">eq</a> <a id="2947" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="2953" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2967" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="2972" class="Comment">-- We can flip an iso i in a commuting triangle, like so:</a>
<a id="3032" class="Comment">--</a>
<a id="3037" class="Comment">-- i i⁻¹</a>
<a id="3079" class="Comment">-- X --------&gt; Y X &lt;-------- Y</a>
<a id="3126" class="Comment">-- \ ≃ / \ ≃ /</a>
<a id="3172" class="Comment">-- \ / \ /</a>
<a id="3217" class="Comment">-- g \ / h ===&gt; g \ / h</a>
<a id="3263" class="Comment">-- \ / \ /</a>
<a id="3306" class="Comment">-- V V V V</a>
<a id="3348" class="Comment">-- A A</a>
<a id="3389" class="Comment">--</a>
<a id="Switch.flip-iso"></a><a id="3394" href="Categories.Morphism.Reasoning.Iso.html#3394" class="Function">flip-iso</a> <a id="3403" class="Symbol">:</a> <a id="3405" class="Symbol">{</a><a id="3406" href="Categories.Morphism.Reasoning.Iso.html#3406" class="Bound">g</a> <a id="3408" class="Symbol">:</a> <a id="3410" href="Categories.Morphism.Reasoning.Iso.html#691" class="Bound">X</a> <a id="3412" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="3414" href="Categories.Morphism.Reasoning.Iso.html#618" class="Generalizable">A</a><a id="3415" class="Symbol">}</a> <a id="3417" class="Symbol">{</a><a id="3418" href="Categories.Morphism.Reasoning.Iso.html#3418" class="Bound">h</a> <a id="3420" class="Symbol">:</a> <a id="3422" href="Categories.Morphism.Reasoning.Iso.html#695" class="Bound">Y</a> <a id="3424" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="3426" href="Categories.Morphism.Reasoning.Iso.html#618" class="Generalizable">A</a><a id="3427" class="Symbol">}</a> <a id="3429" class="Symbol"></a> <a id="3431" href="Categories.Morphism.Reasoning.Iso.html#3406" class="Bound">g</a> <a id="3433" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="3435" href="Categories.Morphism.Reasoning.Iso.html#3418" class="Bound">h</a> <a id="3437" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="3439" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="3444" class="Symbol"></a> <a id="3446" href="Categories.Morphism.Reasoning.Iso.html#3406" class="Bound">g</a> <a id="3448" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="3450" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="3453" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="3455" href="Categories.Morphism.Reasoning.Iso.html#3418" class="Bound">h</a>
<a id="3459" href="Categories.Morphism.Reasoning.Iso.html#3394" class="Function">flip-iso</a> <a id="3468" href="Categories.Morphism.Reasoning.Iso.html#3468" class="Bound">tr₁</a> <a id="3472" class="Symbol">=</a> <a id="3474" href="Relation.Binary.Structures.html#1622" class="Function">Equiv.sym</a> <a id="3484" class="Symbol">(</a><a id="3485" href="Categories.Morphism.Reasoning.Iso.html#1094" class="Function">switch-fromtoʳ</a> <a id="3500" class="Symbol">(</a><a id="3501" href="Relation.Binary.Structures.html#1622" class="Function">Equiv.sym</a> <a id="3511" href="Categories.Morphism.Reasoning.Iso.html#3468" class="Bound">tr₁</a><a id="3514" class="Symbol">))</a>
<a id="3520" class="Comment">-- Consider two commuting squares</a>
<a id="3556" class="Comment">--</a>
<a id="3561" class="Comment">-- f₁ f₂</a>
<a id="3601" class="Comment">-- X -------&gt; A X -------&gt; A</a>
<a id="3646" class="Comment">-- | | | |</a>
<a id="3691" class="Comment">-- | | | |</a>
<a id="3736" class="Comment">-- ≃ | i | h ≃ | i | h</a>
<a id="3783" class="Comment">-- | | | |</a>
<a id="3828" class="Comment">-- V V V V</a>
<a id="3873" class="Comment">-- Y -------&gt; B Y -------&gt; B</a>
<a id="3918" class="Comment">-- g₁ g₂</a>
<a id="3958" class="Comment">--</a>
<a id="3963" class="Comment">-- with i an isomorphism. Then g₁ ≈ g₂ if f₁ ≈ f₂.</a>
<a id="Switch.push-eq"></a><a id="4018" href="Categories.Morphism.Reasoning.Iso.html#4018" class="Function">push-eq</a> <a id="4026" class="Symbol">:</a> <a id="4028" class="Symbol">{</a><a id="4029" href="Categories.Morphism.Reasoning.Iso.html#4029" class="Bound">f₁</a> <a id="4032" href="Categories.Morphism.Reasoning.Iso.html#4032" class="Bound">f₂</a> <a id="4035" class="Symbol">:</a> <a id="4037" href="Categories.Morphism.Reasoning.Iso.html#691" class="Bound">X</a> <a id="4039" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="4041" href="Categories.Morphism.Reasoning.Iso.html#618" class="Generalizable">A</a><a id="4042" class="Symbol">}</a> <a id="4044" class="Symbol">{</a><a id="4045" href="Categories.Morphism.Reasoning.Iso.html#4045" class="Bound">g₁</a> <a id="4048" href="Categories.Morphism.Reasoning.Iso.html#4048" class="Bound">g₂</a> <a id="4051" class="Symbol">:</a> <a id="4053" href="Categories.Morphism.Reasoning.Iso.html#695" class="Bound">Y</a> <a id="4055" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="4057" href="Categories.Morphism.Reasoning.Iso.html#620" class="Generalizable">B</a><a id="4058" class="Symbol">}</a> <a id="4060" class="Symbol">{</a><a id="4061" href="Categories.Morphism.Reasoning.Iso.html#4061" class="Bound">h</a> <a id="4063" class="Symbol">:</a> <a id="4065" href="Categories.Morphism.Reasoning.Iso.html#618" class="Generalizable">A</a> <a id="4067" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="4069" href="Categories.Morphism.Reasoning.Iso.html#620" class="Generalizable">B</a><a id="4070" class="Symbol">}</a> <a id="4072" class="Symbol"></a>
<a id="4086" href="Categories.Category.html#884" class="Function">CommutativeSquare</a> <a id="4104" href="Categories.Morphism.Reasoning.Iso.html#4029" class="Bound">f₁</a> <a id="4107" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="4112" href="Categories.Morphism.Reasoning.Iso.html#4061" class="Bound">h</a> <a id="4114" href="Categories.Morphism.Reasoning.Iso.html#4045" class="Bound">g₁</a> <a id="4117" class="Symbol"></a>
<a id="4131" href="Categories.Category.html#884" class="Function">CommutativeSquare</a> <a id="4149" href="Categories.Morphism.Reasoning.Iso.html#4032" class="Bound">f₂</a> <a id="4152" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="4157" href="Categories.Morphism.Reasoning.Iso.html#4061" class="Bound">h</a> <a id="4159" href="Categories.Morphism.Reasoning.Iso.html#4048" class="Bound">g₂</a> <a id="4162" class="Symbol"></a>
<a id="4176" href="Categories.Morphism.Reasoning.Iso.html#4029" class="Bound">f₁</a> <a id="4179" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="4181" href="Categories.Morphism.Reasoning.Iso.html#4032" class="Bound">f₂</a> <a id="4184" class="Symbol"></a> <a id="4186" href="Categories.Morphism.Reasoning.Iso.html#4045" class="Bound">g₁</a> <a id="4189" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="4191" href="Categories.Morphism.Reasoning.Iso.html#4048" class="Bound">g₂</a>
<a id="4196" href="Categories.Morphism.Reasoning.Iso.html#4018" class="Function">push-eq</a> <a id="4204" class="Symbol">{</a><a id="4205" class="Argument">f₁</a> <a id="4208" class="Symbol">=</a> <a id="4210" href="Categories.Morphism.Reasoning.Iso.html#4210" class="Bound">f₁</a><a id="4212" class="Symbol">}</a> <a id="4214" class="Symbol">{</a><a id="4215" href="Categories.Morphism.Reasoning.Iso.html#4215" class="Bound">f₂</a><a id="4217" class="Symbol">}</a> <a id="4219" class="Symbol">{</a><a id="4220" href="Categories.Morphism.Reasoning.Iso.html#4220" class="Bound">g₁</a><a id="4222" class="Symbol">}</a> <a id="4224" class="Symbol">{</a><a id="4225" href="Categories.Morphism.Reasoning.Iso.html#4225" class="Bound">g₂</a><a id="4227" class="Symbol">}</a> <a id="4229" class="Symbol">{</a><a id="4230" href="Categories.Morphism.Reasoning.Iso.html#4230" class="Bound">h₂</a><a id="4232" class="Symbol">}</a> <a id="4234" href="Categories.Morphism.Reasoning.Iso.html#4234" class="Bound">sq₁</a> <a id="4238" href="Categories.Morphism.Reasoning.Iso.html#4238" class="Bound">sq₂</a> <a id="4242" href="Categories.Morphism.Reasoning.Iso.html#4242" class="Bound">hyp</a> <a id="4246" class="Symbol">=</a> <a id="4248" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="4258" href="Categories.Morphism.Reasoning.Iso.html#4220" class="Bound">g₁</a> <a id="4275" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="4279" href="Categories.Morphism.Reasoning.Iso.html#3394" class="Function">flip-iso</a> <a id="4288" href="Categories.Morphism.Reasoning.Iso.html#4234" class="Bound">sq₁</a> <a id="4292" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function"></a>
<a id="4298" class="Symbol">(</a><a id="4299" href="Categories.Morphism.Reasoning.Iso.html#4230" class="Bound">h₂</a> <a id="4302" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4304" href="Categories.Morphism.Reasoning.Iso.html#4210" class="Bound">f₁</a><a id="4306" class="Symbol">)</a> <a id="4308" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4310" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="4315" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4318" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="4328" class="Symbol">(</a><a id="4329" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="4339" href="Categories.Morphism.Reasoning.Iso.html#4242" class="Bound">hyp</a><a id="4342" class="Symbol">)</a> <a id="4344" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4350" class="Symbol">(</a><a id="4351" href="Categories.Morphism.Reasoning.Iso.html#4230" class="Bound">h₂</a> <a id="4354" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4356" href="Categories.Morphism.Reasoning.Iso.html#4215" class="Bound">f₂</a><a id="4358" class="Symbol">)</a> <a id="4360" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4362" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="4367" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4370" href="Categories.Morphism.Reasoning.Iso.html#3394" class="Function">flip-iso</a> <a id="4379" href="Categories.Morphism.Reasoning.Iso.html#4238" class="Bound">sq₂</a> <a id="4383" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4389" href="Categories.Morphism.Reasoning.Iso.html#4225" class="Bound">g₂</a> <a id="4406" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="4409" class="Keyword">open</a> <a id="4414" href="Categories.Morphism.Reasoning.Iso.html#679" class="Module">Switch</a> <a id="4421" class="Keyword">public</a>
<a id="4429" class="Comment">-- conjugates</a>
<a id="4443" class="Keyword">module</a> <a id="4450" href="Categories.Morphism.Reasoning.Iso.html#4450" class="Module">_</a> <a id="4452" class="Symbol">(</a><a id="4453" href="Categories.Morphism.Reasoning.Iso.html#4453" class="Bound">i</a> <a id="4455" class="Symbol">:</a> <a id="4457" href="Categories.Morphism.Reasoning.Iso.html#618" class="Generalizable">A</a> <a id="4459" href="Categories.Morphism.html#1958" class="Record Operator"></a> <a id="4461" href="Categories.Morphism.Reasoning.Iso.html#620" class="Generalizable">B</a><a id="4462" class="Symbol">)</a> <a id="4464" class="Symbol">(</a><a id="4465" href="Categories.Morphism.Reasoning.Iso.html#4465" class="Bound">j</a> <a id="4467" class="Symbol">:</a> <a id="4469" href="Categories.Morphism.Reasoning.Iso.html#622" class="Generalizable">X</a> <a id="4471" href="Categories.Morphism.html#1958" class="Record Operator"></a> <a id="4473" href="Categories.Morphism.Reasoning.Iso.html#624" class="Generalizable">Y</a><a id="4474" class="Symbol">)</a> <a id="4476" class="Keyword">where</a>
<a id="4484" class="Keyword">private</a>
<a id="4496" class="Keyword">module</a> <a id="4503" href="Categories.Morphism.Reasoning.Iso.html#4503" class="Module">i</a> <a id="4505" class="Symbol">=</a> <a id="4507" href="Categories.Morphism.html#1958" class="Module Operator">_≅_</a> <a id="4511" href="Categories.Morphism.Reasoning.Iso.html#4453" class="Bound">i</a>
<a id="4517" class="Keyword">module</a> <a id="4524" href="Categories.Morphism.Reasoning.Iso.html#4524" class="Module">j</a> <a id="4526" class="Symbol">=</a> <a id="4528" href="Categories.Morphism.html#1958" class="Module Operator">_≅_</a> <a id="4532" href="Categories.Morphism.Reasoning.Iso.html#4465" class="Bound">j</a>
<a id="4537" href="Categories.Morphism.Reasoning.Iso.html#4537" class="Function">conjugate-from</a> <a id="4552" class="Symbol">:</a> <a id="4554" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="4556" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4558" href="Categories.Morphism.html#2006" class="Function">i.from</a> <a id="4565" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="4567" href="Categories.Morphism.html#2006" class="Field">j.from</a> <a id="4574" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4576" href="Categories.Morphism.Reasoning.Iso.html#638" class="Generalizable">g</a> <a id="4578" class="Symbol"></a> <a id="4580" href="Categories.Morphism.html#2023" class="Field">j.to</a> <a id="4585" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4587" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="4589" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="4591" href="Categories.Morphism.Reasoning.Iso.html#638" class="Generalizable">g</a> <a id="4593" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4595" href="Categories.Morphism.html#2023" class="Function">i.to</a>
<a id="4602" href="Categories.Morphism.Reasoning.Iso.html#4537" class="Function">conjugate-from</a> <a id="4617" class="Symbol">{</a><a id="4618" class="Argument">f</a> <a id="4620" class="Symbol">=</a> <a id="4622" href="Categories.Morphism.Reasoning.Iso.html#4622" class="Bound">f</a><a id="4623" class="Symbol">}</a> <a id="4625" class="Symbol">{</a><a id="4626" class="Argument">g</a> <a id="4628" class="Symbol">=</a> <a id="4630" href="Categories.Morphism.Reasoning.Iso.html#4630" class="Bound">g</a><a id="4631" class="Symbol">}</a> <a id="4633" href="Categories.Morphism.Reasoning.Iso.html#4633" class="Bound">eq</a> <a id="4636" class="Symbol">=</a> <a id="4638" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="4648" href="Categories.Morphism.html#2023" class="Field">j.to</a> <a id="4653" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4655" href="Categories.Morphism.Reasoning.Iso.html#4622" class="Bound">f</a> <a id="4675" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4678" href="Categories.Morphism.Reasoning.Core.html#2899" class="Function">introʳ</a> <a id="4685" href="Categories.Morphism.html#1612" class="Function">i.isoʳ</a> <a id="4692" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4698" class="Symbol">(</a><a id="4699" href="Categories.Morphism.html#2023" class="Field">j.to</a> <a id="4704" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4706" href="Categories.Morphism.Reasoning.Iso.html#4622" class="Bound">f</a><a id="4707" class="Symbol">)</a> <a id="4709" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4711" href="Categories.Morphism.html#2006" class="Function">i.from</a> <a id="4718" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4720" href="Categories.Morphism.html#2023" class="Function">i.to</a> <a id="4725" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4728" href="Categories.Morphism.Reasoning.Core.html#7259" class="Function">center</a> <a id="4735" href="Categories.Morphism.Reasoning.Iso.html#4633" class="Bound">eq</a> <a id="4738" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4744" href="Categories.Morphism.html#2023" class="Field">j.to</a> <a id="4749" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4751" class="Symbol">(</a><a id="4752" href="Categories.Morphism.html#2006" class="Field">j.from</a> <a id="4759" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4761" href="Categories.Morphism.Reasoning.Iso.html#4630" class="Bound">g</a><a id="4762" class="Symbol">)</a> <a id="4764" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4766" href="Categories.Morphism.html#2023" class="Function">i.to</a> <a id="4771" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4774" href="Categories.Morphism.Reasoning.Core.html#7391" class="Function">center⁻¹</a> <a id="4783" href="Categories.Morphism.html#1586" class="Function">j.isoˡ</a> <a id="4790" href="Relation.Binary.Structures.html#1596" class="Function">Equiv.refl</a> <a id="4801" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4807" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4810" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4812" href="Categories.Morphism.Reasoning.Iso.html#4630" class="Bound">g</a> <a id="4814" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4816" href="Categories.Morphism.html#2023" class="Function">i.to</a> <a id="4834" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4837" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="4847" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="4853" href="Categories.Morphism.Reasoning.Iso.html#4630" class="Bound">g</a> <a id="4855" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4857" href="Categories.Morphism.html#2023" class="Function">i.to</a> <a id="4880" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="4885" href="Categories.Morphism.Reasoning.Iso.html#4885" class="Function">conjugate-to</a> <a id="4898" class="Symbol">:</a> <a id="4900" href="Categories.Morphism.html#2023" class="Field">j.to</a> <a id="4905" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4907" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="4909" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="4911" href="Categories.Morphism.Reasoning.Iso.html#638" class="Generalizable">g</a> <a id="4913" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4915" href="Categories.Morphism.html#2023" class="Function">i.to</a> <a id="4920" class="Symbol"></a> <a id="4922" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="4924" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4926" href="Categories.Morphism.html#2006" class="Function">i.from</a> <a id="4933" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="4935" href="Categories.Morphism.html#2006" class="Field">j.from</a> <a id="4942" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4944" href="Categories.Morphism.Reasoning.Iso.html#638" class="Generalizable">g</a>
<a id="4948" href="Categories.Morphism.Reasoning.Iso.html#4885" class="Function">conjugate-to</a> <a id="4961" class="Symbol">{</a><a id="4962" class="Argument">f</a> <a id="4964" class="Symbol">=</a> <a id="4966" href="Categories.Morphism.Reasoning.Iso.html#4966" class="Bound">f</a><a id="4967" class="Symbol">}</a> <a id="4969" class="Symbol">{</a><a id="4970" class="Argument">g</a> <a id="4972" class="Symbol">=</a> <a id="4974" href="Categories.Morphism.Reasoning.Iso.html#4974" class="Bound">g</a><a id="4975" class="Symbol">}</a> <a id="4977" href="Categories.Morphism.Reasoning.Iso.html#4977" class="Bound">eq</a> <a id="4980" class="Symbol">=</a> <a id="4982" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
<a id="4992" href="Categories.Morphism.Reasoning.Iso.html#4966" class="Bound">f</a> <a id="4994" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="4996" href="Categories.Morphism.html#2006" class="Function">i.from</a> <a id="5021" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5024" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a> <a id="5031" href="Categories.Morphism.html#1612" class="Function">j.isoʳ</a> <a id="5038" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5044" class="Symbol">(</a><a id="5045" href="Categories.Morphism.html#2006" class="Field">j.from</a> <a id="5052" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5054" href="Categories.Morphism.html#2023" class="Field">j.to</a><a id="5058" class="Symbol">)</a> <a id="5060" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5062" href="Categories.Morphism.Reasoning.Iso.html#4966" class="Bound">f</a> <a id="5064" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5066" href="Categories.Morphism.html#2006" class="Function">i.from</a> <a id="5073" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5076" href="Categories.Morphism.Reasoning.Core.html#7259" class="Function">center</a> <a id="5083" href="Categories.Morphism.Reasoning.Iso.html#4977" class="Bound">eq</a> <a id="5086" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5092" href="Categories.Morphism.html#2006" class="Field">j.from</a> <a id="5099" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5101" class="Symbol">(</a><a id="5102" href="Categories.Morphism.Reasoning.Iso.html#4974" class="Bound">g</a> <a id="5104" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5106" href="Categories.Morphism.html#2023" class="Function">i.to</a><a id="5110" class="Symbol">)</a> <a id="5112" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5114" href="Categories.Morphism.html#2006" class="Function">i.from</a> <a id="5121" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5124" href="Categories.Morphism.Reasoning.Core.html#7391" class="Function">center⁻¹</a> <a id="5133" href="Relation.Binary.Structures.html#1596" class="Function">Equiv.refl</a> <a id="5144" href="Categories.Morphism.html#1586" class="Function">i.isoˡ</a> <a id="5151" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5157" class="Symbol">(</a><a id="5158" href="Categories.Morphism.html#2006" class="Field">j.from</a> <a id="5165" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5167" href="Categories.Morphism.Reasoning.Iso.html#4974" class="Bound">g</a><a id="5168" class="Symbol">)</a> <a id="5170" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5172" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="5186" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5189" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="5199" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function"></a>
<a id="5205" href="Categories.Morphism.html#2006" class="Field">j.from</a> <a id="5212" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5214" href="Categories.Morphism.Reasoning.Iso.html#4974" class="Bound">g</a> <a id="5234" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator"></a>
<a id="5237" class="Keyword">module</a> <a id="GroupoidR"></a><a id="5244" href="Categories.Morphism.Reasoning.Iso.html#5244" class="Module">GroupoidR</a> <a id="5254" class="Symbol">(</a><a id="5255" href="Categories.Morphism.Reasoning.Iso.html#5255" class="Bound">G</a> <a id="5257" class="Symbol">:</a> <a id="5259" href="Categories.Category.Groupoid.html#189" class="Record">IsGroupoid</a> <a id="5270" href="Categories.Morphism.Reasoning.Iso.html#274" class="Bound">C</a><a id="5271" class="Symbol">)</a> <a id="5273" class="Keyword">where</a>
<a id="5281" class="Keyword">open</a> <a id="5286" href="Categories.Category.Groupoid.html#189" class="Module">IsGroupoid</a> <a id="5297" href="Categories.Morphism.Reasoning.Iso.html#5255" class="Bound">G</a> <a id="5299" class="Keyword">using</a> <a id="5305" class="Symbol">(</a><a id="5306" href="Categories.Category.Groupoid.html#365" class="Field Operator">_⁻¹</a><a id="5309" class="Symbol">;</a> <a id="5311" href="Categories.Category.Groupoid.html#399" class="Field">iso</a><a id="5314" class="Symbol">;</a> <a id="5316" href="Categories.Category.Groupoid.html#489" class="Function">equiv-obj</a><a id="5325" class="Symbol">)</a>
<a id="GroupoidR.switch-fromtoˡ"></a><a id="5330" href="Categories.Morphism.Reasoning.Iso.html#5330" class="Function">switch-fromtoˡ</a> <a id="5346" class="Symbol">:</a> <a id="5348" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="5350" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5352" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="5354" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="5356" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="5358" class="Symbol"></a> <a id="5360" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="5362" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="5364" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="5366" href="Categories.Category.Groupoid.html#365" class="Field Operator">⁻¹</a> <a id="5369" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5371" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a>
<a id="5375" href="Categories.Morphism.Reasoning.Iso.html#5330" class="Function">switch-fromtoˡ</a> <a id="5391" class="Symbol">=</a> <a id="5393" href="Categories.Morphism.Reasoning.Iso.html#720" class="Function">switch-fromtoˡ</a> <a id="5408" class="Symbol">(</a><a id="5409" href="Categories.Category.Groupoid.html#489" class="Function">equiv-obj</a> <a id="5419" class="Symbol">_)</a>
<a id="GroupoidR.switch-tofromˡ"></a><a id="5425" href="Categories.Morphism.Reasoning.Iso.html#5425" class="Function">switch-tofromˡ</a> <a id="5441" class="Symbol">:</a> <a id="5443" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="5445" href="Categories.Category.Groupoid.html#365" class="Field Operator">⁻¹</a> <a id="5448" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5450" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="5452" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="5454" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="5456" class="Symbol"></a> <a id="5458" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="5460" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="5462" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="5464" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5466" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a>
<a id="5470" href="Categories.Morphism.Reasoning.Iso.html#5425" class="Function">switch-tofromˡ</a> <a id="5486" class="Symbol">=</a> <a id="5488" href="Categories.Morphism.Reasoning.Iso.html#907" class="Function">switch-tofromˡ</a> <a id="5503" class="Symbol">(</a><a id="5504" href="Categories.Category.Groupoid.html#489" class="Function">equiv-obj</a> <a id="5514" class="Symbol">_)</a>
<a id="GroupoidR.switch-fromtoʳ"></a><a id="5520" href="Categories.Morphism.Reasoning.Iso.html#5520" class="Function">switch-fromtoʳ</a> <a id="5536" class="Symbol">:</a> <a id="5538" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="5540" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5542" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="5544" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="5546" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="5548" class="Symbol"></a> <a id="5550" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="5552" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="5554" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="5556" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5558" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="5560" href="Categories.Category.Groupoid.html#365" class="Field Operator">⁻¹</a>
<a id="5565" href="Categories.Morphism.Reasoning.Iso.html#5520" class="Function">switch-fromtoʳ</a> <a id="5581" class="Symbol">=</a> <a id="5583" href="Categories.Morphism.Reasoning.Iso.html#1094" class="Function">switch-fromtoʳ</a> <a id="5598" class="Symbol">(</a><a id="5599" href="Categories.Category.Groupoid.html#489" class="Function">equiv-obj</a> <a id="5609" class="Symbol">_)</a>
<a id="GroupoidR.switch-tofromʳ"></a><a id="5615" href="Categories.Morphism.Reasoning.Iso.html#5615" class="Function">switch-tofromʳ</a> <a id="5631" class="Symbol">:</a> <a id="5633" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="5635" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5637" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a> <a id="5639" href="Categories.Category.Groupoid.html#365" class="Field Operator">⁻¹</a> <a id="5642" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="5644" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="5646" class="Symbol"></a> <a id="5648" href="Categories.Morphism.Reasoning.Iso.html#640" class="Generalizable">h</a> <a id="5650" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="5652" href="Categories.Morphism.Reasoning.Iso.html#642" class="Generalizable">k</a> <a id="5654" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="5656" href="Categories.Morphism.Reasoning.Iso.html#636" class="Generalizable">f</a>
<a id="5660" href="Categories.Morphism.Reasoning.Iso.html#5615" class="Function">switch-tofromʳ</a> <a id="5676" class="Symbol">=</a> <a id="5678" href="Categories.Morphism.Reasoning.Iso.html#1281" class="Function">switch-tofromʳ</a> <a id="5693" class="Symbol">(</a><a id="5694" href="Categories.Category.Groupoid.html#489" class="Function">equiv-obj</a> <a id="5704" class="Symbol">_)</a>
</pre></body></html>