bsc-leon-vatthauer/public/Categories.Morphism.html

142 lines
47 KiB
HTML
Raw Normal View History

2023-08-19 16:11:22 +02:00
<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Categories.Morphism</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Symbol">{-#</a> <a id="5" class="Keyword">OPTIONS</a> <a id="13" class="Pragma">--without-K</a> <a id="25" class="Pragma">--safe</a> <a id="32" class="Symbol">#-}</a>
<a id="37" class="Comment">{-
Properties and definitions regarding Morphisms of a category:
- Monomorphism
- Epimorphism
- Isomorphism
- (object) equivalence (&#39;spelled&#39; _≅_ ). Exported as the module ≅
-}</a>
<a id="224" class="Keyword">open</a> <a id="229" class="Keyword">import</a> <a id="236" href="Categories.Category.Core.html" class="Module">Categories.Category.Core</a>
<a id="262" class="Keyword">module</a> <a id="269" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="289" class="Symbol">{</a><a id="290" href="Categories.Morphism.html#290" class="Bound">o</a> <a id="292" href="Categories.Morphism.html#292" class="Bound"></a> <a id="294" href="Categories.Morphism.html#294" class="Bound">e</a><a id="295" class="Symbol">}</a> <a id="297" class="Symbol">(</a><a id="298" href="Categories.Morphism.html#298" class="Bound">𝒞</a> <a id="300" class="Symbol">:</a> <a id="302" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="311" href="Categories.Morphism.html#290" class="Bound">o</a> <a id="313" href="Categories.Morphism.html#292" class="Bound"></a> <a id="315" href="Categories.Morphism.html#294" class="Bound">e</a><a id="316" class="Symbol">)</a> <a id="318" class="Keyword">where</a>
<a id="325" class="Keyword">open</a> <a id="330" class="Keyword">import</a> <a id="337" href="Level.html" class="Module">Level</a>
<a id="343" class="Keyword">open</a> <a id="348" class="Keyword">import</a> <a id="355" href="Relation.Binary.html" class="Module">Relation.Binary</a> <a id="371" class="Keyword">hiding</a> <a id="378" class="Symbol">(</a><a id="379" href="Relation.Binary.Core.html#1263" class="Function Operator">_⇒_</a><a id="382" class="Symbol">)</a>
<a id="385" class="Keyword">open</a> <a id="390" class="Keyword">import</a> <a id="397" href="Categories.Morphism.Reasoning.Core.html" class="Module">Categories.Morphism.Reasoning.Core</a> <a id="432" href="Categories.Morphism.html#298" class="Bound">𝒞</a>
<a id="435" class="Keyword">open</a> <a id="440" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="449" href="Categories.Morphism.html#298" class="Bound">𝒞</a>
<a id="452" class="Keyword">private</a>
<a id="462" class="Keyword">variable</a>
<a id="475" href="Categories.Morphism.html#475" class="Generalizable">A</a> <a id="477" href="Categories.Morphism.html#477" class="Generalizable">B</a> <a id="479" href="Categories.Morphism.html#479" class="Generalizable">C</a> <a id="481" class="Symbol">:</a> <a id="483" href="Categories.Category.Core.html#559" class="Field">Obj</a>
<a id="Mono"></a><a id="488" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="493" class="Symbol">:</a> <a id="495" class="Symbol"></a> <a id="497" class="Symbol">(</a><a id="498" href="Categories.Morphism.html#498" class="Bound">f</a> <a id="500" class="Symbol">:</a> <a id="502" href="Categories.Morphism.html#475" class="Generalizable">A</a> <a id="504" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="506" href="Categories.Morphism.html#477" class="Generalizable">B</a><a id="507" class="Symbol">)</a> <a id="509" class="Symbol"></a> <a id="511" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="515" class="Symbol">(</a><a id="516" href="Categories.Morphism.html#290" class="Bound">o</a> <a id="518" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="520" href="Categories.Morphism.html#292" class="Bound"></a> <a id="522" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="524" href="Categories.Morphism.html#294" class="Bound">e</a><a id="525" class="Symbol">)</a>
<a id="527" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="532" class="Symbol">{</a><a id="533" class="Argument">A</a> <a id="535" class="Symbol">=</a> <a id="537" href="Categories.Morphism.html#537" class="Bound">A</a><a id="538" class="Symbol">}</a> <a id="540" href="Categories.Morphism.html#540" class="Bound">f</a> <a id="542" class="Symbol">=</a> <a id="544" class="Symbol"></a> <a id="546" class="Symbol">{</a><a id="547" href="Categories.Morphism.html#547" class="Bound">C</a><a id="548" class="Symbol">}</a> <a id="550" class="Symbol"></a> <a id="552" class="Symbol">(</a><a id="553" href="Categories.Morphism.html#553" class="Bound">g₁</a> <a id="556" href="Categories.Morphism.html#556" class="Bound">g₂</a> <a id="559" class="Symbol">:</a> <a id="561" href="Categories.Morphism.html#547" class="Bound">C</a> <a id="563" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="565" href="Categories.Morphism.html#537" class="Bound">A</a><a id="566" class="Symbol">)</a> <a id="568" class="Symbol"></a> <a id="570" href="Categories.Morphism.html#540" class="Bound">f</a> <a id="572" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="574" href="Categories.Morphism.html#553" class="Bound">g₁</a> <a id="577" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="579" href="Categories.Morphism.html#540" class="Bound">f</a> <a id="581" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="583" href="Categories.Morphism.html#556" class="Bound">g₂</a> <a id="586" class="Symbol"></a> <a id="588" href="Categories.Morphism.html#553" class="Bound">g₁</a> <a id="591" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="593" href="Categories.Morphism.html#556" class="Bound">g₂</a>
<a id="JointMono"></a><a id="597" href="Categories.Morphism.html#597" class="Function">JointMono</a> <a id="607" class="Symbol">:</a> <a id="609" class="Symbol">{</a><a id="610" href="Categories.Morphism.html#610" class="Bound">ι</a> <a id="612" class="Symbol">:</a> <a id="614" href="Agda.Primitive.html#591" class="Postulate">Level</a><a id="619" class="Symbol">}</a> <a id="621" class="Symbol">(</a><a id="622" href="Categories.Morphism.html#622" class="Bound">I</a> <a id="624" class="Symbol">:</a> <a id="626" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="630" href="Categories.Morphism.html#610" class="Bound">ι</a><a id="631" class="Symbol">)</a> <a id="633" class="Symbol">(</a><a id="634" href="Categories.Morphism.html#634" class="Bound">B</a> <a id="636" class="Symbol">:</a> <a id="638" href="Categories.Morphism.html#622" class="Bound">I</a> <a id="640" class="Symbol"></a> <a id="642" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="645" class="Symbol">)</a> <a id="647" class="Symbol"></a> <a id="649" class="Symbol">((</a><a id="651" href="Categories.Morphism.html#651" class="Bound">i</a> <a id="653" class="Symbol">:</a> <a id="655" href="Categories.Morphism.html#622" class="Bound">I</a><a id="656" class="Symbol">)</a> <a id="658" class="Symbol"></a> <a id="660" href="Categories.Morphism.html#475" class="Generalizable">A</a> <a id="662" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="664" href="Categories.Morphism.html#634" class="Bound">B</a> <a id="666" href="Categories.Morphism.html#651" class="Bound">i</a><a id="667" class="Symbol">)</a> <a id="669" class="Symbol"></a> <a id="671" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="675" class="Symbol">(</a><a id="676" href="Categories.Morphism.html#290" class="Bound">o</a> <a id="678" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="680" href="Categories.Morphism.html#292" class="Bound"></a> <a id="682" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="684" href="Categories.Morphism.html#294" class="Bound">e</a> <a id="686" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="688" href="Categories.Morphism.html#610" class="Bound">ι</a><a id="689" class="Symbol">)</a>
<a id="691" href="Categories.Morphism.html#597" class="Function">JointMono</a> <a id="701" class="Symbol">{</a><a id="702" href="Categories.Morphism.html#702" class="Bound">A</a><a id="703" class="Symbol">}</a> <a id="705" href="Categories.Morphism.html#705" class="Bound">I</a> <a id="707" href="Categories.Morphism.html#707" class="Bound">B</a> <a id="709" href="Categories.Morphism.html#709" class="Bound">f</a> <a id="711" class="Symbol">=</a> <a id="713" class="Symbol"></a> <a id="715" class="Symbol">{</a><a id="716" href="Categories.Morphism.html#716" class="Bound">C</a><a id="717" class="Symbol">}</a> <a id="719" class="Symbol"></a> <a id="721" class="Symbol">(</a><a id="722" href="Categories.Morphism.html#722" class="Bound">g₁</a> <a id="725" href="Categories.Morphism.html#725" class="Bound">g₂</a> <a id="728" class="Symbol">:</a> <a id="730" href="Categories.Morphism.html#716" class="Bound">C</a> <a id="732" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="734" href="Categories.Morphism.html#702" class="Bound">A</a><a id="735" class="Symbol">)</a> <a id="737" class="Symbol"></a> <a id="739" class="Symbol">((</a><a id="741" href="Categories.Morphism.html#741" class="Bound">i</a> <a id="743" class="Symbol">:</a> <a id="745" href="Categories.Morphism.html#705" class="Bound">I</a><a id="746" class="Symbol">)</a> <a id="748" class="Symbol"></a> <a id="750" href="Categories.Morphism.html#709" class="Bound">f</a> <a id="752" href="Categories.Morphism.html#741" class="Bound">i</a> <a id="754" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="756" href="Categories.Morphism.html#722" class="Bound">g₁</a> <a id="759" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="761" href="Categories.Morphism.html#709" class="Bound">f</a> <a id="763" href="Categories.Morphism.html#741" class="Bound">i</a> <a id="765" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="767" href="Categories.Morphism.html#725" class="Bound">g₂</a><a id="769" class="Symbol">)</a> <a id="771" class="Symbol"></a> <a id="773" href="Categories.Morphism.html#722" class="Bound">g₁</a> <a id="776" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="778" href="Categories.Morphism.html#725" class="Bound">g₂</a>
<a id="782" class="Keyword">record</a> <a id="_↣_"></a><a id="789" href="Categories.Morphism.html#789" class="Record Operator">_↣_</a> <a id="793" class="Symbol">(</a><a id="794" href="Categories.Morphism.html#794" class="Bound">A</a> <a id="796" href="Categories.Morphism.html#796" class="Bound">B</a> <a id="798" class="Symbol">:</a> <a id="800" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="803" class="Symbol">)</a> <a id="805" class="Symbol">:</a> <a id="807" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="811" class="Symbol">(</a><a id="812" href="Categories.Morphism.html#290" class="Bound">o</a> <a id="814" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="816" href="Categories.Morphism.html#292" class="Bound"></a> <a id="818" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="820" href="Categories.Morphism.html#294" class="Bound">e</a><a id="821" class="Symbol">)</a> <a id="823" class="Keyword">where</a>
<a id="831" class="Keyword">field</a>
<a id="_↣_.mor"></a><a id="841" href="Categories.Morphism.html#841" class="Field">mor</a> <a id="846" class="Symbol">:</a> <a id="848" href="Categories.Morphism.html#794" class="Bound">A</a> <a id="850" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="852" href="Categories.Morphism.html#796" class="Bound">B</a>
<a id="_↣_.mono"></a><a id="858" href="Categories.Morphism.html#858" class="Field">mono</a> <a id="863" class="Symbol">:</a> <a id="865" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="870" href="Categories.Morphism.html#841" class="Field">mor</a>
<a id="Epi"></a><a id="875" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="879" class="Symbol">:</a> <a id="881" class="Symbol"></a> <a id="883" class="Symbol">(</a><a id="884" href="Categories.Morphism.html#884" class="Bound">f</a> <a id="886" class="Symbol">:</a> <a id="888" href="Categories.Morphism.html#475" class="Generalizable">A</a> <a id="890" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="892" href="Categories.Morphism.html#477" class="Generalizable">B</a><a id="893" class="Symbol">)</a> <a id="895" class="Symbol"></a> <a id="897" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="901" class="Symbol">(</a><a id="902" href="Categories.Morphism.html#290" class="Bound">o</a> <a id="904" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="906" href="Categories.Morphism.html#292" class="Bound"></a> <a id="908" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="910" href="Categories.Morphism.html#294" class="Bound">e</a><a id="911" class="Symbol">)</a>
<a id="913" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="917" class="Symbol">{</a><a id="918" class="Argument">B</a> <a id="920" class="Symbol">=</a> <a id="922" href="Categories.Morphism.html#922" class="Bound">B</a><a id="923" class="Symbol">}</a> <a id="925" href="Categories.Morphism.html#925" class="Bound">f</a> <a id="927" class="Symbol">=</a> <a id="929" class="Symbol"></a> <a id="931" class="Symbol">{</a><a id="932" href="Categories.Morphism.html#932" class="Bound">C</a><a id="933" class="Symbol">}</a> <a id="935" class="Symbol"></a> <a id="937" class="Symbol">(</a><a id="938" href="Categories.Morphism.html#938" class="Bound">g₁</a> <a id="941" href="Categories.Morphism.html#941" class="Bound">g₂</a> <a id="944" class="Symbol">:</a> <a id="946" href="Categories.Morphism.html#922" class="Bound">B</a> <a id="948" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="950" href="Categories.Morphism.html#932" class="Bound">C</a><a id="951" class="Symbol">)</a> <a id="953" class="Symbol"></a> <a id="955" href="Categories.Morphism.html#938" class="Bound">g₁</a> <a id="958" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="960" href="Categories.Morphism.html#925" class="Bound">f</a> <a id="962" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="964" href="Categories.Morphism.html#941" class="Bound">g₂</a> <a id="967" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="969" href="Categories.Morphism.html#925" class="Bound">f</a> <a id="971" class="Symbol"></a> <a id="973" href="Categories.Morphism.html#938" class="Bound">g₁</a> <a id="976" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="978" href="Categories.Morphism.html#941" class="Bound">g₂</a>
<a id="JointEpi"></a><a id="982" href="Categories.Morphism.html#982" class="Function">JointEpi</a> <a id="991" class="Symbol">:</a> <a id="993" class="Symbol">(</a><a id="994" href="Categories.Morphism.html#994" class="Bound">I</a> <a id="996" class="Symbol">:</a> <a id="998" href="Agda.Primitive.html#320" class="Primitive">Set</a><a id="1001" class="Symbol">)</a> <a id="1003" class="Symbol">(</a><a id="1004" href="Categories.Morphism.html#1004" class="Bound">A</a> <a id="1006" class="Symbol">:</a> <a id="1008" href="Categories.Morphism.html#994" class="Bound">I</a> <a id="1010" class="Symbol"></a> <a id="1012" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="1015" class="Symbol">)</a> <a id="1017" class="Symbol"></a> <a id="1019" class="Symbol">((</a><a id="1021" href="Categories.Morphism.html#1021" class="Bound">i</a> <a id="1023" class="Symbol">:</a> <a id="1025" href="Categories.Morphism.html#994" class="Bound">I</a><a id="1026" class="Symbol">)</a> <a id="1028" class="Symbol"></a> <a id="1030" href="Categories.Morphism.html#1004" class="Bound">A</a> <a id="1032" href="Categories.Morphism.html#1021" class="Bound">i</a> <a id="1034" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1036" href="Categories.Morphism.html#477" class="Generalizable">B</a><a id="1037" class="Symbol">)</a> <a id="1039" class="Symbol"></a> <a id="1041" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1045" class="Symbol">(</a><a id="1046" href="Categories.Morphism.html#290" class="Bound">o</a> <a id="1048" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1050" href="Categories.Morphism.html#292" class="Bound"></a> <a id="1052" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1054" href="Categories.Morphism.html#294" class="Bound">e</a><a id="1055" class="Symbol">)</a>
<a id="1057" href="Categories.Morphism.html#982" class="Function">JointEpi</a> <a id="1066" class="Symbol">{</a><a id="1067" href="Categories.Morphism.html#1067" class="Bound">B</a><a id="1068" class="Symbol">}</a> <a id="1070" href="Categories.Morphism.html#1070" class="Bound">I</a> <a id="1072" href="Categories.Morphism.html#1072" class="Bound">A</a> <a id="1074" href="Categories.Morphism.html#1074" class="Bound">f</a> <a id="1076" class="Symbol">=</a> <a id="1078" class="Symbol"></a> <a id="1080" class="Symbol">{</a><a id="1081" href="Categories.Morphism.html#1081" class="Bound">C</a><a id="1082" class="Symbol">}</a> <a id="1084" class="Symbol"></a> <a id="1086" class="Symbol">(</a><a id="1087" href="Categories.Morphism.html#1087" class="Bound">g₁</a> <a id="1090" href="Categories.Morphism.html#1090" class="Bound">g₂</a> <a id="1093" class="Symbol">:</a> <a id="1095" href="Categories.Morphism.html#1067" class="Bound">B</a> <a id="1097" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1099" href="Categories.Morphism.html#1081" class="Bound">C</a><a id="1100" class="Symbol">)</a> <a id="1102" class="Symbol"></a> <a id="1104" class="Symbol">((</a><a id="1106" href="Categories.Morphism.html#1106" class="Bound">i</a> <a id="1108" class="Symbol">:</a> <a id="1110" href="Categories.Morphism.html#1070" class="Bound">I</a><a id="1111" class="Symbol">)</a> <a id="1113" class="Symbol"></a> <a id="1115" href="Categories.Morphism.html#1087" class="Bound">g₁</a> <a id="1118" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1120" href="Categories.Morphism.html#1074" class="Bound">f</a> <a id="1122" href="Categories.Morphism.html#1106" class="Bound">i</a> <a id="1124" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1126" href="Categories.Morphism.html#1090" class="Bound">g₂</a> <a id="1129" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1131" href="Categories.Morphism.html#1074" class="Bound">f</a> <a id="1133" href="Categories.Morphism.html#1106" class="Bound">i</a><a id="1134" class="Symbol">)</a> <a id="1136" class="Symbol"></a> <a id="1138" href="Categories.Morphism.html#1087" class="Bound">g₁</a> <a id="1141" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1143" href="Categories.Morphism.html#1090" class="Bound">g₂</a>
<a id="1147" class="Keyword">record</a> <a id="_↠_"></a><a id="1154" href="Categories.Morphism.html#1154" class="Record Operator">_↠_</a> <a id="1158" class="Symbol">(</a><a id="1159" href="Categories.Morphism.html#1159" class="Bound">A</a> <a id="1161" href="Categories.Morphism.html#1161" class="Bound">B</a> <a id="1163" class="Symbol">:</a> <a id="1165" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="1168" class="Symbol">)</a> <a id="1170" class="Symbol">:</a> <a id="1172" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1176" class="Symbol">(</a><a id="1177" href="Categories.Morphism.html#290" class="Bound">o</a> <a id="1179" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1181" href="Categories.Morphism.html#292" class="Bound"></a> <a id="1183" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1185" href="Categories.Morphism.html#294" class="Bound">e</a><a id="1186" class="Symbol">)</a> <a id="1188" class="Keyword">where</a>
<a id="1196" class="Keyword">field</a>
<a id="_↠_.mor"></a><a id="1206" href="Categories.Morphism.html#1206" class="Field">mor</a> <a id="1210" class="Symbol">:</a> <a id="1212" href="Categories.Morphism.html#1159" class="Bound">A</a> <a id="1214" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1216" href="Categories.Morphism.html#1161" class="Bound">B</a>
<a id="_↠_.epi"></a><a id="1222" href="Categories.Morphism.html#1222" class="Field">epi</a> <a id="1226" class="Symbol">:</a> <a id="1228" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="1232" href="Categories.Morphism.html#1206" class="Field">mor</a>
<a id="_SectionOf_"></a><a id="1237" href="Categories.Morphism.html#1237" class="Function Operator">_SectionOf_</a> <a id="1249" class="Symbol">:</a> <a id="1251" class="Symbol">(</a><a id="1252" href="Categories.Morphism.html#1252" class="Bound">g</a> <a id="1254" class="Symbol">:</a> <a id="1256" href="Categories.Morphism.html#477" class="Generalizable">B</a> <a id="1258" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1260" href="Categories.Morphism.html#475" class="Generalizable">A</a><a id="1261" class="Symbol">)</a> <a id="1263" class="Symbol">(</a><a id="1264" href="Categories.Morphism.html#1264" class="Bound">f</a> <a id="1266" class="Symbol">:</a> <a id="1268" href="Categories.Morphism.html#475" class="Generalizable">A</a> <a id="1270" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1272" href="Categories.Morphism.html#477" class="Generalizable">B</a><a id="1273" class="Symbol">)</a> <a id="1275" class="Symbol"></a> <a id="1277" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1281" href="Categories.Morphism.html#294" class="Bound">e</a>
<a id="1283" href="Categories.Morphism.html#1283" class="Bound">g</a> <a id="1285" href="Categories.Morphism.html#1237" class="Function Operator">SectionOf</a> <a id="1295" href="Categories.Morphism.html#1295" class="Bound">f</a> <a id="1297" class="Symbol">=</a> <a id="1299" href="Categories.Morphism.html#1295" class="Bound">f</a> <a id="1301" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1303" href="Categories.Morphism.html#1283" class="Bound">g</a> <a id="1305" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1307" href="Categories.Category.Core.html#630" class="Field">id</a>
<a id="_RetractOf_"></a><a id="1311" href="Categories.Morphism.html#1311" class="Function Operator">_RetractOf_</a> <a id="1323" class="Symbol">:</a> <a id="1325" class="Symbol">(</a><a id="1326" href="Categories.Morphism.html#1326" class="Bound">g</a> <a id="1328" class="Symbol">:</a> <a id="1330" href="Categories.Morphism.html#477" class="Generalizable">B</a> <a id="1332" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1334" href="Categories.Morphism.html#475" class="Generalizable">A</a><a id="1335" class="Symbol">)</a> <a id="1337" class="Symbol">(</a><a id="1338" href="Categories.Morphism.html#1338" class="Bound">f</a> <a id="1340" class="Symbol">:</a> <a id="1342" href="Categories.Morphism.html#475" class="Generalizable">A</a> <a id="1344" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1346" href="Categories.Morphism.html#477" class="Generalizable">B</a><a id="1347" class="Symbol">)</a> <a id="1349" class="Symbol"></a> <a id="1351" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1355" href="Categories.Morphism.html#294" class="Bound">e</a>
<a id="1357" href="Categories.Morphism.html#1357" class="Bound">g</a> <a id="1359" href="Categories.Morphism.html#1311" class="Function Operator">RetractOf</a> <a id="1369" href="Categories.Morphism.html#1369" class="Bound">f</a> <a id="1371" class="Symbol">=</a> <a id="1373" href="Categories.Morphism.html#1357" class="Bound">g</a> <a id="1375" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1377" href="Categories.Morphism.html#1369" class="Bound">f</a> <a id="1379" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1381" href="Categories.Category.Core.html#630" class="Field">id</a>
<a id="1385" class="Keyword">record</a> <a id="Retract"></a><a id="1392" href="Categories.Morphism.html#1392" class="Record">Retract</a> <a id="1400" class="Symbol">(</a><a id="1401" href="Categories.Morphism.html#1401" class="Bound">X</a> <a id="1403" href="Categories.Morphism.html#1403" class="Bound">U</a> <a id="1405" class="Symbol">:</a> <a id="1407" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="1410" class="Symbol">)</a> <a id="1412" class="Symbol">:</a> <a id="1414" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1418" class="Symbol">(</a><a id="1419" href="Categories.Morphism.html#292" class="Bound"></a> <a id="1421" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1423" href="Categories.Morphism.html#294" class="Bound">e</a><a id="1424" class="Symbol">)</a> <a id="1426" class="Keyword">where</a>
<a id="1434" class="Keyword">field</a>
<a id="Retract.section"></a><a id="1444" href="Categories.Morphism.html#1444" class="Field">section</a> <a id="1452" class="Symbol">:</a> <a id="1454" href="Categories.Morphism.html#1401" class="Bound">X</a> <a id="1456" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1458" href="Categories.Morphism.html#1403" class="Bound">U</a>
<a id="Retract.retract"></a><a id="1464" href="Categories.Morphism.html#1464" class="Field">retract</a> <a id="1472" class="Symbol">:</a> <a id="1474" href="Categories.Morphism.html#1403" class="Bound">U</a> <a id="1476" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1478" href="Categories.Morphism.html#1401" class="Bound">X</a>
<a id="Retract.is-retract"></a><a id="1484" href="Categories.Morphism.html#1484" class="Field">is-retract</a> <a id="1495" class="Symbol">:</a> <a id="1497" href="Categories.Morphism.html#1464" class="Field">retract</a> <a id="1505" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1507" href="Categories.Morphism.html#1444" class="Field">section</a> <a id="1515" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1517" href="Categories.Category.Core.html#630" class="Field">id</a>
<a id="1521" class="Keyword">record</a> <a id="Iso"></a><a id="1528" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="1532" class="Symbol">(</a><a id="1533" href="Categories.Morphism.html#1533" class="Bound">from</a> <a id="1538" class="Symbol">:</a> <a id="1540" href="Categories.Morphism.html#475" class="Generalizable">A</a> <a id="1542" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1544" href="Categories.Morphism.html#477" class="Generalizable">B</a><a id="1545" class="Symbol">)</a> <a id="1547" class="Symbol">(</a><a id="1548" href="Categories.Morphism.html#1548" class="Bound">to</a> <a id="1551" class="Symbol">:</a> <a id="1553" href="Categories.Morphism.html#477" class="Generalizable">B</a> <a id="1555" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1557" href="Categories.Morphism.html#475" class="Generalizable">A</a><a id="1558" class="Symbol">)</a> <a id="1560" class="Symbol">:</a> <a id="1562" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1566" href="Categories.Morphism.html#294" class="Bound">e</a> <a id="1568" class="Keyword">where</a>
<a id="1576" class="Keyword">field</a>
<a id="Iso.isoˡ"></a><a id="1586" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="1591" class="Symbol">:</a> <a id="1593" href="Categories.Morphism.html#1548" class="Bound">to</a> <a id="1596" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1598" href="Categories.Morphism.html#1533" class="Bound">from</a> <a id="1603" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1605" href="Categories.Category.Core.html#630" class="Field">id</a>
<a id="Iso.isoʳ"></a><a id="1612" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="1617" class="Symbol">:</a> <a id="1619" href="Categories.Morphism.html#1533" class="Bound">from</a> <a id="1624" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="1626" href="Categories.Morphism.html#1548" class="Bound">to</a> <a id="1629" href="Categories.Category.Core.html#595" class="Field Operator"></a> <a id="1631" href="Categories.Category.Core.html#630" class="Field">id</a>
<a id="1635" class="Comment">-- We often say that a morphism &quot;is an iso&quot; if there exists some inverse to it.</a>
<a id="1715" class="Comment">-- This does buck the naming convention we use somewhat, but it lines up</a>
<a id="1788" class="Comment">-- better with the literature.</a>
<a id="1819" class="Keyword">record</a> <a id="IsIso"></a><a id="1826" href="Categories.Morphism.html#1826" class="Record">IsIso</a> <a id="1832" class="Symbol">(</a><a id="1833" href="Categories.Morphism.html#1833" class="Bound">from</a> <a id="1838" class="Symbol">:</a> <a id="1840" href="Categories.Morphism.html#475" class="Generalizable">A</a> <a id="1842" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1844" href="Categories.Morphism.html#477" class="Generalizable">B</a><a id="1845" class="Symbol">)</a> <a id="1847" class="Symbol">:</a> <a id="1849" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1853" class="Symbol">(</a><a id="1854" href="Categories.Morphism.html#292" class="Bound"></a> <a id="1856" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1858" href="Categories.Morphism.html#294" class="Bound">e</a><a id="1859" class="Symbol">)</a> <a id="1861" class="Keyword">where</a>
<a id="1869" class="Keyword">field</a>
<a id="IsIso.inv"></a><a id="1879" href="Categories.Morphism.html#1879" class="Field">inv</a> <a id="1883" class="Symbol">:</a> <a id="1885" href="Categories.Morphism.html#1844" class="Bound">B</a> <a id="1887" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="1889" href="Categories.Morphism.html#1840" class="Bound">A</a>
<a id="IsIso.iso"></a><a id="1895" href="Categories.Morphism.html#1895" class="Field">iso</a> <a id="1899" class="Symbol">:</a> <a id="1901" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="1905" href="Categories.Morphism.html#1833" class="Bound">from</a> <a id="1910" href="Categories.Morphism.html#1879" class="Field">inv</a>
<a id="1918" class="Keyword">open</a> <a id="1923" href="Categories.Morphism.html#1528" class="Module">Iso</a> <a id="1927" href="Categories.Morphism.html#1895" class="Field">iso</a> <a id="1931" class="Keyword">public</a>
<a id="1939" class="Keyword">infix</a> <a id="1945" class="Number">4</a> <a id="1947" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a>
<a id="1951" class="Keyword">record</a> <a id="_≅_"></a><a id="1958" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a> <a id="1962" class="Symbol">(</a><a id="1963" href="Categories.Morphism.html#1963" class="Bound">A</a> <a id="1965" href="Categories.Morphism.html#1965" class="Bound">B</a> <a id="1967" class="Symbol">:</a> <a id="1969" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="1972" class="Symbol">)</a> <a id="1974" class="Symbol">:</a> <a id="1976" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1980" class="Symbol">(</a><a id="1981" href="Categories.Morphism.html#292" class="Bound"></a> <a id="1983" href="Agda.Primitive.html#804" class="Primitive Operator"></a> <a id="1985" href="Categories.Morphism.html#294" class="Bound">e</a><a id="1986" class="Symbol">)</a> <a id="1988" class="Keyword">where</a>
<a id="1996" class="Keyword">field</a>
<a id="_≅_.from"></a><a id="2006" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2011" class="Symbol">:</a> <a id="2013" href="Categories.Morphism.html#1963" class="Bound">A</a> <a id="2015" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="2017" href="Categories.Morphism.html#1965" class="Bound">B</a>
<a id="_≅_.to"></a><a id="2023" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2028" class="Symbol">:</a> <a id="2030" href="Categories.Morphism.html#1965" class="Bound">B</a> <a id="2032" href="Categories.Category.Core.html#575" class="Field Operator"></a> <a id="2034" href="Categories.Morphism.html#1963" class="Bound">A</a>
<a id="_≅_.iso"></a><a id="2040" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="2045" class="Symbol">:</a> <a id="2047" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="2051" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2056" href="Categories.Morphism.html#2023" class="Field">to</a>
<a id="2062" class="Keyword">open</a> <a id="2067" href="Categories.Morphism.html#1528" class="Module">Iso</a> <a id="2071" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="2075" class="Keyword">public</a>
<a id="2083" class="Comment">-- don&#39;t pollute the name space too much</a>
<a id="2124" class="Keyword">private</a>
<a id="≅-refl"></a><a id="2134" href="Categories.Morphism.html#2134" class="Function">≅-refl</a> <a id="2141" class="Symbol">:</a> <a id="2143" href="Relation.Binary.Definitions.html#1348" class="Function">Reflexive</a> <a id="2153" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a>
<a id="2159" href="Categories.Morphism.html#2134" class="Function">≅-refl</a> <a id="2166" class="Symbol">=</a> <a id="2168" class="Keyword">record</a>
<a id="2179" class="Symbol">{</a> <a id="2181" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2186" class="Symbol">=</a> <a id="2188" href="Categories.Category.Core.html#630" class="Field">id</a>
<a id="2195" class="Symbol">;</a> <a id="2197" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2202" class="Symbol">=</a> <a id="2204" href="Categories.Category.Core.html#630" class="Field">id</a>
<a id="2211" class="Symbol">;</a> <a id="2213" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="2218" class="Symbol">=</a> <a id="2220" class="Keyword">record</a>
<a id="2233" class="Symbol">{</a> <a id="2235" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="2240" class="Symbol">=</a> <a id="2242" href="Categories.Category.Core.html#1339" class="Field">identity²</a>
<a id="2258" class="Symbol">;</a> <a id="2260" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="2265" class="Symbol">=</a> <a id="2267" href="Categories.Category.Core.html#1339" class="Field">identity²</a>
<a id="2283" class="Symbol">}</a>
<a id="2289" class="Symbol">}</a>
<a id="≅-sym"></a><a id="2294" href="Categories.Morphism.html#2294" class="Function">≅-sym</a> <a id="2300" class="Symbol">:</a> <a id="2302" href="Relation.Binary.Definitions.html#1507" class="Function">Symmetric</a> <a id="2312" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a>
<a id="2318" href="Categories.Morphism.html#2294" class="Function">≅-sym</a> <a id="2324" href="Categories.Morphism.html#2324" class="Bound">A≅B</a> <a id="2328" class="Symbol">=</a> <a id="2330" class="Keyword">record</a>
<a id="2341" class="Symbol">{</a> <a id="2343" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2348" class="Symbol">=</a> <a id="2350" href="Categories.Morphism.html#2023" class="Field">to</a>
<a id="2357" class="Symbol">;</a> <a id="2359" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2364" class="Symbol">=</a> <a id="2366" href="Categories.Morphism.html#2006" class="Field">from</a>
<a id="2375" class="Symbol">;</a> <a id="2377" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="2382" class="Symbol">=</a> <a id="2384" class="Keyword">record</a>
<a id="2397" class="Symbol">{</a> <a id="2399" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="2404" class="Symbol">=</a> <a id="2406" href="Categories.Morphism.html#1612" class="Function">isoʳ</a>
<a id="2417" class="Symbol">;</a> <a id="2419" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="2424" class="Symbol">=</a> <a id="2426" href="Categories.Morphism.html#1586" class="Function">isoˡ</a>
<a id="2437" class="Symbol">}</a>
<a id="2443" class="Symbol">}</a>
<a id="2449" class="Keyword">where</a> <a id="2455" class="Keyword">open</a> <a id="2460" href="Categories.Morphism.html#1958" class="Module Operator">_≅_</a> <a id="2464" href="Categories.Morphism.html#2324" class="Bound">A≅B</a>
<a id="≅-trans"></a><a id="2471" href="Categories.Morphism.html#2471" class="Function">≅-trans</a> <a id="2479" class="Symbol">:</a> <a id="2481" href="Relation.Binary.Definitions.html#1875" class="Function">Transitive</a> <a id="2492" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a>
<a id="2498" href="Categories.Morphism.html#2471" class="Function">≅-trans</a> <a id="2506" href="Categories.Morphism.html#2506" class="Bound">A≅B</a> <a id="2510" href="Categories.Morphism.html#2510" class="Bound">B≅C</a> <a id="2514" class="Symbol">=</a> <a id="2516" class="Keyword">record</a>
<a id="2527" class="Symbol">{</a> <a id="2529" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2534" class="Symbol">=</a> <a id="2536" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2541" href="Categories.Morphism.html#2510" class="Bound">B≅C</a> <a id="2545" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2547" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2552" href="Categories.Morphism.html#2506" class="Bound">A≅B</a>
<a id="2560" class="Symbol">;</a> <a id="2562" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2567" class="Symbol">=</a> <a id="2569" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2572" href="Categories.Morphism.html#2506" class="Bound">A≅B</a> <a id="2576" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2578" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2581" href="Categories.Morphism.html#2510" class="Bound">B≅C</a>
<a id="2589" class="Symbol">;</a> <a id="2591" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="2596" class="Symbol">=</a> <a id="2598" class="Keyword">record</a>
<a id="2611" class="Symbol">{</a> <a id="2613" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="2618" class="Symbol">=</a> <a id="2620" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="2634" class="Symbol">(</a><a id="2635" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2638" href="Categories.Morphism.html#2506" class="Bound">A≅B</a> <a id="2642" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2644" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2647" href="Categories.Morphism.html#2510" class="Bound">B≅C</a><a id="2650" class="Symbol">)</a> <a id="2652" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2654" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2659" href="Categories.Morphism.html#2510" class="Bound">B≅C</a> <a id="2663" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2665" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2670" href="Categories.Morphism.html#2506" class="Bound">A≅B</a> <a id="2674" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2677" href="Categories.Morphism.Reasoning.Core.html#7037" class="Function">cancelInner</a> <a id="2689" class="Symbol">(</a><a id="2690" href="Categories.Morphism.html#1586" class="Function">isoˡ</a> <a id="2695" href="Categories.Morphism.html#2510" class="Bound">B≅C</a><a id="2698" class="Symbol">)</a> <a id="2700" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2710" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2713" href="Categories.Morphism.html#2506" class="Bound">A≅B</a> <a id="2717" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2719" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2724" href="Categories.Morphism.html#2506" class="Bound">A≅B</a> <a id="2750" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2754" href="Categories.Morphism.html#1586" class="Function">isoˡ</a> <a id="2759" href="Categories.Morphism.html#2506" class="Bound">A≅B</a> <a id="2764" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2774" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2814" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="2822" class="Symbol">;</a> <a id="2824" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="2829" class="Symbol">=</a> <a id="2831" href="Relation.Binary.Reasoning.Base.Single.html#1925" class="Function Operator">begin</a>
<a id="2845" class="Symbol">(</a><a id="2846" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2851" href="Categories.Morphism.html#2510" class="Bound">B≅C</a> <a id="2855" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2857" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2862" href="Categories.Morphism.html#2506" class="Bound">A≅B</a><a id="2865" class="Symbol">)</a> <a id="2867" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2869" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2872" href="Categories.Morphism.html#2506" class="Bound">A≅B</a> <a id="2876" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2878" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2881" href="Categories.Morphism.html#2510" class="Bound">B≅C</a> <a id="2885" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2888" href="Categories.Morphism.Reasoning.Core.html#7037" class="Function">cancelInner</a> <a id="2900" class="Symbol">(</a><a id="2901" href="Categories.Morphism.html#1612" class="Function">isoʳ</a> <a id="2906" href="Categories.Morphism.html#2506" class="Bound">A≅B</a><a id="2909" class="Symbol">)</a> <a id="2911" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2921" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2926" href="Categories.Morphism.html#2510" class="Bound">B≅C</a> <a id="2930" href="Categories.Category.Core.html#656" class="Field Operator"></a> <a id="2932" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2935" href="Categories.Morphism.html#2510" class="Bound">B≅C</a> <a id="2961" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function">≈⟨</a> <a id="2964" href="Categories.Morphism.html#1612" class="Function">isoʳ</a> <a id="2969" href="Categories.Morphism.html#2510" class="Bound">B≅C</a> <a id="2973" href="Relation.Binary.Reasoning.Setoid.html#1061" class="Function"></a>
<a id="2983" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="3023" href="Relation.Binary.Reasoning.Base.Single.html#2564" class="Function Operator"></a>
<a id="3031" class="Symbol">}</a>
<a id="3037" class="Symbol">}</a>
<a id="3043" class="Keyword">where</a> <a id="3049" class="Keyword">open</a> <a id="3054" href="Categories.Morphism.html#1958" class="Module Operator">_≅_</a>
<a id="3068" class="Keyword">open</a> <a id="3073" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
<a id="3096" class="Keyword">open</a> <a id="3101" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
<a id="≅-isEquivalence"></a><a id="3108" href="Categories.Morphism.html#3108" class="Function">≅-isEquivalence</a> <a id="3124" class="Symbol">:</a> <a id="3126" href="Relation.Binary.Structures.html#1531" class="Record">IsEquivalence</a> <a id="3140" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a>
<a id="3144" href="Categories.Morphism.html#3108" class="Function">≅-isEquivalence</a> <a id="3160" class="Symbol">=</a> <a id="3162" class="Keyword">record</a>
<a id="3171" class="Symbol">{</a> <a id="3173" href="Relation.Binary.Structures.html#1577" class="Field">refl</a> <a id="3179" class="Symbol">=</a> <a id="3181" href="Categories.Morphism.html#2134" class="Function">≅-refl</a>
<a id="3190" class="Symbol">;</a> <a id="3192" href="Relation.Binary.Structures.html#1603" class="Field">sym</a> <a id="3198" class="Symbol">=</a> <a id="3200" href="Categories.Morphism.html#2294" class="Function">≅-sym</a>
<a id="3208" class="Symbol">;</a> <a id="3210" href="Relation.Binary.Structures.html#1629" class="Field">trans</a> <a id="3216" class="Symbol">=</a> <a id="3218" href="Categories.Morphism.html#2471" class="Function">≅-trans</a>
<a id="3228" class="Symbol">}</a>
<a id="3231" class="Comment">-- But make accessing it easy:</a>
<a id="3262" class="Keyword">module</a> <a id="≅"></a><a id="3269" href="Categories.Morphism.html#3269" class="Module"></a> <a id="3271" class="Symbol">=</a> <a id="3273" href="Relation.Binary.Structures.html#1531" class="Module">IsEquivalence</a> <a id="3287" href="Categories.Morphism.html#3108" class="Function">≅-isEquivalence</a>
<a id="≅-setoid"></a><a id="3304" href="Categories.Morphism.html#3304" class="Function">≅-setoid</a> <a id="3313" class="Symbol">:</a> <a id="3315" href="Relation.Binary.Bundles.html#1018" class="Record">Setoid</a> <a id="3322" class="Symbol">_</a> <a id="3324" class="Symbol">_</a>
<a id="3326" href="Categories.Morphism.html#3304" class="Function">≅-setoid</a> <a id="3335" class="Symbol">=</a> <a id="3337" class="Keyword">record</a>
<a id="3346" class="Symbol">{</a> <a id="3348" href="Relation.Binary.Bundles.html#1081" class="Field">Carrier</a> <a id="3362" class="Symbol">=</a> <a id="3364" href="Categories.Category.Core.html#559" class="Field">Obj</a>
<a id="3370" class="Symbol">;</a> <a id="3372" href="Relation.Binary.Bundles.html#1107" class="Field Operator">_≈_</a> <a id="3386" class="Symbol">=</a> <a id="3388" href="Categories.Morphism.html#1958" class="Record Operator">_≅_</a>
<a id="3394" class="Symbol">;</a> <a id="3396" href="Relation.Binary.Bundles.html#1141" class="Field">isEquivalence</a> <a id="3410" class="Symbol">=</a> <a id="3412" href="Categories.Morphism.html#3108" class="Function">≅-isEquivalence</a>
<a id="3430" class="Symbol">}</a>
</pre></body></html>