mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
208 lines
93 KiB
HTML
208 lines
93 KiB
HTML
|
<!DOCTYPE HTML>
|
|||
|
<html><head><meta charset="utf-8"><title>Categories.Morphism.Properties</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="Keyword">module</a> <a id="76" href="Categories.Morphism.Properties.html" class="Module">Categories.Morphism.Properties</a> <a id="107" class="Symbol">{</a><a id="108" href="Categories.Morphism.Properties.html#108" class="Bound">o</a> <a id="110" href="Categories.Morphism.Properties.html#110" class="Bound">ℓ</a> <a id="112" href="Categories.Morphism.Properties.html#112" class="Bound">e</a><a id="113" class="Symbol">}</a> <a id="115" class="Symbol">(</a><a id="116" href="Categories.Morphism.Properties.html#116" class="Bound">𝒞</a> <a id="118" class="Symbol">:</a> <a id="120" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="129" href="Categories.Morphism.Properties.html#108" class="Bound">o</a> <a id="131" href="Categories.Morphism.Properties.html#110" class="Bound">ℓ</a> <a id="133" href="Categories.Morphism.Properties.html#112" class="Bound">e</a><a id="134" class="Symbol">)</a> <a id="136" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="143" class="Keyword">open</a> <a id="148" class="Keyword">import</a> <a id="155" href="Function.Base.html" class="Module">Function.Base</a> <a id="169" class="Keyword">using</a> <a id="175" class="Symbol">(</a><a id="176" href="Function.Base.html#1974" class="Function Operator">_$_</a><a id="179" class="Symbol">)</a>
|
|||
|
<a id="181" class="Keyword">open</a> <a id="186" class="Keyword">import</a> <a id="193" href="Data.Product.html" class="Module">Data.Product</a> <a id="206" class="Keyword">using</a> <a id="212" class="Symbol">(</a><a id="213" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="216" class="Symbol">;</a> <a id="218" href="Data.Product.Base.html#1618" class="Function Operator">_×_</a><a id="221" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="224" class="Keyword">open</a> <a id="229" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="238" href="Categories.Morphism.Properties.html#116" class="Bound">𝒞</a>
|
|||
|
<a id="240" class="Keyword">open</a> <a id="245" href="Categories.Category.html#824" class="Module">Definitions</a> <a id="257" href="Categories.Morphism.Properties.html#116" class="Bound">𝒞</a>
|
|||
|
<a id="259" class="Keyword">open</a> <a id="264" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
|||
|
|
|||
|
<a id="278" class="Keyword">import</a> <a id="285" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="305" class="Symbol">as</a> <a id="308" class="Module">M</a>
|
|||
|
<a id="310" class="Keyword">open</a> <a id="315" href="Categories.Morphism.html" class="Module">M</a> <a id="317" href="Categories.Morphism.Properties.html#116" class="Bound">𝒞</a>
|
|||
|
<a id="319" class="Keyword">open</a> <a id="324" class="Keyword">import</a> <a id="331" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="361" href="Categories.Morphism.Properties.html#116" class="Bound">𝒞</a>
|
|||
|
|
|||
|
<a id="364" class="Keyword">private</a>
|
|||
|
<a id="374" class="Keyword">variable</a>
|
|||
|
<a id="387" href="Categories.Morphism.Properties.html#387" class="Generalizable">A</a> <a id="389" href="Categories.Morphism.Properties.html#389" class="Generalizable">B</a> <a id="391" href="Categories.Morphism.Properties.html#391" class="Generalizable">C</a> <a id="393" href="Categories.Morphism.Properties.html#393" class="Generalizable">D</a> <a id="395" class="Symbol">:</a> <a id="397" href="Categories.Category.Core.html#559" class="Field">Obj</a>
|
|||
|
<a id="405" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a> <a id="407" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a> <a id="409" href="Categories.Morphism.Properties.html#409" class="Generalizable">h</a> <a id="411" href="Categories.Morphism.Properties.html#411" class="Generalizable">i</a> <a id="413" class="Symbol">:</a> <a id="415" href="Categories.Morphism.Properties.html#387" class="Generalizable">A</a> <a id="417" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="419" href="Categories.Morphism.Properties.html#389" class="Generalizable">B</a>
|
|||
|
|
|||
|
<a id="422" class="Keyword">module</a> <a id="429" href="Categories.Morphism.Properties.html#429" class="Module">_</a> <a id="431" class="Symbol">(</a><a id="432" href="Categories.Morphism.Properties.html#432" class="Bound">iso</a> <a id="436" class="Symbol">:</a> <a id="438" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="442" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a> <a id="444" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a><a id="445" class="Symbol">)</a> <a id="447" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="456" class="Keyword">open</a> <a id="461" href="Categories.Morphism.html#1528" class="Module">Iso</a> <a id="465" href="Categories.Morphism.Properties.html#432" class="Bound">iso</a>
|
|||
|
|
|||
|
<a id="472" href="Categories.Morphism.Properties.html#472" class="Function">Iso-resp-≈</a> <a id="483" class="Symbol">:</a> <a id="485" href="Categories.Morphism.Properties.html#442" class="Bound">f</a> <a id="487" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="489" href="Categories.Morphism.Properties.html#409" class="Generalizable">h</a> <a id="491" class="Symbol">→</a> <a id="493" href="Categories.Morphism.Properties.html#444" class="Bound">g</a> <a id="495" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="497" href="Categories.Morphism.Properties.html#411" class="Generalizable">i</a> <a id="499" class="Symbol">→</a> <a id="501" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="505" href="Categories.Morphism.Properties.html#409" class="Generalizable">h</a> <a id="507" href="Categories.Morphism.Properties.html#411" class="Generalizable">i</a>
|
|||
|
<a id="511" href="Categories.Morphism.Properties.html#472" class="Function">Iso-resp-≈</a> <a id="522" class="Symbol">{</a><a id="523" class="Argument">h</a> <a id="525" class="Symbol">=</a> <a id="527" href="Categories.Morphism.Properties.html#527" class="Bound">h</a><a id="528" class="Symbol">}</a> <a id="530" class="Symbol">{</a><a id="531" class="Argument">i</a> <a id="533" class="Symbol">=</a> <a id="535" href="Categories.Morphism.Properties.html#535" class="Bound">i</a><a id="536" class="Symbol">}</a> <a id="538" href="Categories.Morphism.Properties.html#538" class="Bound">eq₁</a> <a id="542" href="Categories.Morphism.Properties.html#542" class="Bound">eq₂</a> <a id="546" class="Symbol">=</a> <a id="548" class="Keyword">record</a>
|
|||
|
<a id="559" class="Symbol">{</a> <a id="561" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="566" class="Symbol">=</a> <a id="568" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="580" href="Categories.Morphism.Properties.html#535" class="Bound">i</a> <a id="582" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="584" href="Categories.Morphism.Properties.html#527" class="Bound">h</a> <a id="586" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="590" href="Categories.Morphism.Properties.html#542" class="Bound">eq₂</a> <a id="594" href="Categories.Category.Core.html#2634" class="Function Operator">⟩∘⟨</a> <a id="598" href="Categories.Morphism.Properties.html#538" class="Bound">eq₁</a> <a id="602" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
|||
|
<a id="610" href="Categories.Morphism.Properties.html#444" class="Bound">g</a> <a id="612" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="614" href="Categories.Morphism.Properties.html#442" class="Bound">f</a> <a id="616" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="619" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="624" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="632" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="638" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="644" class="Symbol">;</a> <a id="646" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="651" class="Symbol">=</a> <a id="653" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="665" href="Categories.Morphism.Properties.html#527" class="Bound">h</a> <a id="667" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="669" href="Categories.Morphism.Properties.html#535" class="Bound">i</a> <a id="671" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="675" href="Categories.Morphism.Properties.html#538" class="Bound">eq₁</a> <a id="679" href="Categories.Category.Core.html#2634" class="Function Operator">⟩∘⟨</a> <a id="683" href="Categories.Morphism.Properties.html#542" class="Bound">eq₂</a> <a id="687" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
|||
|
<a id="695" href="Categories.Morphism.Properties.html#442" class="Bound">f</a> <a id="697" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="699" href="Categories.Morphism.Properties.html#444" class="Bound">g</a> <a id="701" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="704" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="709" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="717" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="723" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="729" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="734" href="Categories.Morphism.Properties.html#734" class="Function">Iso-swap</a> <a id="743" class="Symbol">:</a> <a id="745" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="749" href="Categories.Morphism.Properties.html#444" class="Bound">g</a> <a id="751" href="Categories.Morphism.Properties.html#442" class="Bound">f</a>
|
|||
|
<a id="755" href="Categories.Morphism.Properties.html#734" class="Function">Iso-swap</a> <a id="764" class="Symbol">=</a> <a id="766" class="Keyword">record</a>
|
|||
|
<a id="777" class="Symbol">{</a> <a id="779" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="784" class="Symbol">=</a> <a id="786" href="Categories.Morphism.html#1612" class="Field">isoʳ</a>
|
|||
|
<a id="795" class="Symbol">;</a> <a id="797" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="802" class="Symbol">=</a> <a id="804" href="Categories.Morphism.html#1586" class="Field">isoˡ</a>
|
|||
|
<a id="813" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="818" href="Categories.Morphism.Properties.html#818" class="Function">Iso⇒Mono</a> <a id="827" class="Symbol">:</a> <a id="829" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="834" href="Categories.Morphism.Properties.html#442" class="Bound">f</a>
|
|||
|
<a id="838" href="Categories.Morphism.Properties.html#818" class="Function">Iso⇒Mono</a> <a id="847" href="Categories.Morphism.Properties.html#847" class="Bound">h</a> <a id="849" href="Categories.Morphism.Properties.html#849" class="Bound">i</a> <a id="851" href="Categories.Morphism.Properties.html#851" class="Bound">eq</a> <a id="854" class="Symbol">=</a> <a id="856" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="866" href="Categories.Morphism.Properties.html#847" class="Bound">h</a> <a id="878" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="881" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a> <a id="888" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="893" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="899" class="Symbol">(</a><a id="900" href="Categories.Morphism.Properties.html#444" class="Bound">g</a> <a id="902" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="904" href="Categories.Morphism.Properties.html#442" class="Bound">f</a><a id="905" class="Symbol">)</a> <a id="907" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="909" href="Categories.Morphism.Properties.html#847" class="Bound">h</a> <a id="911" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="914" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="920" href="Categories.Morphism.Properties.html#851" class="Bound">eq</a> <a id="923" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="929" href="Categories.Morphism.Properties.html#444" class="Bound">g</a> <a id="931" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="933" href="Categories.Morphism.Properties.html#442" class="Bound">f</a> <a id="935" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="937" href="Categories.Morphism.Properties.html#849" class="Bound">i</a> <a id="941" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="944" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="952" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="957" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="963" href="Categories.Morphism.Properties.html#849" class="Bound">i</a> <a id="975" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="980" href="Categories.Morphism.Properties.html#980" class="Function">Iso⇒Epi</a> <a id="988" class="Symbol">:</a> <a id="990" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="994" href="Categories.Morphism.Properties.html#442" class="Bound">f</a>
|
|||
|
<a id="998" href="Categories.Morphism.Properties.html#980" class="Function">Iso⇒Epi</a> <a id="1006" href="Categories.Morphism.Properties.html#1006" class="Bound">h</a> <a id="1008" href="Categories.Morphism.Properties.html#1008" class="Bound">i</a> <a id="1010" href="Categories.Morphism.Properties.html#1010" class="Bound">eq</a> <a id="1013" class="Symbol">=</a> <a id="1015" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="1025" href="Categories.Morphism.Properties.html#1006" class="Bound">h</a> <a id="1037" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1040" href="Categories.Morphism.Reasoning.Core.html#2899" class="Function">introʳ</a> <a id="1047" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="1052" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="1058" href="Categories.Morphism.Properties.html#1006" class="Bound">h</a> <a id="1060" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1062" href="Categories.Morphism.Properties.html#442" class="Bound">f</a> <a id="1064" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1066" href="Categories.Morphism.Properties.html#444" class="Bound">g</a> <a id="1070" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1073" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="1079" href="Categories.Morphism.Properties.html#1010" class="Bound">eq</a> <a id="1082" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="1088" class="Symbol">(</a><a id="1089" href="Categories.Morphism.Properties.html#1008" class="Bound">i</a> <a id="1091" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1093" href="Categories.Morphism.Properties.html#442" class="Bound">f</a><a id="1094" class="Symbol">)</a> <a id="1096" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1098" href="Categories.Morphism.Properties.html#444" class="Bound">g</a> <a id="1100" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1103" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="1111" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="1116" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="1122" href="Categories.Morphism.Properties.html#1008" class="Bound">i</a> <a id="1134" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="Iso-∘"></a><a id="1137" href="Categories.Morphism.Properties.html#1137" class="Function">Iso-∘</a> <a id="1143" class="Symbol">:</a> <a id="1145" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="1149" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a> <a id="1151" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a> <a id="1153" class="Symbol">→</a> <a id="1155" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="1159" href="Categories.Morphism.Properties.html#409" class="Generalizable">h</a> <a id="1161" href="Categories.Morphism.Properties.html#411" class="Generalizable">i</a> <a id="1163" class="Symbol">→</a> <a id="1165" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="1169" class="Symbol">(</a><a id="1170" href="Categories.Morphism.Properties.html#409" class="Generalizable">h</a> <a id="1172" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1174" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a><a id="1175" class="Symbol">)</a> <a id="1177" class="Symbol">(</a><a id="1178" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a> <a id="1180" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1182" href="Categories.Morphism.Properties.html#411" class="Generalizable">i</a><a id="1183" class="Symbol">)</a>
|
|||
|
<a id="1185" href="Categories.Morphism.Properties.html#1137" class="Function">Iso-∘</a> <a id="1191" class="Symbol">{</a><a id="1192" class="Argument">f</a> <a id="1194" class="Symbol">=</a> <a id="1196" href="Categories.Morphism.Properties.html#1196" class="Bound">f</a><a id="1197" class="Symbol">}</a> <a id="1199" class="Symbol">{</a><a id="1200" class="Argument">g</a> <a id="1202" class="Symbol">=</a> <a id="1204" href="Categories.Morphism.Properties.html#1204" class="Bound">g</a><a id="1205" class="Symbol">}</a> <a id="1207" class="Symbol">{</a><a id="1208" class="Argument">h</a> <a id="1210" class="Symbol">=</a> <a id="1212" href="Categories.Morphism.Properties.html#1212" class="Bound">h</a><a id="1213" class="Symbol">}</a> <a id="1215" class="Symbol">{</a><a id="1216" class="Argument">i</a> <a id="1218" class="Symbol">=</a> <a id="1220" href="Categories.Morphism.Properties.html#1220" class="Bound">i</a><a id="1221" class="Symbol">}</a> <a id="1223" href="Categories.Morphism.Properties.html#1223" class="Bound">iso</a> <a id="1227" href="Categories.Morphism.Properties.html#1227" class="Bound">iso′</a> <a id="1232" class="Symbol">=</a> <a id="1234" class="Keyword">record</a>
|
|||
|
<a id="1243" class="Symbol">{</a> <a id="1245" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="1250" class="Symbol">=</a> <a id="1252" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="1262" class="Symbol">(</a><a id="1263" href="Categories.Morphism.Properties.html#1204" class="Bound">g</a> <a id="1265" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1267" href="Categories.Morphism.Properties.html#1220" class="Bound">i</a><a id="1268" class="Symbol">)</a> <a id="1270" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1272" href="Categories.Morphism.Properties.html#1212" class="Bound">h</a> <a id="1274" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1276" href="Categories.Morphism.Properties.html#1196" class="Bound">f</a> <a id="1278" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1281" href="Categories.Morphism.Reasoning.Core.html#7037" class="Function">cancelInner</a> <a id="1293" class="Symbol">(</a><a id="1294" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="1299" href="Categories.Morphism.Properties.html#1227" class="Bound">iso′</a><a id="1303" class="Symbol">)</a> <a id="1305" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="1311" href="Categories.Morphism.Properties.html#1204" class="Bound">g</a> <a id="1313" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1315" href="Categories.Morphism.Properties.html#1196" class="Bound">f</a> <a id="1327" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1330" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="1335" href="Categories.Morphism.Properties.html#1223" class="Bound">iso</a> <a id="1339" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="1345" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1361" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="1365" class="Symbol">;</a> <a id="1367" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="1372" class="Symbol">=</a> <a id="1374" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="1384" class="Symbol">(</a><a id="1385" href="Categories.Morphism.Properties.html#1212" class="Bound">h</a> <a id="1387" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1389" href="Categories.Morphism.Properties.html#1196" class="Bound">f</a><a id="1390" class="Symbol">)</a> <a id="1392" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1394" href="Categories.Morphism.Properties.html#1204" class="Bound">g</a> <a id="1396" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1398" href="Categories.Morphism.Properties.html#1220" class="Bound">i</a> <a id="1400" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1403" href="Categories.Morphism.Reasoning.Core.html#7037" class="Function">cancelInner</a> <a id="1415" class="Symbol">(</a><a id="1416" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="1421" href="Categories.Morphism.Properties.html#1223" class="Bound">iso</a><a id="1424" class="Symbol">)</a> <a id="1426" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="1432" href="Categories.Morphism.Properties.html#1212" class="Bound">h</a> <a id="1434" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1436" href="Categories.Morphism.Properties.html#1220" class="Bound">i</a> <a id="1448" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1451" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="1456" href="Categories.Morphism.Properties.html#1227" class="Bound">iso′</a> <a id="1461" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="1467" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1483" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="1487" class="Symbol">}</a>
|
|||
|
<a id="1491" class="Keyword">where</a> <a id="1497" class="Keyword">open</a> <a id="1502" href="Categories.Morphism.html#1528" class="Module">Iso</a>
|
|||
|
|
|||
|
<a id="Iso-≈"></a><a id="1507" href="Categories.Morphism.Properties.html#1507" class="Function">Iso-≈</a> <a id="1513" class="Symbol">:</a> <a id="1515" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a> <a id="1517" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1519" href="Categories.Morphism.Properties.html#409" class="Generalizable">h</a> <a id="1521" class="Symbol">→</a> <a id="1523" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="1527" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a> <a id="1529" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a> <a id="1531" class="Symbol">→</a> <a id="1533" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="1537" href="Categories.Morphism.Properties.html#409" class="Generalizable">h</a> <a id="1539" href="Categories.Morphism.Properties.html#411" class="Generalizable">i</a> <a id="1541" class="Symbol">→</a> <a id="1543" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a> <a id="1545" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1547" href="Categories.Morphism.Properties.html#411" class="Generalizable">i</a>
|
|||
|
<a id="1549" href="Categories.Morphism.Properties.html#1507" class="Function">Iso-≈</a> <a id="1555" class="Symbol">{</a><a id="1556" class="Argument">f</a> <a id="1558" class="Symbol">=</a> <a id="1560" href="Categories.Morphism.Properties.html#1560" class="Bound">f</a><a id="1561" class="Symbol">}</a> <a id="1563" class="Symbol">{</a><a id="1564" class="Argument">h</a> <a id="1566" class="Symbol">=</a> <a id="1568" href="Categories.Morphism.Properties.html#1568" class="Bound">h</a><a id="1569" class="Symbol">}</a> <a id="1571" class="Symbol">{</a><a id="1572" class="Argument">g</a> <a id="1574" class="Symbol">=</a> <a id="1576" href="Categories.Morphism.Properties.html#1576" class="Bound">g</a><a id="1577" class="Symbol">}</a> <a id="1579" class="Symbol">{</a><a id="1580" class="Argument">i</a> <a id="1582" class="Symbol">=</a> <a id="1584" href="Categories.Morphism.Properties.html#1584" class="Bound">i</a><a id="1585" class="Symbol">}</a> <a id="1587" href="Categories.Morphism.Properties.html#1587" class="Bound">eq</a> <a id="1590" href="Categories.Morphism.Properties.html#1590" class="Bound">iso</a> <a id="1594" href="Categories.Morphism.Properties.html#1594" class="Bound">iso′</a> <a id="1599" class="Symbol">=</a> <a id="1601" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="1609" href="Categories.Morphism.Properties.html#1576" class="Bound">g</a> <a id="1621" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1624" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a> <a id="1631" class="Symbol">(</a><a id="1632" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="1637" href="Categories.Morphism.Properties.html#1594" class="Bound">iso′</a><a id="1641" class="Symbol">)</a> <a id="1643" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="1647" class="Symbol">(</a><a id="1648" href="Categories.Morphism.Properties.html#1584" class="Bound">i</a> <a id="1650" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1652" href="Categories.Morphism.Properties.html#1568" class="Bound">h</a><a id="1653" class="Symbol">)</a> <a id="1655" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1657" href="Categories.Morphism.Properties.html#1576" class="Bound">g</a> <a id="1659" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="1663" class="Symbol">(</a><a id="1664" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="1672" href="Categories.Morphism.Properties.html#1587" class="Bound">eq</a><a id="1674" class="Symbol">)</a> <a id="1676" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="1684" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
|||
|
<a id="1688" class="Symbol">(</a><a id="1689" href="Categories.Morphism.Properties.html#1584" class="Bound">i</a> <a id="1691" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1693" href="Categories.Morphism.Properties.html#1560" class="Bound">f</a><a id="1694" class="Symbol">)</a> <a id="1696" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1698" href="Categories.Morphism.Properties.html#1576" class="Bound">g</a> <a id="1700" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1703" href="Categories.Morphism.Reasoning.Core.html#6665" class="Function">cancelʳ</a> <a id="1711" class="Symbol">(</a><a id="1712" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="1717" href="Categories.Morphism.Properties.html#1590" class="Bound">iso</a><a id="1720" class="Symbol">)</a> <a id="1722" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="1726" href="Categories.Morphism.Properties.html#1584" class="Bound">i</a> <a id="1738" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
<a id="1742" class="Keyword">where</a> <a id="1748" class="Keyword">open</a> <a id="1753" href="Categories.Morphism.html#1528" class="Module">Iso</a>
|
|||
|
|
|||
|
<a id="1758" class="Keyword">module</a> <a id="1765" href="Categories.Morphism.Properties.html#1765" class="Module">_</a> <a id="1767" class="Keyword">where</a>
|
|||
|
<a id="1775" class="Keyword">open</a> <a id="1780" href="Categories.Morphism.html#1958" class="Module Operator">_≅_</a>
|
|||
|
|
|||
|
<a id="1787" href="Categories.Morphism.Properties.html#1787" class="Function">isos×≈⇒≈</a> <a id="1796" class="Symbol">:</a> <a id="1798" class="Symbol">∀</a> <a id="1800" class="Symbol">{</a><a id="1801" href="Categories.Morphism.Properties.html#1801" class="Bound">f</a> <a id="1803" href="Categories.Morphism.Properties.html#1803" class="Bound">g</a> <a id="1805" class="Symbol">:</a> <a id="1807" href="Categories.Morphism.Properties.html#387" class="Generalizable">A</a> <a id="1809" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="1811" href="Categories.Morphism.Properties.html#389" class="Generalizable">B</a><a id="1812" class="Symbol">}</a> <a id="1814" class="Symbol">→</a> <a id="1816" href="Categories.Morphism.Properties.html#409" class="Generalizable">h</a> <a id="1818" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1820" href="Categories.Morphism.Properties.html#411" class="Generalizable">i</a> <a id="1822" class="Symbol">→</a> <a id="1824" class="Symbol">(</a><a id="1825" href="Categories.Morphism.Properties.html#1825" class="Bound">iso₁</a> <a id="1830" class="Symbol">:</a> <a id="1832" href="Categories.Morphism.Properties.html#387" class="Generalizable">A</a> <a id="1834" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="1836" href="Categories.Morphism.Properties.html#391" class="Generalizable">C</a><a id="1837" class="Symbol">)</a> <a id="1839" class="Symbol">→</a> <a id="1841" class="Symbol">(</a><a id="1842" href="Categories.Morphism.Properties.html#1842" class="Bound">iso₂</a> <a id="1847" class="Symbol">:</a> <a id="1849" href="Categories.Morphism.Properties.html#389" class="Generalizable">B</a> <a id="1851" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="1853" href="Categories.Morphism.Properties.html#393" class="Generalizable">D</a><a id="1854" class="Symbol">)</a> <a id="1856" class="Symbol">→</a>
|
|||
|
<a id="1873" href="Categories.Category.html#884" class="Function">CommutativeSquare</a> <a id="1891" href="Categories.Morphism.Properties.html#1801" class="Bound">f</a> <a id="1893" class="Symbol">(</a><a id="1894" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1899" href="Categories.Morphism.Properties.html#1825" class="Bound">iso₁</a><a id="1903" class="Symbol">)</a> <a id="1905" class="Symbol">(</a><a id="1906" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1911" href="Categories.Morphism.Properties.html#1842" class="Bound">iso₂</a><a id="1915" class="Symbol">)</a> <a id="1917" href="Categories.Morphism.Properties.html#409" class="Generalizable">h</a> <a id="1919" class="Symbol">→</a>
|
|||
|
<a id="1936" href="Categories.Category.html#884" class="Function">CommutativeSquare</a> <a id="1954" href="Categories.Morphism.Properties.html#1803" class="Bound">g</a> <a id="1956" class="Symbol">(</a><a id="1957" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1962" href="Categories.Morphism.Properties.html#1825" class="Bound">iso₁</a><a id="1966" class="Symbol">)</a> <a id="1968" class="Symbol">(</a><a id="1969" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="1974" href="Categories.Morphism.Properties.html#1842" class="Bound">iso₂</a><a id="1978" class="Symbol">)</a> <a id="1980" href="Categories.Morphism.Properties.html#411" class="Generalizable">i</a> <a id="1982" class="Symbol">→</a>
|
|||
|
<a id="1999" href="Categories.Morphism.Properties.html#1801" class="Bound">f</a> <a id="2001" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="2003" href="Categories.Morphism.Properties.html#1803" class="Bound">g</a>
|
|||
|
<a id="2007" href="Categories.Morphism.Properties.html#1787" class="Function">isos×≈⇒≈</a> <a id="2016" class="Symbol">{</a><a id="2017" class="Argument">h</a> <a id="2019" class="Symbol">=</a> <a id="2021" href="Categories.Morphism.Properties.html#2021" class="Bound">h</a><a id="2022" class="Symbol">}</a> <a id="2024" class="Symbol">{</a><a id="2025" class="Argument">i</a> <a id="2027" class="Symbol">=</a> <a id="2029" href="Categories.Morphism.Properties.html#2029" class="Bound">i</a><a id="2030" class="Symbol">}</a> <a id="2032" class="Symbol">{</a><a id="2033" class="Argument">f</a> <a id="2035" class="Symbol">=</a> <a id="2037" href="Categories.Morphism.Properties.html#2037" class="Bound">f</a><a id="2038" class="Symbol">}</a> <a id="2040" class="Symbol">{</a><a id="2041" class="Argument">g</a> <a id="2043" class="Symbol">=</a> <a id="2045" href="Categories.Morphism.Properties.html#2045" class="Bound">g</a><a id="2046" class="Symbol">}</a> <a id="2048" href="Categories.Morphism.Properties.html#2048" class="Bound">eq</a> <a id="2051" href="Categories.Morphism.Properties.html#2051" class="Bound">iso₁</a> <a id="2056" href="Categories.Morphism.Properties.html#2056" class="Bound">iso₂</a> <a id="2061" href="Categories.Morphism.Properties.html#2061" class="Bound">sq₁</a> <a id="2065" href="Categories.Morphism.Properties.html#2065" class="Bound">sq₂</a> <a id="2069" class="Symbol">=</a> <a id="2071" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="2081" href="Categories.Morphism.Properties.html#2037" class="Bound">f</a> <a id="2083" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2086" href="Categories.Morphism.Reasoning.Iso.html#720" class="Function">switch-fromtoˡ</a> <a id="2101" href="Categories.Morphism.Properties.html#2056" class="Bound">iso₂</a> <a id="2106" href="Categories.Morphism.Properties.html#2061" class="Bound">sq₁</a> <a id="2110" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2116" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2119" href="Categories.Morphism.Properties.html#2056" class="Bound">iso₂</a> <a id="2124" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2126" href="Categories.Morphism.Properties.html#2021" class="Bound">h</a> <a id="2128" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2130" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2135" href="Categories.Morphism.Properties.html#2051" class="Bound">iso₁</a> <a id="2140" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2143" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="2151" class="Symbol">(</a><a id="2152" href="Categories.Morphism.Properties.html#2048" class="Bound">eq</a> <a id="2155" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="2163" class="Symbol">)</a> <a id="2165" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2171" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2174" href="Categories.Morphism.Properties.html#2056" class="Bound">iso₂</a> <a id="2179" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2181" href="Categories.Morphism.Properties.html#2029" class="Bound">i</a> <a id="2183" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2185" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2190" href="Categories.Morphism.Properties.html#2051" class="Bound">iso₁</a> <a id="2195" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="2199" href="Categories.Morphism.Reasoning.Iso.html#720" class="Function">switch-fromtoˡ</a> <a id="2214" href="Categories.Morphism.Properties.html#2056" class="Bound">iso₂</a> <a id="2219" href="Categories.Morphism.Properties.html#2065" class="Bound">sq₂</a> <a id="2223" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
|||
|
<a id="2229" href="Categories.Morphism.Properties.html#2045" class="Bound">g</a> <a id="2231" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="id-is-iso"></a><a id="2234" href="Categories.Morphism.Properties.html#2234" class="Function">id-is-iso</a> <a id="2244" class="Symbol">:</a> <a id="2246" class="Symbol">∀</a> <a id="2248" class="Symbol">{</a><a id="2249" href="Categories.Morphism.Properties.html#2249" class="Bound">X</a><a id="2250" class="Symbol">}</a> <a id="2252" class="Symbol">→</a> <a id="2254" href="Categories.Morphism.html#1826" class="Record">IsIso</a> <a id="2260" class="Symbol">(</a><a id="2261" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2264" class="Symbol">{</a><a id="2265" href="Categories.Morphism.Properties.html#2249" class="Bound">X</a><a id="2266" class="Symbol">})</a>
|
|||
|
<a id="2269" href="Categories.Morphism.Properties.html#2234" class="Function">id-is-iso</a> <a id="2279" class="Symbol">=</a> <a id="2281" class="Keyword">record</a>
|
|||
|
<a id="2290" class="Symbol">{</a> <a id="2292" href="Categories.Morphism.html#1879" class="Field">inv</a> <a id="2296" class="Symbol">=</a> <a id="2298" href="Categories.Category.Core.html#630" class="Field">id</a>
|
|||
|
<a id="2303" class="Symbol">;</a> <a id="2305" href="Categories.Morphism.html#1895" class="Field">iso</a> <a id="2309" class="Symbol">=</a> <a id="2311" class="Keyword">record</a>
|
|||
|
<a id="2322" class="Symbol">{</a> <a id="2324" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="2329" class="Symbol">=</a> <a id="2331" href="Categories.Category.Core.html#1339" class="Field">identity²</a>
|
|||
|
<a id="2345" class="Symbol">;</a> <a id="2347" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="2352" class="Symbol">=</a> <a id="2354" href="Categories.Category.Core.html#1339" class="Field">identity²</a>
|
|||
|
<a id="2368" class="Symbol">}</a>
|
|||
|
<a id="2372" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="2379" class="Comment">--------------------------------------------------------------------------------</a>
|
|||
|
<a id="2460" class="Comment">-- Monomorphisms</a>
|
|||
|
|
|||
|
<a id="Mono-∘₂"></a><a id="2478" href="Categories.Morphism.Properties.html#2478" class="Function">Mono-∘₂</a> <a id="2486" class="Symbol">:</a> <a id="2488" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="2493" class="Symbol">(</a><a id="2494" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a> <a id="2496" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2498" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a><a id="2499" class="Symbol">)</a> <a id="2501" class="Symbol">→</a> <a id="2503" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="2508" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a>
|
|||
|
<a id="2510" href="Categories.Morphism.Properties.html#2478" class="Function">Mono-∘₂</a> <a id="2518" class="Symbol">{</a><a id="2519" class="Argument">f</a> <a id="2521" class="Symbol">=</a> <a id="2523" href="Categories.Morphism.Properties.html#2523" class="Bound">f</a><a id="2524" class="Symbol">}</a> <a id="2526" class="Symbol">{</a><a id="2527" class="Argument">g</a> <a id="2529" class="Symbol">=</a> <a id="2531" href="Categories.Morphism.Properties.html#2531" class="Bound">g</a><a id="2532" class="Symbol">}</a> <a id="2534" href="Categories.Morphism.Properties.html#2534" class="Bound">fg-mono</a> <a id="2542" href="Categories.Morphism.Properties.html#2542" class="Bound">g₁</a> <a id="2545" href="Categories.Morphism.Properties.html#2545" class="Bound">g₂</a> <a id="2548" href="Categories.Morphism.Properties.html#2548" class="Bound">eq</a> <a id="2551" class="Symbol">=</a> <a id="2553" href="Categories.Morphism.Properties.html#2534" class="Bound">fg-mono</a> <a id="2561" href="Categories.Morphism.Properties.html#2542" class="Bound">g₁</a> <a id="2564" href="Categories.Morphism.Properties.html#2545" class="Bound">g₂</a> <a id="2567" class="Symbol">(</a><a id="2568" href="Categories.Morphism.Reasoning.Core.html#3392" class="Function">extendˡ</a> <a id="2576" href="Categories.Morphism.Properties.html#2548" class="Bound">eq</a><a id="2578" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="2581" class="Comment">-- This might be trivial, but it also shouldn't be proved more than once!</a>
|
|||
|
<a id="Mono-id"></a><a id="2655" href="Categories.Morphism.Properties.html#2655" class="Function">Mono-id</a> <a id="2663" class="Symbol">:</a> <a id="2665" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="2670" class="Symbol">{</a><a id="2671" class="Argument">A</a> <a id="2673" class="Symbol">=</a> <a id="2675" href="Categories.Morphism.Properties.html#387" class="Generalizable">A</a><a id="2676" class="Symbol">}</a> <a id="2678" href="Categories.Category.Core.html#630" class="Field">id</a>
|
|||
|
<a id="2681" href="Categories.Morphism.Properties.html#2655" class="Function">Mono-id</a> <a id="2689" href="Categories.Morphism.Properties.html#2689" class="Bound">g₁</a> <a id="2692" href="Categories.Morphism.Properties.html#2692" class="Bound">g₂</a> <a id="2695" href="Categories.Morphism.Properties.html#2695" class="Bound">eq</a> <a id="2698" class="Symbol">=</a> <a id="2700" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="2708" href="Categories.Morphism.Properties.html#2689" class="Bound">g₁</a> <a id="2716" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="2720" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="2730" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
|||
|
<a id="2734" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2737" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2739" href="Categories.Morphism.Properties.html#2689" class="Bound">g₁</a> <a id="2742" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2745" href="Categories.Morphism.Properties.html#2695" class="Bound">eq</a> <a id="2748" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2752" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2755" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2757" href="Categories.Morphism.Properties.html#2692" class="Bound">g₂</a> <a id="2760" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="2763" href="Categories.Category.Core.html#1096" class="Field">identityˡ</a> <a id="2773" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="2777" href="Categories.Morphism.Properties.html#2692" class="Bound">g₂</a> <a id="2780" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="Mono-∘"></a><a id="2783" href="Categories.Morphism.Properties.html#2783" class="Function">Mono-∘</a> <a id="2790" class="Symbol">:</a> <a id="2792" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="2797" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a> <a id="2799" class="Symbol">→</a> <a id="2801" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="2806" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a> <a id="2808" class="Symbol">→</a> <a id="2810" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="2815" class="Symbol">(</a><a id="2816" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a> <a id="2818" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2820" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a><a id="2821" class="Symbol">)</a>
|
|||
|
<a id="2823" href="Categories.Morphism.Properties.html#2783" class="Function">Mono-∘</a> <a id="2830" class="Symbol">{</a><a id="2831" class="Argument">f</a> <a id="2833" class="Symbol">=</a> <a id="2835" href="Categories.Morphism.Properties.html#2835" class="Bound">f</a><a id="2836" class="Symbol">}</a> <a id="2838" class="Symbol">{</a><a id="2839" class="Argument">g</a> <a id="2841" class="Symbol">=</a> <a id="2843" href="Categories.Morphism.Properties.html#2843" class="Bound">g</a><a id="2844" class="Symbol">}</a> <a id="2846" href="Categories.Morphism.Properties.html#2846" class="Bound">f-mono</a> <a id="2853" href="Categories.Morphism.Properties.html#2853" class="Bound">g-mono</a> <a id="2860" href="Categories.Morphism.Properties.html#2860" class="Bound">g₁</a> <a id="2863" href="Categories.Morphism.Properties.html#2863" class="Bound">g₂</a> <a id="2866" href="Categories.Morphism.Properties.html#2866" class="Bound">eq</a> <a id="2869" class="Symbol">=</a>
|
|||
|
<a id="2873" href="Categories.Morphism.Properties.html#2853" class="Bound">g-mono</a> <a id="2880" href="Categories.Morphism.Properties.html#2860" class="Bound">g₁</a> <a id="2883" href="Categories.Morphism.Properties.html#2863" class="Bound">g₂</a> <a id="2886" class="Symbol">(</a><a id="2887" href="Categories.Morphism.Properties.html#2846" class="Bound">f-mono</a> <a id="2894" class="Symbol">(</a><a id="2895" href="Categories.Morphism.Properties.html#2843" class="Bound">g</a> <a id="2897" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2899" href="Categories.Morphism.Properties.html#2860" class="Bound">g₁</a><a id="2901" class="Symbol">)</a> <a id="2903" class="Symbol">(</a><a id="2904" href="Categories.Morphism.Properties.html#2843" class="Bound">g</a> <a id="2906" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2908" href="Categories.Morphism.Properties.html#2863" class="Bound">g₂</a><a id="2910" class="Symbol">)</a> <a id="2912" class="Symbol">(</a><a id="2913" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="2923" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="2925" href="Categories.Morphism.Properties.html#2866" class="Bound">eq</a> <a id="2928" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="2930" href="Categories.Category.Core.html#715" class="Field">assoc</a><a id="2935" class="Symbol">))</a>
|
|||
|
|
|||
|
<a id="id↣"></a><a id="2939" href="Categories.Morphism.Properties.html#2939" class="Function">id↣</a> <a id="2943" class="Symbol">:</a> <a id="2945" class="Symbol">∀</a> <a id="2947" class="Symbol">{</a><a id="2948" href="Categories.Morphism.Properties.html#2948" class="Bound">A</a><a id="2949" class="Symbol">}</a> <a id="2951" class="Symbol">→</a> <a id="2953" href="Categories.Morphism.Properties.html#2948" class="Bound">A</a> <a id="2955" href="Categories.Morphism.html#789" class="Record Operator">↣</a> <a id="2957" href="Categories.Morphism.Properties.html#2948" class="Bound">A</a>
|
|||
|
<a id="2959" href="Categories.Morphism.Properties.html#2939" class="Function">id↣</a> <a id="2963" class="Symbol">=</a> <a id="2965" class="Keyword">record</a> <a id="2972" class="Symbol">{</a> <a id="2974" href="Categories.Morphism.html#841" class="Field">mor</a> <a id="2978" class="Symbol">=</a> <a id="2980" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="2983" class="Symbol">;</a> <a id="2985" href="Categories.Morphism.html#858" class="Field">mono</a> <a id="2990" class="Symbol">=</a> <a id="2992" href="Categories.Morphism.Properties.html#2655" class="Function">Mono-id</a> <a id="3000" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3003" class="Keyword">infixr</a> <a id="3010" class="Number">9</a> <a id="3012" href="Categories.Morphism.Properties.html#3017" class="Function Operator">_∘↣_</a>
|
|||
|
<a id="_∘↣_"></a><a id="3017" href="Categories.Morphism.Properties.html#3017" class="Function Operator">_∘↣_</a> <a id="3022" class="Symbol">:</a> <a id="3024" href="Categories.Morphism.Properties.html#389" class="Generalizable">B</a> <a id="3026" href="Categories.Morphism.html#789" class="Record Operator">↣</a> <a id="3028" href="Categories.Morphism.Properties.html#391" class="Generalizable">C</a> <a id="3030" class="Symbol">→</a> <a id="3032" href="Categories.Morphism.Properties.html#387" class="Generalizable">A</a> <a id="3034" href="Categories.Morphism.html#789" class="Record Operator">↣</a> <a id="3036" href="Categories.Morphism.Properties.html#389" class="Generalizable">B</a> <a id="3038" class="Symbol">→</a> <a id="3040" href="Categories.Morphism.Properties.html#387" class="Generalizable">A</a> <a id="3042" href="Categories.Morphism.html#789" class="Record Operator">↣</a> <a id="3044" href="Categories.Morphism.Properties.html#391" class="Generalizable">C</a>
|
|||
|
<a id="3046" href="Categories.Morphism.Properties.html#3046" class="Bound">f</a> <a id="3048" href="Categories.Morphism.Properties.html#3017" class="Function Operator">∘↣</a> <a id="3051" href="Categories.Morphism.Properties.html#3051" class="Bound">g</a> <a id="3053" class="Symbol">=</a> <a id="3055" class="Keyword">record</a> <a id="3062" class="Symbol">{</a> <a id="3064" href="Categories.Morphism.html#841" class="Field">mor</a> <a id="3068" class="Symbol">=</a> <a id="3070" href="Categories.Morphism.html#841" class="Field">mor</a> <a id="3074" href="Categories.Morphism.Properties.html#3046" class="Bound">f</a> <a id="3076" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3078" href="Categories.Morphism.html#841" class="Field">mor</a> <a id="3082" href="Categories.Morphism.Properties.html#3051" class="Bound">g</a> <a id="3084" class="Symbol">;</a> <a id="3086" href="Categories.Morphism.html#858" class="Field">mono</a> <a id="3091" class="Symbol">=</a> <a id="3093" href="Categories.Morphism.Properties.html#2783" class="Function">Mono-∘</a> <a id="3100" class="Symbol">(</a><a id="3101" href="Categories.Morphism.html#858" class="Field">mono</a> <a id="3106" href="Categories.Morphism.Properties.html#3046" class="Bound">f</a><a id="3107" class="Symbol">)</a> <a id="3109" class="Symbol">(</a><a id="3110" href="Categories.Morphism.html#858" class="Field">mono</a> <a id="3115" href="Categories.Morphism.Properties.html#3051" class="Bound">g</a><a id="3116" class="Symbol">)</a> <a id="3118" class="Symbol">}</a>
|
|||
|
<a id="3122" class="Keyword">where</a>
|
|||
|
<a id="3132" class="Keyword">open</a> <a id="3137" href="Categories.Morphism.html#789" class="Module Operator">_↣_</a>
|
|||
|
<a id="3141" class="Comment">--------------------------------------------------------------------------------</a>
|
|||
|
<a id="3222" class="Comment">-- Epimorphisms</a>
|
|||
|
|
|||
|
<a id="Epi-∘₂"></a><a id="3239" href="Categories.Morphism.Properties.html#3239" class="Function">Epi-∘₂</a> <a id="3246" class="Symbol">:</a> <a id="3248" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="3252" class="Symbol">(</a><a id="3253" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a> <a id="3255" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3257" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a><a id="3258" class="Symbol">)</a> <a id="3260" class="Symbol">→</a> <a id="3262" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="3266" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a>
|
|||
|
<a id="3268" href="Categories.Morphism.Properties.html#3239" class="Function">Epi-∘₂</a> <a id="3275" class="Symbol">{</a><a id="3276" class="Argument">f</a> <a id="3278" class="Symbol">=</a> <a id="3280" href="Categories.Morphism.Properties.html#3280" class="Bound">f</a><a id="3281" class="Symbol">}</a> <a id="3283" class="Symbol">{</a><a id="3284" class="Argument">g</a> <a id="3286" class="Symbol">=</a> <a id="3288" href="Categories.Morphism.Properties.html#3288" class="Bound">g</a><a id="3289" class="Symbol">}</a> <a id="3291" href="Categories.Morphism.Properties.html#3291" class="Bound">fg-epi</a> <a id="3298" href="Categories.Morphism.Properties.html#3298" class="Bound">g₁</a> <a id="3301" href="Categories.Morphism.Properties.html#3301" class="Bound">g₂</a> <a id="3304" href="Categories.Morphism.Properties.html#3304" class="Bound">eq</a> <a id="3307" class="Symbol">=</a> <a id="3309" href="Categories.Morphism.Properties.html#3291" class="Bound">fg-epi</a> <a id="3316" href="Categories.Morphism.Properties.html#3298" class="Bound">g₁</a> <a id="3319" href="Categories.Morphism.Properties.html#3301" class="Bound">g₂</a> <a id="3322" class="Symbol">(</a><a id="3323" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="3331" href="Categories.Morphism.Properties.html#3304" class="Bound">eq</a><a id="3333" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="Epi-id"></a><a id="3336" href="Categories.Morphism.Properties.html#3336" class="Function">Epi-id</a> <a id="3343" class="Symbol">:</a> <a id="3345" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="3349" class="Symbol">{</a><a id="3350" class="Argument">A</a> <a id="3352" class="Symbol">=</a> <a id="3354" href="Categories.Morphism.Properties.html#387" class="Generalizable">A</a><a id="3355" class="Symbol">}</a> <a id="3357" href="Categories.Category.Core.html#630" class="Field">id</a>
|
|||
|
<a id="3360" href="Categories.Morphism.Properties.html#3336" class="Function">Epi-id</a> <a id="3367" href="Categories.Morphism.Properties.html#3367" class="Bound">g₁</a> <a id="3370" href="Categories.Morphism.Properties.html#3370" class="Bound">g₂</a> <a id="3373" href="Categories.Morphism.Properties.html#3373" class="Bound">eq</a> <a id="3376" class="Symbol">=</a> <a id="3378" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="3386" href="Categories.Morphism.Properties.html#3367" class="Bound">g₁</a> <a id="3394" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="3398" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="3408" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
|||
|
<a id="3412" href="Categories.Morphism.Properties.html#3367" class="Bound">g₁</a> <a id="3415" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3417" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="3420" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3423" href="Categories.Morphism.Properties.html#3373" class="Bound">eq</a> <a id="3426" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3430" href="Categories.Morphism.Properties.html#3370" class="Bound">g₂</a> <a id="3433" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3435" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="3438" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="3441" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="3451" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="3455" href="Categories.Morphism.Properties.html#3370" class="Bound">g₂</a> <a id="3458" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="Epi-∘"></a><a id="3461" href="Categories.Morphism.Properties.html#3461" class="Function">Epi-∘</a> <a id="3467" class="Symbol">:</a> <a id="3469" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="3473" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a> <a id="3475" class="Symbol">→</a> <a id="3477" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="3481" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a> <a id="3483" class="Symbol">→</a> <a id="3485" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="3489" class="Symbol">(</a><a id="3490" href="Categories.Morphism.Properties.html#405" class="Generalizable">f</a> <a id="3492" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3494" href="Categories.Morphism.Properties.html#407" class="Generalizable">g</a><a id="3495" class="Symbol">)</a>
|
|||
|
<a id="3497" href="Categories.Morphism.Properties.html#3461" class="Function">Epi-∘</a> <a id="3503" class="Symbol">{</a><a id="3504" class="Argument">f</a> <a id="3506" class="Symbol">=</a> <a id="3508" href="Categories.Morphism.Properties.html#3508" class="Bound">f</a><a id="3509" class="Symbol">}</a> <a id="3511" class="Symbol">{</a><a id="3512" class="Argument">g</a> <a id="3514" class="Symbol">=</a> <a id="3516" href="Categories.Morphism.Properties.html#3516" class="Bound">g</a><a id="3517" class="Symbol">}</a> <a id="3519" href="Categories.Morphism.Properties.html#3519" class="Bound">f-epi</a> <a id="3525" href="Categories.Morphism.Properties.html#3525" class="Bound">g-epi</a> <a id="3531" href="Categories.Morphism.Properties.html#3531" class="Bound">g₁</a> <a id="3534" href="Categories.Morphism.Properties.html#3534" class="Bound">g₂</a> <a id="3537" href="Categories.Morphism.Properties.html#3537" class="Bound">eq</a> <a id="3540" class="Symbol">=</a>
|
|||
|
<a id="3544" href="Categories.Morphism.Properties.html#3519" class="Bound">f-epi</a> <a id="3550" href="Categories.Morphism.Properties.html#3531" class="Bound">g₁</a> <a id="3553" href="Categories.Morphism.Properties.html#3534" class="Bound">g₂</a> <a id="3556" class="Symbol">(</a><a id="3557" href="Categories.Morphism.Properties.html#3525" class="Bound">g-epi</a> <a id="3563" class="Symbol">(</a><a id="3564" href="Categories.Morphism.Properties.html#3531" class="Bound">g₁</a> <a id="3567" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3569" href="Categories.Morphism.Properties.html#3508" class="Bound">f</a><a id="3570" class="Symbol">)</a> <a id="3572" class="Symbol">(</a><a id="3573" href="Categories.Morphism.Properties.html#3534" class="Bound">g₂</a> <a id="3576" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3578" href="Categories.Morphism.Properties.html#3508" class="Bound">f</a><a id="3579" class="Symbol">)</a> <a id="3581" class="Symbol">(</a><a id="3582" href="Categories.Category.Core.html#715" class="Field">assoc</a> <a id="3588" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="3590" href="Categories.Morphism.Properties.html#3537" class="Bound">eq</a> <a id="3593" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="3595" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a><a id="3604" class="Symbol">))</a>
|
|||
|
|
|||
|
<a id="id↠"></a><a id="3608" href="Categories.Morphism.Properties.html#3608" class="Function">id↠</a> <a id="3612" class="Symbol">:</a> <a id="3614" class="Symbol">∀</a> <a id="3616" class="Symbol">{</a><a id="3617" href="Categories.Morphism.Properties.html#3617" class="Bound">A</a><a id="3618" class="Symbol">}</a> <a id="3620" class="Symbol">→</a> <a id="3622" href="Categories.Morphism.Properties.html#3617" class="Bound">A</a> <a id="3624" href="Categories.Morphism.html#1154" class="Record Operator">↠</a> <a id="3626" href="Categories.Morphism.Properties.html#3617" class="Bound">A</a>
|
|||
|
<a id="3628" href="Categories.Morphism.Properties.html#3608" class="Function">id↠</a> <a id="3632" class="Symbol">=</a> <a id="3634" class="Keyword">record</a> <a id="3641" class="Symbol">{</a> <a id="3643" href="Categories.Morphism.html#1206" class="Field">mor</a> <a id="3647" class="Symbol">=</a> <a id="3649" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="3652" class="Symbol">;</a> <a id="3654" href="Categories.Morphism.html#1222" class="Field">epi</a> <a id="3658" class="Symbol">=</a> <a id="3660" href="Categories.Morphism.Properties.html#3336" class="Function">Epi-id</a> <a id="3667" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3670" class="Keyword">infixr</a> <a id="3677" class="Number">9</a> <a id="3679" href="Categories.Morphism.Properties.html#3685" class="Function Operator">_∘↠_</a>
|
|||
|
|
|||
|
<a id="_∘↠_"></a><a id="3685" href="Categories.Morphism.Properties.html#3685" class="Function Operator">_∘↠_</a> <a id="3690" class="Symbol">:</a> <a id="3692" href="Categories.Morphism.Properties.html#389" class="Generalizable">B</a> <a id="3694" href="Categories.Morphism.html#1154" class="Record Operator">↠</a> <a id="3696" href="Categories.Morphism.Properties.html#391" class="Generalizable">C</a> <a id="3698" class="Symbol">→</a> <a id="3700" href="Categories.Morphism.Properties.html#387" class="Generalizable">A</a> <a id="3702" href="Categories.Morphism.html#1154" class="Record Operator">↠</a> <a id="3704" href="Categories.Morphism.Properties.html#389" class="Generalizable">B</a> <a id="3706" class="Symbol">→</a> <a id="3708" href="Categories.Morphism.Properties.html#387" class="Generalizable">A</a> <a id="3710" href="Categories.Morphism.html#1154" class="Record Operator">↠</a> <a id="3712" href="Categories.Morphism.Properties.html#391" class="Generalizable">C</a>
|
|||
|
<a id="3714" href="Categories.Morphism.Properties.html#3714" class="Bound">f</a> <a id="3716" href="Categories.Morphism.Properties.html#3685" class="Function Operator">∘↠</a> <a id="3719" href="Categories.Morphism.Properties.html#3719" class="Bound">g</a> <a id="3721" class="Symbol">=</a> <a id="3723" class="Keyword">record</a> <a id="3730" class="Symbol">{</a> <a id="3732" href="Categories.Morphism.html#1206" class="Field">mor</a> <a id="3736" class="Symbol">=</a> <a id="3738" href="Categories.Morphism.html#1206" class="Field">mor</a> <a id="3742" href="Categories.Morphism.Properties.html#3714" class="Bound">f</a> <a id="3744" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3746" href="Categories.Morphism.html#1206" class="Field">mor</a> <a id="3750" href="Categories.Morphism.Properties.html#3719" class="Bound">g</a> <a id="3752" class="Symbol">;</a> <a id="3754" href="Categories.Morphism.html#1222" class="Field">epi</a> <a id="3758" class="Symbol">=</a> <a id="3760" href="Categories.Morphism.Properties.html#3461" class="Function">Epi-∘</a> <a id="3766" class="Symbol">(</a><a id="3767" href="Categories.Morphism.html#1222" class="Field">epi</a> <a id="3771" href="Categories.Morphism.Properties.html#3714" class="Bound">f</a><a id="3772" class="Symbol">)</a> <a id="3774" class="Symbol">(</a><a id="3775" href="Categories.Morphism.html#1222" class="Field">epi</a> <a id="3779" href="Categories.Morphism.Properties.html#3719" class="Bound">g</a><a id="3780" class="Symbol">)</a> <a id="3782" class="Symbol">}</a>
|
|||
|
<a id="3786" class="Keyword">where</a>
|
|||
|
<a id="3796" class="Keyword">open</a> <a id="3801" href="Categories.Morphism.html#1154" class="Module Operator">_↠_</a>
|
|||
|
|
|||
|
<a id="3806" class="Comment">--------------------------------------------------------------------------------</a>
|
|||
|
<a id="3887" class="Comment">-- Isomorphism from a section and a retraction</a>
|
|||
|
|
|||
|
<a id="EpicRetract⇒Iso"></a><a id="3935" href="Categories.Morphism.Properties.html#3935" class="Function">EpicRetract⇒Iso</a> <a id="3951" class="Symbol">:</a> <a id="3953" class="Symbol">∀</a> <a id="3955" class="Symbol">{</a><a id="3956" href="Categories.Morphism.Properties.html#3956" class="Bound">X</a> <a id="3958" href="Categories.Morphism.Properties.html#3958" class="Bound">Y</a><a id="3959" class="Symbol">}</a> <a id="3961" class="Symbol">{</a><a id="3962" href="Categories.Morphism.Properties.html#3962" class="Bound">f</a> <a id="3964" class="Symbol">:</a> <a id="3966" href="Categories.Morphism.Properties.html#3958" class="Bound">Y</a> <a id="3968" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="3970" href="Categories.Morphism.Properties.html#3956" class="Bound">X</a><a id="3971" class="Symbol">}</a> <a id="3973" class="Symbol">{</a><a id="3974" href="Categories.Morphism.Properties.html#3974" class="Bound">r</a> <a id="3976" class="Symbol">:</a> <a id="3978" href="Categories.Morphism.Properties.html#3956" class="Bound">X</a> <a id="3980" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="3982" href="Categories.Morphism.Properties.html#3958" class="Bound">Y</a><a id="3983" class="Symbol">}</a> <a id="3985" class="Symbol">→</a>
|
|||
|
<a id="4007" href="Categories.Morphism.Properties.html#3974" class="Bound">r</a> <a id="4009" href="Categories.Morphism.html#1311" class="Function Operator">RetractOf</a> <a id="4019" href="Categories.Morphism.Properties.html#3962" class="Bound">f</a> <a id="4021" class="Symbol">→</a> <a id="4023" href="Categories.Morphism.html#875" class="Function">Epi</a> <a id="4027" href="Categories.Morphism.Properties.html#3962" class="Bound">f</a> <a id="4029" class="Symbol">→</a> <a id="4031" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="4035" href="Categories.Morphism.Properties.html#3962" class="Bound">f</a> <a id="4037" href="Categories.Morphism.Properties.html#3974" class="Bound">r</a>
|
|||
|
<a id="4039" href="Categories.Morphism.Properties.html#3935" class="Function">EpicRetract⇒Iso</a> <a id="4055" class="Symbol">{</a><a id="4056" class="Argument">f</a> <a id="4058" class="Symbol">=</a> <a id="4060" href="Categories.Morphism.Properties.html#4060" class="Bound">f</a><a id="4061" class="Symbol">}</a> <a id="4063" class="Symbol">{</a><a id="4064" href="Categories.Morphism.Properties.html#4064" class="Bound">r</a><a id="4065" class="Symbol">}</a> <a id="4067" href="Categories.Morphism.Properties.html#4067" class="Bound">rf≈id</a> <a id="4073" href="Categories.Morphism.Properties.html#4073" class="Bound">epi</a> <a id="4077" class="Symbol">=</a> <a id="4079" class="Keyword">record</a> <a id="4086" class="Symbol">{</a>
|
|||
|
<a id="4091" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="4096" class="Symbol">=</a> <a id="4098" href="Categories.Morphism.Properties.html#4067" class="Bound">rf≈id</a> <a id="4104" class="Symbol">;</a>
|
|||
|
<a id="4109" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="4114" class="Symbol">=</a> <a id="4116" href="Categories.Morphism.Properties.html#4073" class="Bound">epi</a> <a id="4120" class="Symbol">(</a><a id="4121" href="Categories.Morphism.Properties.html#4060" class="Bound">f</a> <a id="4123" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4125" href="Categories.Morphism.Properties.html#4064" class="Bound">r</a><a id="4126" class="Symbol">)</a> <a id="4128" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4131" href="Categories.Morphism.Properties.html#4149" class="Function">frf≈idf</a> <a id="4139" class="Symbol">}</a>
|
|||
|
<a id="4143" class="Keyword">where</a> <a id="4149" href="Categories.Morphism.Properties.html#4149" class="Function">frf≈idf</a> <a id="4157" class="Symbol">:</a> <a id="4159" class="Symbol">(</a><a id="4160" href="Categories.Morphism.Properties.html#4060" class="Bound">f</a> <a id="4162" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4164" href="Categories.Morphism.Properties.html#4064" class="Bound">r</a><a id="4165" class="Symbol">)</a> <a id="4167" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4169" href="Categories.Morphism.Properties.html#4060" class="Bound">f</a> <a id="4171" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="4173" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4176" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4178" href="Categories.Morphism.Properties.html#4060" class="Bound">f</a>
|
|||
|
<a id="4188" href="Categories.Morphism.Properties.html#4149" class="Function">frf≈idf</a> <a id="4196" class="Symbol">=</a> <a id="4198" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="4214" class="Symbol">(</a><a id="4215" href="Categories.Morphism.Properties.html#4060" class="Bound">f</a> <a id="4217" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4219" href="Categories.Morphism.Properties.html#4064" class="Bound">r</a><a id="4220" class="Symbol">)</a> <a id="4222" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4224" href="Categories.Morphism.Properties.html#4060" class="Bound">f</a> <a id="4226" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4229" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="4235" href="Categories.Morphism.Properties.html#4067" class="Bound">rf≈id</a> <a id="4241" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4253" href="Categories.Morphism.Properties.html#4060" class="Bound">f</a> <a id="4255" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4257" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4263" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4266" href="Categories.Morphism.Reasoning.Core.html#1202" class="Function">id-comm</a> <a id="4274" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4286" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4289" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4291" href="Categories.Morphism.Properties.html#4060" class="Bound">f</a> <a id="4293" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="MonicSection⇒Iso"></a><a id="4296" href="Categories.Morphism.Properties.html#4296" class="Function">MonicSection⇒Iso</a> <a id="4313" class="Symbol">:</a> <a id="4315" class="Symbol">∀</a> <a id="4317" class="Symbol">{</a><a id="4318" href="Categories.Morphism.Properties.html#4318" class="Bound">X</a> <a id="4320" href="Categories.Morphism.Properties.html#4320" class="Bound">Y</a><a id="4321" class="Symbol">}</a> <a id="4323" class="Symbol">{</a><a id="4324" href="Categories.Morphism.Properties.html#4324" class="Bound">f</a> <a id="4326" class="Symbol">:</a> <a id="4328" href="Categories.Morphism.Properties.html#4320" class="Bound">Y</a> <a id="4330" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="4332" href="Categories.Morphism.Properties.html#4318" class="Bound">X</a><a id="4333" class="Symbol">}</a> <a id="4335" class="Symbol">{</a><a id="4336" href="Categories.Morphism.Properties.html#4336" class="Bound">s</a> <a id="4338" class="Symbol">:</a> <a id="4340" href="Categories.Morphism.Properties.html#4318" class="Bound">X</a> <a id="4342" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="4344" href="Categories.Morphism.Properties.html#4320" class="Bound">Y</a><a id="4345" class="Symbol">}</a> <a id="4347" class="Symbol">→</a>
|
|||
|
<a id="4369" href="Categories.Morphism.Properties.html#4336" class="Bound">s</a> <a id="4371" href="Categories.Morphism.html#1237" class="Function Operator">SectionOf</a> <a id="4381" href="Categories.Morphism.Properties.html#4324" class="Bound">f</a> <a id="4383" class="Symbol">→</a> <a id="4385" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="4390" href="Categories.Morphism.Properties.html#4324" class="Bound">f</a> <a id="4392" class="Symbol">→</a> <a id="4394" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="4398" href="Categories.Morphism.Properties.html#4324" class="Bound">f</a> <a id="4400" href="Categories.Morphism.Properties.html#4336" class="Bound">s</a>
|
|||
|
<a id="4402" href="Categories.Morphism.Properties.html#4296" class="Function">MonicSection⇒Iso</a> <a id="4419" class="Symbol">{</a><a id="4420" class="Argument">f</a> <a id="4422" class="Symbol">=</a> <a id="4424" href="Categories.Morphism.Properties.html#4424" class="Bound">f</a><a id="4425" class="Symbol">}</a> <a id="4427" class="Symbol">{</a><a id="4428" href="Categories.Morphism.Properties.html#4428" class="Bound">s</a><a id="4429" class="Symbol">}</a> <a id="4431" href="Categories.Morphism.Properties.html#4431" class="Bound">fs≈id</a> <a id="4437" href="Categories.Morphism.Properties.html#4437" class="Bound">mono</a> <a id="4442" class="Symbol">=</a> <a id="4444" class="Keyword">record</a> <a id="4451" class="Symbol">{</a>
|
|||
|
<a id="4456" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="4461" class="Symbol">=</a> <a id="4463" href="Categories.Morphism.Properties.html#4437" class="Bound">mono</a> <a id="4468" class="Symbol">(</a><a id="4469" href="Categories.Morphism.Properties.html#4428" class="Bound">s</a> <a id="4471" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4473" href="Categories.Morphism.Properties.html#4424" class="Bound">f</a><a id="4474" class="Symbol">)</a> <a id="4476" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4479" href="Categories.Morphism.Properties.html#4514" class="Function">fsf≈fid</a> <a id="4487" class="Symbol">;</a>
|
|||
|
<a id="4491" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="4496" class="Symbol">=</a> <a id="4498" href="Categories.Morphism.Properties.html#4431" class="Bound">fs≈id</a> <a id="4504" class="Symbol">}</a>
|
|||
|
<a id="4508" class="Keyword">where</a> <a id="4514" href="Categories.Morphism.Properties.html#4514" class="Function">fsf≈fid</a> <a id="4522" class="Symbol">:</a> <a id="4524" href="Categories.Morphism.Properties.html#4424" class="Bound">f</a> <a id="4526" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4528" class="Symbol">(</a><a id="4529" href="Categories.Morphism.Properties.html#4428" class="Bound">s</a> <a id="4531" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4533" href="Categories.Morphism.Properties.html#4424" class="Bound">f</a><a id="4534" class="Symbol">)</a> <a id="4536" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="4538" href="Categories.Morphism.Properties.html#4424" class="Bound">f</a> <a id="4540" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4542" href="Categories.Category.Core.html#630" class="Field">id</a>
|
|||
|
<a id="4553" href="Categories.Morphism.Properties.html#4514" class="Function">fsf≈fid</a> <a id="4561" class="Symbol">=</a> <a id="4563" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="4580" href="Categories.Morphism.Properties.html#4424" class="Bound">f</a> <a id="4582" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4584" class="Symbol">(</a><a id="4585" href="Categories.Morphism.Properties.html#4428" class="Bound">s</a> <a id="4587" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4589" href="Categories.Morphism.Properties.html#4424" class="Bound">f</a><a id="4590" class="Symbol">)</a> <a id="4592" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4595" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="4601" href="Categories.Morphism.Properties.html#4431" class="Bound">fs≈id</a> <a id="4607" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4619" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4622" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4624" href="Categories.Morphism.Properties.html#4424" class="Bound">f</a> <a id="4631" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4634" href="Categories.Morphism.Reasoning.Core.html#1309" class="Function">id-comm-sym</a> <a id="4646" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4658" href="Categories.Morphism.Properties.html#4424" class="Bound">f</a> <a id="4660" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4662" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="4665" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="≈-SectionRetraction"></a><a id="4668" href="Categories.Morphism.Properties.html#4668" class="Function">≈-SectionRetraction</a> <a id="4688" class="Symbol">:</a> <a id="4690" class="Symbol">∀</a> <a id="4692" class="Symbol">{</a><a id="4693" href="Categories.Morphism.Properties.html#4693" class="Bound">X</a> <a id="4695" href="Categories.Morphism.Properties.html#4695" class="Bound">Y</a><a id="4696" class="Symbol">}</a> <a id="4698" class="Symbol">{</a><a id="4699" href="Categories.Morphism.Properties.html#4699" class="Bound">f</a> <a id="4701" class="Symbol">:</a> <a id="4703" href="Categories.Morphism.Properties.html#4695" class="Bound">Y</a> <a id="4705" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="4707" href="Categories.Morphism.Properties.html#4693" class="Bound">X</a><a id="4708" class="Symbol">}</a> <a id="4710" class="Symbol">{</a><a id="4711" href="Categories.Morphism.Properties.html#4711" class="Bound">s</a> <a id="4713" href="Categories.Morphism.Properties.html#4713" class="Bound">r</a> <a id="4715" class="Symbol">:</a> <a id="4717" href="Categories.Morphism.Properties.html#4693" class="Bound">X</a> <a id="4719" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="4721" href="Categories.Morphism.Properties.html#4695" class="Bound">Y</a><a id="4722" class="Symbol">}</a> <a id="4724" class="Symbol">→</a>
|
|||
|
<a id="4749" href="Categories.Morphism.Properties.html#4711" class="Bound">s</a> <a id="4751" href="Categories.Morphism.html#1237" class="Function Operator">SectionOf</a> <a id="4761" href="Categories.Morphism.Properties.html#4699" class="Bound">f</a> <a id="4763" class="Symbol">→</a> <a id="4765" href="Categories.Morphism.Properties.html#4713" class="Bound">r</a> <a id="4767" href="Categories.Morphism.html#1311" class="Function Operator">RetractOf</a> <a id="4777" href="Categories.Morphism.Properties.html#4699" class="Bound">f</a> <a id="4779" class="Symbol">→</a> <a id="4781" href="Categories.Morphism.Properties.html#4711" class="Bound">s</a> <a id="4783" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="4785" href="Categories.Morphism.Properties.html#4713" class="Bound">r</a>
|
|||
|
<a id="4787" href="Categories.Morphism.Properties.html#4668" class="Function">≈-SectionRetraction</a> <a id="4807" class="Symbol">{</a><a id="4808" class="Argument">f</a> <a id="4810" class="Symbol">=</a> <a id="4812" href="Categories.Morphism.Properties.html#4812" class="Bound">f</a><a id="4813" class="Symbol">}</a> <a id="4815" class="Symbol">{</a><a id="4816" href="Categories.Morphism.Properties.html#4816" class="Bound">s</a><a id="4817" class="Symbol">}</a> <a id="4819" class="Symbol">{</a><a id="4820" href="Categories.Morphism.Properties.html#4820" class="Bound">r</a><a id="4821" class="Symbol">}</a> <a id="4823" href="Categories.Morphism.Properties.html#4823" class="Bound">fs≈id</a> <a id="4829" href="Categories.Morphism.Properties.html#4829" class="Bound">rf≈id</a> <a id="4835" class="Symbol">=</a> <a id="4837" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="4845" href="Categories.Morphism.Properties.html#4816" class="Bound">s</a> <a id="4857" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4860" href="Categories.Morphism.Reasoning.Core.html#6986" class="Function">insertˡ</a> <a id="4868" href="Categories.Morphism.Properties.html#4829" class="Bound">rf≈id</a> <a id="4874" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4878" href="Categories.Morphism.Properties.html#4820" class="Bound">r</a> <a id="4880" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4882" class="Symbol">(</a><a id="4883" href="Categories.Morphism.Properties.html#4812" class="Bound">f</a> <a id="4885" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4887" href="Categories.Morphism.Properties.html#4816" class="Bound">s</a><a id="4888" class="Symbol">)</a> <a id="4890" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4893" href="Categories.Morphism.Reasoning.Core.html#2786" class="Function">elimʳ</a> <a id="4899" href="Categories.Morphism.Properties.html#4823" class="Bound">fs≈id</a> <a id="4905" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="4909" href="Categories.Morphism.Properties.html#4820" class="Bound">r</a> <a id="4911" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="SectionRetraction⇒Isoˡ"></a><a id="4914" href="Categories.Morphism.Properties.html#4914" class="Function">SectionRetraction⇒Isoˡ</a> <a id="4937" class="Symbol">:</a> <a id="4939" class="Symbol">∀</a> <a id="4941" class="Symbol">{</a><a id="4942" href="Categories.Morphism.Properties.html#4942" class="Bound">X</a> <a id="4944" href="Categories.Morphism.Properties.html#4944" class="Bound">Y</a><a id="4945" class="Symbol">}</a> <a id="4947" class="Symbol">{</a><a id="4948" href="Categories.Morphism.Properties.html#4948" class="Bound">f</a> <a id="4950" class="Symbol">:</a> <a id="4952" href="Categories.Morphism.Properties.html#4944" class="Bound">Y</a> <a id="4954" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="4956" href="Categories.Morphism.Properties.html#4942" class="Bound">X</a><a id="4957" class="Symbol">}</a> <a id="4959" class="Symbol">{</a><a id="4960" href="Categories.Morphism.Properties.html#4960" class="Bound">s</a> <a id="4962" href="Categories.Morphism.Properties.html#4962" class="Bound">r</a> <a id="4964" class="Symbol">:</a> <a id="4966" href="Categories.Morphism.Properties.html#4942" class="Bound">X</a> <a id="4968" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="4970" href="Categories.Morphism.Properties.html#4944" class="Bound">Y</a><a id="4971" class="Symbol">}</a> <a id="4973" class="Symbol">→</a>
|
|||
|
<a id="5001" href="Categories.Morphism.Properties.html#4960" class="Bound">s</a> <a id="5003" href="Categories.Morphism.html#1237" class="Function Operator">SectionOf</a> <a id="5013" href="Categories.Morphism.Properties.html#4948" class="Bound">f</a> <a id="5015" class="Symbol">→</a> <a id="5017" href="Categories.Morphism.Properties.html#4962" class="Bound">r</a> <a id="5019" href="Categories.Morphism.html#1311" class="Function Operator">RetractOf</a> <a id="5029" href="Categories.Morphism.Properties.html#4948" class="Bound">f</a> <a id="5031" class="Symbol">→</a> <a id="5033" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="5037" href="Categories.Morphism.Properties.html#4948" class="Bound">f</a> <a id="5039" href="Categories.Morphism.Properties.html#4960" class="Bound">s</a>
|
|||
|
<a id="5041" href="Categories.Morphism.Properties.html#4914" class="Function">SectionRetraction⇒Isoˡ</a> <a id="5064" class="Symbol">{</a><a id="5065" class="Argument">f</a> <a id="5067" class="Symbol">=</a> <a id="5069" href="Categories.Morphism.Properties.html#5069" class="Bound">f</a><a id="5070" class="Symbol">}</a> <a id="5072" class="Symbol">{</a><a id="5073" href="Categories.Morphism.Properties.html#5073" class="Bound">s</a><a id="5074" class="Symbol">}</a> <a id="5076" class="Symbol">{</a><a id="5077" href="Categories.Morphism.Properties.html#5077" class="Bound">r</a><a id="5078" class="Symbol">}</a> <a id="5080" href="Categories.Morphism.Properties.html#5080" class="Bound">fs≈id</a> <a id="5086" href="Categories.Morphism.Properties.html#5086" class="Bound">rf≈id</a> <a id="5092" class="Symbol">=</a> <a id="5094" class="Keyword">record</a> <a id="5101" class="Symbol">{</a>
|
|||
|
<a id="5106" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="5111" class="Symbol">=</a> <a id="5113" href="Categories.Morphism.Properties.html#5147" class="Function">sf≈id</a> <a id="5119" class="Symbol">;</a>
|
|||
|
<a id="5124" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="5129" class="Symbol">=</a> <a id="5131" href="Categories.Morphism.Properties.html#5080" class="Bound">fs≈id</a> <a id="5137" class="Symbol">}</a>
|
|||
|
<a id="5141" class="Keyword">where</a> <a id="5147" href="Categories.Morphism.Properties.html#5147" class="Function">sf≈id</a> <a id="5153" class="Symbol">:</a> <a id="5155" href="Categories.Morphism.Properties.html#5073" class="Bound">s</a> <a id="5157" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5159" href="Categories.Morphism.Properties.html#5069" class="Bound">f</a> <a id="5161" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="5163" href="Categories.Category.Core.html#630" class="Field">id</a>
|
|||
|
<a id="5174" href="Categories.Morphism.Properties.html#5147" class="Function">sf≈id</a> <a id="5180" class="Symbol">=</a> <a id="5182" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="5198" href="Categories.Morphism.Properties.html#5073" class="Bound">s</a> <a id="5200" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5202" href="Categories.Morphism.Properties.html#5069" class="Bound">f</a> <a id="5205" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5208" href="Categories.Morphism.Properties.html#4668" class="Function">≈-SectionRetraction</a> <a id="5228" href="Categories.Morphism.Properties.html#5080" class="Bound">fs≈id</a> <a id="5234" href="Categories.Morphism.Properties.html#5086" class="Bound">rf≈id</a> <a id="5240" href="Categories.Category.Core.html#2837" class="Function Operator">⟩∘⟨refl</a> <a id="5248" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5260" href="Categories.Morphism.Properties.html#5077" class="Bound">r</a> <a id="5262" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5264" href="Categories.Morphism.Properties.html#5069" class="Bound">f</a> <a id="5267" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5270" href="Categories.Morphism.Properties.html#5086" class="Bound">rf≈id</a> <a id="5276" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5288" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="5291" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
|
|||
|
<a id="SectionRetraction⇒Isoʳ"></a><a id="5294" href="Categories.Morphism.Properties.html#5294" class="Function">SectionRetraction⇒Isoʳ</a> <a id="5317" class="Symbol">:</a> <a id="5319" class="Symbol">∀</a> <a id="5321" class="Symbol">{</a><a id="5322" href="Categories.Morphism.Properties.html#5322" class="Bound">X</a> <a id="5324" href="Categories.Morphism.Properties.html#5324" class="Bound">Y</a><a id="5325" class="Symbol">}</a> <a id="5327" class="Symbol">{</a><a id="5328" href="Categories.Morphism.Properties.html#5328" class="Bound">f</a> <a id="5330" class="Symbol">:</a> <a id="5332" href="Categories.Morphism.Properties.html#5324" class="Bound">Y</a> <a id="5334" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5336" href="Categories.Morphism.Properties.html#5322" class="Bound">X</a><a id="5337" class="Symbol">}</a> <a id="5339" class="Symbol">{</a><a id="5340" href="Categories.Morphism.Properties.html#5340" class="Bound">s</a> <a id="5342" href="Categories.Morphism.Properties.html#5342" class="Bound">r</a> <a id="5344" class="Symbol">:</a> <a id="5346" href="Categories.Morphism.Properties.html#5322" class="Bound">X</a> <a id="5348" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="5350" href="Categories.Morphism.Properties.html#5324" class="Bound">Y</a><a id="5351" class="Symbol">}</a> <a id="5353" class="Symbol">→</a>
|
|||
|
<a id="5381" href="Categories.Morphism.Properties.html#5340" class="Bound">s</a> <a id="5383" href="Categories.Morphism.html#1237" class="Function Operator">SectionOf</a> <a id="5393" href="Categories.Morphism.Properties.html#5328" class="Bound">f</a> <a id="5395" class="Symbol">→</a> <a id="5397" href="Categories.Morphism.Properties.html#5342" class="Bound">r</a> <a id="5399" href="Categories.Morphism.html#1311" class="Function Operator">RetractOf</a> <a id="5409" href="Categories.Morphism.Properties.html#5328" class="Bound">f</a> <a id="5411" class="Symbol">→</a> <a id="5413" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="5417" href="Categories.Morphism.Properties.html#5328" class="Bound">f</a> <a id="5419" href="Categories.Morphism.Properties.html#5342" class="Bound">r</a>
|
|||
|
<a id="5421" href="Categories.Morphism.Properties.html#5294" class="Function">SectionRetraction⇒Isoʳ</a> <a id="5444" class="Symbol">{</a><a id="5445" class="Argument">f</a> <a id="5447" class="Symbol">=</a> <a id="5449" href="Categories.Morphism.Properties.html#5449" class="Bound">f</a><a id="5450" class="Symbol">}</a> <a id="5452" class="Symbol">{</a><a id="5453" href="Categories.Morphism.Properties.html#5453" class="Bound">s</a><a id="5454" class="Symbol">}</a> <a id="5456" class="Symbol">{</a><a id="5457" href="Categories.Morphism.Properties.html#5457" class="Bound">r</a><a id="5458" class="Symbol">}</a> <a id="5460" href="Categories.Morphism.Properties.html#5460" class="Bound">fs≈id</a> <a id="5466" href="Categories.Morphism.Properties.html#5466" class="Bound">rf≈id</a> <a id="5472" class="Symbol">=</a> <a id="5474" class="Keyword">record</a> <a id="5481" class="Symbol">{</a>
|
|||
|
<a id="5486" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="5491" class="Symbol">=</a> <a id="5493" href="Categories.Morphism.Properties.html#5466" class="Bound">rf≈id</a> <a id="5499" class="Symbol">;</a>
|
|||
|
<a id="5504" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="5509" class="Symbol">=</a> <a id="5511" href="Categories.Morphism.Properties.html#5527" class="Function">fr≈id</a> <a id="5517" class="Symbol">}</a>
|
|||
|
<a id="5521" class="Keyword">where</a> <a id="5527" href="Categories.Morphism.Properties.html#5527" class="Function">fr≈id</a> <a id="5533" class="Symbol">:</a> <a id="5535" href="Categories.Morphism.Properties.html#5449" class="Bound">f</a> <a id="5537" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5539" href="Categories.Morphism.Properties.html#5457" class="Bound">r</a> <a id="5541" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="5543" href="Categories.Category.Core.html#630" class="Field">id</a>
|
|||
|
<a id="5554" href="Categories.Morphism.Properties.html#5527" class="Function">fr≈id</a> <a id="5560" class="Symbol">=</a> <a id="5562" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
|||
|
<a id="5578" href="Categories.Morphism.Properties.html#5449" class="Bound">f</a> <a id="5580" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5582" href="Categories.Morphism.Properties.html#5457" class="Bound">r</a> <a id="5584" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5587" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="5595" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="5597" class="Symbol">(</a><a id="5598" href="Categories.Morphism.Properties.html#4668" class="Function">≈-SectionRetraction</a> <a id="5618" href="Categories.Morphism.Properties.html#5460" class="Bound">fs≈id</a> <a id="5624" href="Categories.Morphism.Properties.html#5466" class="Bound">rf≈id</a><a id="5629" class="Symbol">)</a> <a id="5631" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5643" href="Categories.Morphism.Properties.html#5449" class="Bound">f</a> <a id="5645" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5647" href="Categories.Morphism.Properties.html#5453" class="Bound">s</a> <a id="5649" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5652" href="Categories.Morphism.Properties.html#5460" class="Bound">fs≈id</a> <a id="5658" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
|||
|
<a id="5670" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="5673" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
|||
|
</pre></body></html>
|