mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
244 lines
No EOL
118 KiB
HTML
244 lines
No EOL
118 KiB
HTML
<!DOCTYPE HTML>
|
||
<html><head><meta charset="utf-8"><title>Categories.Diagram.Pullback</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.Core.html" class="Module">Categories.Category.Core</a> <a id="73" class="Keyword">using</a> <a id="79" class="Symbol">(</a><a id="80" href="Categories.Category.Core.html#442" class="Record">Category</a><a id="88" class="Symbol">)</a>
|
||
|
||
<a id="91" class="Keyword">module</a> <a id="98" href="Categories.Diagram.Pullback.html" class="Module">Categories.Diagram.Pullback</a> <a id="126" class="Symbol">{</a><a id="127" href="Categories.Diagram.Pullback.html#127" class="Bound">o</a> <a id="129" href="Categories.Diagram.Pullback.html#129" class="Bound">ℓ</a> <a id="131" href="Categories.Diagram.Pullback.html#131" class="Bound">e</a><a id="132" class="Symbol">}</a> <a id="134" class="Symbol">(</a><a id="135" href="Categories.Diagram.Pullback.html#135" class="Bound">C</a> <a id="137" class="Symbol">:</a> <a id="139" href="Categories.Category.Core.html#442" class="Record">Category</a> <a id="148" href="Categories.Diagram.Pullback.html#127" class="Bound">o</a> <a id="150" href="Categories.Diagram.Pullback.html#129" class="Bound">ℓ</a> <a id="152" href="Categories.Diagram.Pullback.html#131" class="Bound">e</a><a id="153" class="Symbol">)</a> <a id="155" class="Keyword">where</a>
|
||
|
||
<a id="162" class="Keyword">open</a> <a id="167" href="Categories.Category.Core.html#442" class="Module">Category</a> <a id="176" href="Categories.Diagram.Pullback.html#135" class="Bound">C</a>
|
||
<a id="178" class="Keyword">open</a> <a id="183" href="Categories.Category.Core.html#2462" class="Module">HomReasoning</a>
|
||
<a id="196" class="Keyword">open</a> <a id="201" href="Categories.Category.Core.html#1530" class="Module">Equiv</a>
|
||
|
||
<a id="208" class="Keyword">open</a> <a id="213" class="Keyword">import</a> <a id="220" href="Level.html" class="Module">Level</a>
|
||
<a id="226" class="Keyword">open</a> <a id="231" class="Keyword">import</a> <a id="238" href="Data.Product.html" class="Module">Data.Product</a> <a id="251" class="Keyword">using</a> <a id="257" class="Symbol">(</a><a id="258" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">_,_</a><a id="261" class="Symbol">;</a> <a id="263" href="Data.Product.Base.html#852" class="Function">∃</a><a id="264" class="Symbol">)</a>
|
||
<a id="266" class="Keyword">open</a> <a id="271" class="Keyword">import</a> <a id="278" href="Function.html" class="Module">Function</a> <a id="287" class="Keyword">using</a> <a id="293" class="Symbol">(</a><a id="294" href="Function.Base.html#1638" class="Function">flip</a><a id="298" class="Symbol">;</a> <a id="300" href="Function.Base.html#1974" class="Function Operator">_$_</a><a id="303" class="Symbol">)</a> <a id="305" class="Keyword">renaming</a> <a id="314" class="Symbol">(</a><a id="315" href="Function.Base.html#1115" class="Function Operator">_∘_</a> <a id="319" class="Symbol">to</a> <a id="322" class="Function Operator">_●_</a><a id="325" class="Symbol">)</a>
|
||
<a id="327" class="Keyword">open</a> <a id="332" class="Keyword">import</a> <a id="339" href="Categories.Morphism.html" class="Module">Categories.Morphism</a> <a id="359" href="Categories.Diagram.Pullback.html#135" class="Bound">C</a>
|
||
<a id="361" class="Keyword">open</a> <a id="366" class="Keyword">import</a> <a id="373" href="Categories.Object.Product.html" class="Module">Categories.Object.Product</a> <a id="399" href="Categories.Diagram.Pullback.html#135" class="Bound">C</a> <a id="401" class="Keyword">hiding</a> <a id="408" class="Symbol">(</a><a id="409" href="Categories.Object.Product.Core.html#2581" class="Function">up-to-iso</a><a id="418" class="Symbol">;</a> <a id="420" href="Categories.Object.Product.Core.html#2078" class="Function">repack</a><a id="426" class="Symbol">;</a> <a id="428" href="Categories.Object.Product.Core.html#2168" class="Function">repack∘</a><a id="435" class="Symbol">;</a> <a id="437" href="Categories.Object.Product.Core.html#2451" class="Function">repack-cancel</a><a id="450" class="Symbol">)</a>
|
||
<a id="452" class="Keyword">open</a> <a id="457" class="Keyword">import</a> <a id="464" href="Categories.Diagram.Equalizer.html" class="Module">Categories.Diagram.Equalizer</a> <a id="493" href="Categories.Diagram.Pullback.html#135" class="Bound">C</a> <a id="495" class="Keyword">hiding</a> <a id="502" class="Symbol">(</a><a id="503" href="Categories.Diagram.Equalizer.html#2254" class="Function">up-to-iso</a><a id="512" class="Symbol">)</a>
|
||
<a id="514" class="Keyword">open</a> <a id="519" class="Keyword">import</a> <a id="526" href="Categories.Morphism.Reasoning.html" class="Module">Categories.Morphism.Reasoning</a> <a id="556" href="Categories.Diagram.Pullback.html#135" class="Bound">C</a> as <a id="Square"></a><a id="561" href="Categories.Diagram.Pullback.html#561" class="Module">Square</a>
|
||
<a id="570" class="Keyword">renaming</a> <a id="579" class="Symbol">(</a><a id="580" href="Categories.Morphism.Reasoning.Core.html#4290" class="Function">glue</a> <a id="585" class="Symbol">to</a> <a id="588" class="Function">glue-square</a><a id="599" class="Symbol">)</a> <a id="601" class="Keyword">hiding</a> <a id="608" class="Symbol">(</a><a id="609" href="Categories.Morphism.Reasoning.Core.html#1075" class="Function">id-unique</a><a id="618" class="Symbol">)</a>
|
||
|
||
<a id="621" class="Keyword">private</a>
|
||
<a id="631" class="Keyword">variable</a>
|
||
<a id="644" href="Categories.Diagram.Pullback.html#644" class="Generalizable">A</a> <a id="646" href="Categories.Diagram.Pullback.html#646" class="Generalizable">B</a> <a id="648" href="Categories.Diagram.Pullback.html#648" class="Generalizable">X</a> <a id="650" href="Categories.Diagram.Pullback.html#650" class="Generalizable">Y</a> <a id="652" href="Categories.Diagram.Pullback.html#652" class="Generalizable">Z</a> <a id="654" class="Symbol">:</a> <a id="656" href="Categories.Category.Core.html#559" class="Field">Obj</a>
|
||
<a id="664" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="666" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a> <a id="668" href="Categories.Diagram.Pullback.html#668" class="Generalizable">h</a> <a id="670" href="Categories.Diagram.Pullback.html#670" class="Generalizable">h₁</a> <a id="673" href="Categories.Diagram.Pullback.html#673" class="Generalizable">h₂</a> <a id="676" href="Categories.Diagram.Pullback.html#676" class="Generalizable">i</a> <a id="678" href="Categories.Diagram.Pullback.html#678" class="Generalizable">i₁</a> <a id="681" href="Categories.Diagram.Pullback.html#681" class="Generalizable">i₂</a> <a id="684" href="Categories.Diagram.Pullback.html#684" class="Generalizable">j</a> <a id="686" href="Categories.Diagram.Pullback.html#686" class="Generalizable">k</a> <a id="688" class="Symbol">:</a> <a id="690" href="Categories.Diagram.Pullback.html#644" class="Generalizable">A</a> <a id="692" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="694" href="Categories.Diagram.Pullback.html#646" class="Generalizable">B</a>
|
||
|
||
<a id="697" class="Comment">-- Proof that a given square is a pullback</a>
|
||
<a id="740" class="Keyword">record</a> <a id="IsPullback"></a><a id="747" href="Categories.Diagram.Pullback.html#747" class="Record">IsPullback</a> <a id="758" class="Symbol">{</a><a id="759" href="Categories.Diagram.Pullback.html#759" class="Bound">P</a> <a id="761" class="Symbol">:</a> <a id="763" href="Categories.Category.Core.html#559" class="Field">Obj</a><a id="766" class="Symbol">}</a> <a id="768" class="Symbol">(</a><a id="769" href="Categories.Diagram.Pullback.html#769" class="Bound">p₁</a> <a id="772" class="Symbol">:</a> <a id="774" href="Categories.Diagram.Pullback.html#759" class="Bound">P</a> <a id="776" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="778" href="Categories.Diagram.Pullback.html#648" class="Generalizable">X</a><a id="779" class="Symbol">)</a> <a id="781" class="Symbol">(</a><a id="782" href="Categories.Diagram.Pullback.html#782" class="Bound">p₂</a> <a id="785" class="Symbol">:</a> <a id="787" href="Categories.Diagram.Pullback.html#759" class="Bound">P</a> <a id="789" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="791" href="Categories.Diagram.Pullback.html#650" class="Generalizable">Y</a><a id="792" class="Symbol">)</a> <a id="794" class="Symbol">(</a><a id="795" href="Categories.Diagram.Pullback.html#795" class="Bound">f</a> <a id="797" class="Symbol">:</a> <a id="799" href="Categories.Diagram.Pullback.html#648" class="Generalizable">X</a> <a id="801" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="803" href="Categories.Diagram.Pullback.html#652" class="Generalizable">Z</a><a id="804" class="Symbol">)</a> <a id="806" class="Symbol">(</a><a id="807" href="Categories.Diagram.Pullback.html#807" class="Bound">g</a> <a id="809" class="Symbol">:</a> <a id="811" href="Categories.Diagram.Pullback.html#650" class="Generalizable">Y</a> <a id="813" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="815" href="Categories.Diagram.Pullback.html#652" class="Generalizable">Z</a><a id="816" class="Symbol">)</a> <a id="818" class="Symbol">:</a> <a id="820" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="824" class="Symbol">(</a><a id="825" href="Categories.Diagram.Pullback.html#127" class="Bound">o</a> <a id="827" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="829" href="Categories.Diagram.Pullback.html#129" class="Bound">ℓ</a> <a id="831" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="833" href="Categories.Diagram.Pullback.html#131" class="Bound">e</a><a id="834" class="Symbol">)</a> <a id="836" class="Keyword">where</a>
|
||
<a id="844" class="Keyword">field</a>
|
||
<a id="IsPullback.commute"></a><a id="854" href="Categories.Diagram.Pullback.html#854" class="Field">commute</a> <a id="864" class="Symbol">:</a> <a id="866" href="Categories.Diagram.Pullback.html#795" class="Bound">f</a> <a id="868" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="870" href="Categories.Diagram.Pullback.html#769" class="Bound">p₁</a> <a id="873" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="875" href="Categories.Diagram.Pullback.html#807" class="Bound">g</a> <a id="877" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="879" href="Categories.Diagram.Pullback.html#782" class="Bound">p₂</a>
|
||
<a id="IsPullback.universal"></a><a id="886" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="896" class="Symbol">:</a> <a id="898" class="Symbol">∀</a> <a id="900" class="Symbol">{</a><a id="901" href="Categories.Diagram.Pullback.html#901" class="Bound">h₁</a> <a id="904" class="Symbol">:</a> <a id="906" href="Categories.Diagram.Pullback.html#644" class="Generalizable">A</a> <a id="908" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="910" href="Categories.Diagram.Pullback.html#778" class="Bound">X</a><a id="911" class="Symbol">}</a> <a id="913" class="Symbol">{</a><a id="914" href="Categories.Diagram.Pullback.html#914" class="Bound">h₂</a> <a id="917" class="Symbol">:</a> <a id="919" href="Categories.Diagram.Pullback.html#644" class="Generalizable">A</a> <a id="921" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="923" href="Categories.Diagram.Pullback.html#791" class="Bound">Y</a><a id="924" class="Symbol">}</a> <a id="926" class="Symbol">→</a> <a id="928" href="Categories.Diagram.Pullback.html#795" class="Bound">f</a> <a id="930" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="932" href="Categories.Diagram.Pullback.html#901" class="Bound">h₁</a> <a id="935" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="937" href="Categories.Diagram.Pullback.html#807" class="Bound">g</a> <a id="939" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="941" href="Categories.Diagram.Pullback.html#914" class="Bound">h₂</a> <a id="944" class="Symbol">→</a> <a id="946" href="Categories.Diagram.Pullback.html#644" class="Generalizable">A</a> <a id="948" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="950" href="Categories.Diagram.Pullback.html#759" class="Bound">P</a>
|
||
<a id="IsPullback.unique"></a><a id="956" href="Categories.Diagram.Pullback.html#956" class="Field">unique</a> <a id="966" class="Symbol">:</a> <a id="968" class="Symbol">∀</a> <a id="970" class="Symbol">{</a><a id="971" href="Categories.Diagram.Pullback.html#971" class="Bound">eq</a> <a id="974" class="Symbol">:</a> <a id="976" href="Categories.Diagram.Pullback.html#795" class="Bound">f</a> <a id="978" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="980" href="Categories.Diagram.Pullback.html#670" class="Generalizable">h₁</a> <a id="983" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="985" href="Categories.Diagram.Pullback.html#807" class="Bound">g</a> <a id="987" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="989" href="Categories.Diagram.Pullback.html#673" class="Generalizable">h₂</a><a id="991" class="Symbol">}</a> <a id="993" class="Symbol">→</a>
|
||
<a id="1013" href="Categories.Diagram.Pullback.html#769" class="Bound">p₁</a> <a id="1016" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1018" href="Categories.Diagram.Pullback.html#676" class="Generalizable">i</a> <a id="1020" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1022" href="Categories.Diagram.Pullback.html#670" class="Generalizable">h₁</a> <a id="1025" class="Symbol">→</a> <a id="1027" href="Categories.Diagram.Pullback.html#782" class="Bound">p₂</a> <a id="1030" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1032" href="Categories.Diagram.Pullback.html#676" class="Generalizable">i</a> <a id="1034" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1036" href="Categories.Diagram.Pullback.html#673" class="Generalizable">h₂</a> <a id="1039" class="Symbol">→</a>
|
||
<a id="1059" href="Categories.Diagram.Pullback.html#676" class="Generalizable">i</a> <a id="1061" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1063" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="1073" href="Categories.Diagram.Pullback.html#971" class="Bound">eq</a>
|
||
|
||
<a id="IsPullback.p₁∘universal≈h₁"></a><a id="1081" href="Categories.Diagram.Pullback.html#1081" class="Field">p₁∘universal≈h₁</a> <a id="1098" class="Symbol">:</a> <a id="1100" class="Symbol">∀</a> <a id="1102" class="Symbol">{</a><a id="1103" href="Categories.Diagram.Pullback.html#1103" class="Bound">eq</a> <a id="1106" class="Symbol">:</a> <a id="1108" href="Categories.Diagram.Pullback.html#795" class="Bound">f</a> <a id="1110" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1112" href="Categories.Diagram.Pullback.html#670" class="Generalizable">h₁</a> <a id="1115" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1117" href="Categories.Diagram.Pullback.html#807" class="Bound">g</a> <a id="1119" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1121" href="Categories.Diagram.Pullback.html#673" class="Generalizable">h₂</a><a id="1123" class="Symbol">}</a> <a id="1125" class="Symbol">→</a>
|
||
<a id="1152" href="Categories.Diagram.Pullback.html#769" class="Bound">p₁</a> <a id="1155" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1157" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="1167" href="Categories.Diagram.Pullback.html#1103" class="Bound">eq</a> <a id="1170" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1172" href="Categories.Diagram.Pullback.html#670" class="Generalizable">h₁</a>
|
||
<a id="IsPullback.p₂∘universal≈h₂"></a><a id="1179" href="Categories.Diagram.Pullback.html#1179" class="Field">p₂∘universal≈h₂</a> <a id="1196" class="Symbol">:</a> <a id="1198" class="Symbol">∀</a> <a id="1200" class="Symbol">{</a><a id="1201" href="Categories.Diagram.Pullback.html#1201" class="Bound">eq</a> <a id="1204" class="Symbol">:</a> <a id="1206" href="Categories.Diagram.Pullback.html#795" class="Bound">f</a> <a id="1208" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1210" href="Categories.Diagram.Pullback.html#670" class="Generalizable">h₁</a> <a id="1213" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1215" href="Categories.Diagram.Pullback.html#807" class="Bound">g</a> <a id="1217" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1219" href="Categories.Diagram.Pullback.html#673" class="Generalizable">h₂</a><a id="1221" class="Symbol">}</a> <a id="1223" class="Symbol">→</a>
|
||
<a id="1250" href="Categories.Diagram.Pullback.html#782" class="Bound">p₂</a> <a id="1253" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1255" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="1265" href="Categories.Diagram.Pullback.html#1201" class="Bound">eq</a> <a id="1268" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1270" href="Categories.Diagram.Pullback.html#673" class="Generalizable">h₂</a>
|
||
|
||
<a id="IsPullback.unique′"></a><a id="1276" href="Categories.Diagram.Pullback.html#1276" class="Function">unique′</a> <a id="1284" class="Symbol">:</a> <a id="1286" class="Symbol">(</a><a id="1287" href="Categories.Diagram.Pullback.html#1287" class="Bound">eq</a> <a id="1290" href="Categories.Diagram.Pullback.html#1290" class="Bound">eq′</a> <a id="1294" class="Symbol">:</a> <a id="1296" href="Categories.Diagram.Pullback.html#795" class="Bound">f</a> <a id="1298" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1300" href="Categories.Diagram.Pullback.html#670" class="Generalizable">h₁</a> <a id="1303" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1305" href="Categories.Diagram.Pullback.html#807" class="Bound">g</a> <a id="1307" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1309" href="Categories.Diagram.Pullback.html#673" class="Generalizable">h₂</a><a id="1311" class="Symbol">)</a> <a id="1313" class="Symbol">→</a> <a id="1315" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="1325" href="Categories.Diagram.Pullback.html#1287" class="Bound">eq</a> <a id="1328" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1330" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="1340" href="Categories.Diagram.Pullback.html#1290" class="Bound">eq′</a>
|
||
<a id="1346" href="Categories.Diagram.Pullback.html#1276" class="Function">unique′</a> <a id="1354" href="Categories.Diagram.Pullback.html#1354" class="Bound">eq</a> <a id="1357" href="Categories.Diagram.Pullback.html#1357" class="Bound">eq′</a> <a id="1361" class="Symbol">=</a> <a id="1363" href="Categories.Diagram.Pullback.html#956" class="Field">unique</a> <a id="1370" href="Categories.Diagram.Pullback.html#1081" class="Field">p₁∘universal≈h₁</a> <a id="1386" href="Categories.Diagram.Pullback.html#1179" class="Field">p₂∘universal≈h₂</a>
|
||
|
||
<a id="IsPullback.id-unique"></a><a id="1405" href="Categories.Diagram.Pullback.html#1405" class="Function">id-unique</a> <a id="1415" class="Symbol">:</a> <a id="1417" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="1420" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1422" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="1432" href="Categories.Diagram.Pullback.html#854" class="Field">commute</a>
|
||
<a id="1442" href="Categories.Diagram.Pullback.html#1405" class="Function">id-unique</a> <a id="1452" class="Symbol">=</a> <a id="1454" href="Categories.Diagram.Pullback.html#956" class="Field">unique</a> <a id="1461" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="1471" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a>
|
||
|
||
<a id="IsPullback.universal-resp-≈"></a><a id="1484" href="Categories.Diagram.Pullback.html#1484" class="Function">universal-resp-≈</a> <a id="1501" class="Symbol">:</a> <a id="1503" class="Symbol">∀</a> <a id="1505" class="Symbol">{</a><a id="1506" href="Categories.Diagram.Pullback.html#1506" class="Bound">eq</a> <a id="1509" class="Symbol">:</a> <a id="1511" href="Categories.Diagram.Pullback.html#795" class="Bound">f</a> <a id="1513" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1515" href="Categories.Diagram.Pullback.html#670" class="Generalizable">h₁</a> <a id="1518" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1520" href="Categories.Diagram.Pullback.html#807" class="Bound">g</a> <a id="1522" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1524" href="Categories.Diagram.Pullback.html#673" class="Generalizable">h₂</a><a id="1526" class="Symbol">}</a> <a id="1528" class="Symbol">{</a><a id="1529" href="Categories.Diagram.Pullback.html#1529" class="Bound">eq′</a> <a id="1533" class="Symbol">:</a> <a id="1535" href="Categories.Diagram.Pullback.html#795" class="Bound">f</a> <a id="1537" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1539" href="Categories.Diagram.Pullback.html#678" class="Generalizable">i₁</a> <a id="1542" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1544" href="Categories.Diagram.Pullback.html#807" class="Bound">g</a> <a id="1546" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1548" href="Categories.Diagram.Pullback.html#681" class="Generalizable">i₂</a><a id="1550" class="Symbol">}</a> <a id="1552" class="Symbol">→</a> <a id="1554" href="Categories.Diagram.Pullback.html#670" class="Generalizable">h₁</a> <a id="1557" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1559" href="Categories.Diagram.Pullback.html#678" class="Generalizable">i₁</a> <a id="1562" class="Symbol">→</a> <a id="1564" href="Categories.Diagram.Pullback.html#673" class="Generalizable">h₂</a> <a id="1567" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1569" href="Categories.Diagram.Pullback.html#681" class="Generalizable">i₂</a> <a id="1572" class="Symbol">→</a> <a id="1574" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="1584" href="Categories.Diagram.Pullback.html#1506" class="Bound">eq</a> <a id="1587" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1589" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="1599" href="Categories.Diagram.Pullback.html#1529" class="Bound">eq′</a>
|
||
<a id="1605" href="Categories.Diagram.Pullback.html#1484" class="Function">universal-resp-≈</a> <a id="1622" href="Categories.Diagram.Pullback.html#1622" class="Bound">h₁≈i₁</a> <a id="1628" href="Categories.Diagram.Pullback.html#1628" class="Bound">h₂≈i₂</a> <a id="1634" class="Symbol">=</a> <a id="1636" href="Categories.Diagram.Pullback.html#956" class="Field">unique</a> <a id="1643" class="Symbol">(</a><a id="1644" href="Categories.Diagram.Pullback.html#1081" class="Field">p₁∘universal≈h₁</a> <a id="1660" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="1662" href="Categories.Diagram.Pullback.html#1622" class="Bound">h₁≈i₁</a><a id="1667" class="Symbol">)</a> <a id="1669" class="Symbol">(</a><a id="1670" href="Categories.Diagram.Pullback.html#1179" class="Field">p₂∘universal≈h₂</a> <a id="1686" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="1688" href="Categories.Diagram.Pullback.html#1628" class="Bound">h₂≈i₂</a><a id="1693" class="Symbol">)</a>
|
||
|
||
<a id="IsPullback.unique-diagram"></a><a id="1698" href="Categories.Diagram.Pullback.html#1698" class="Function">unique-diagram</a> <a id="1713" class="Symbol">:</a> <a id="1715" href="Categories.Diagram.Pullback.html#769" class="Bound">p₁</a> <a id="1718" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1720" href="Categories.Diagram.Pullback.html#668" class="Generalizable">h</a> <a id="1722" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1724" href="Categories.Diagram.Pullback.html#769" class="Bound">p₁</a> <a id="1727" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1729" href="Categories.Diagram.Pullback.html#676" class="Generalizable">i</a> <a id="1731" class="Symbol">→</a>
|
||
<a id="1752" href="Categories.Diagram.Pullback.html#782" class="Bound">p₂</a> <a id="1755" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1757" href="Categories.Diagram.Pullback.html#668" class="Generalizable">h</a> <a id="1759" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1761" href="Categories.Diagram.Pullback.html#782" class="Bound">p₂</a> <a id="1764" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="1766" href="Categories.Diagram.Pullback.html#676" class="Generalizable">i</a> <a id="1768" class="Symbol">→</a>
|
||
<a id="1789" href="Categories.Diagram.Pullback.html#668" class="Generalizable">h</a> <a id="1791" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="1793" href="Categories.Diagram.Pullback.html#676" class="Generalizable">i</a>
|
||
<a id="1797" href="Categories.Diagram.Pullback.html#1698" class="Function">unique-diagram</a> <a id="1812" class="Symbol">{</a><a id="1813" class="Argument">h</a> <a id="1815" class="Symbol">=</a> <a id="1817" href="Categories.Diagram.Pullback.html#1817" class="Bound">h</a><a id="1818" class="Symbol">}</a> <a id="1820" class="Symbol">{</a><a id="1821" class="Argument">i</a> <a id="1823" class="Symbol">=</a> <a id="1825" href="Categories.Diagram.Pullback.html#1825" class="Bound">i</a><a id="1826" class="Symbol">}</a> <a id="1828" href="Categories.Diagram.Pullback.html#1828" class="Bound">eq₁</a> <a id="1832" href="Categories.Diagram.Pullback.html#1832" class="Bound">eq₂</a> <a id="1836" class="Symbol">=</a> <a id="1838" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="1848" href="Categories.Diagram.Pullback.html#1817" class="Bound">h</a> <a id="1861" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="1864" href="Categories.Diagram.Pullback.html#956" class="Field">unique</a> <a id="1871" href="Categories.Diagram.Pullback.html#1828" class="Bound">eq₁</a> <a id="1875" href="Categories.Diagram.Pullback.html#1832" class="Bound">eq₂</a> <a id="1879" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="1885" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="1895" href="Categories.Diagram.Pullback.html#1950" class="Function">eq</a> <a id="1898" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="1902" href="Categories.Diagram.Pullback.html#956" class="Field">unique</a> <a id="1909" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="1914" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="1919" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="1925" href="Categories.Diagram.Pullback.html#1825" class="Bound">i</a> <a id="1938" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="1944" class="Keyword">where</a> <a id="1950" href="Categories.Diagram.Pullback.html#1950" class="Function">eq</a> <a id="1953" class="Symbol">=</a> <a id="1955" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="1963" href="Categories.Diagram.Pullback.html#854" class="Field">commute</a>
|
||
|
||
|
||
<a id="1973" class="Comment">-- Pullback of two arrows with a common codomain</a>
|
||
<a id="2022" class="Keyword">record</a> <a id="Pullback"></a><a id="2029" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="2038" class="Symbol">(</a><a id="2039" href="Categories.Diagram.Pullback.html#2039" class="Bound">f</a> <a id="2041" class="Symbol">:</a> <a id="2043" href="Categories.Diagram.Pullback.html#648" class="Generalizable">X</a> <a id="2045" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="2047" href="Categories.Diagram.Pullback.html#652" class="Generalizable">Z</a><a id="2048" class="Symbol">)</a> <a id="2050" class="Symbol">(</a><a id="2051" href="Categories.Diagram.Pullback.html#2051" class="Bound">g</a> <a id="2053" class="Symbol">:</a> <a id="2055" href="Categories.Diagram.Pullback.html#650" class="Generalizable">Y</a> <a id="2057" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="2059" href="Categories.Diagram.Pullback.html#652" class="Generalizable">Z</a><a id="2060" class="Symbol">)</a> <a id="2062" class="Symbol">:</a> <a id="2064" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2068" class="Symbol">(</a><a id="2069" href="Categories.Diagram.Pullback.html#127" class="Bound">o</a> <a id="2071" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2073" href="Categories.Diagram.Pullback.html#129" class="Bound">ℓ</a> <a id="2075" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2077" href="Categories.Diagram.Pullback.html#131" class="Bound">e</a><a id="2078" class="Symbol">)</a> <a id="2080" class="Keyword">where</a>
|
||
<a id="2088" class="Keyword">field</a>
|
||
<a id="2098" class="Symbol">{</a><a id="Pullback.P"></a><a id="2099" href="Categories.Diagram.Pullback.html#2099" class="Field">P</a><a id="2100" class="Symbol">}</a> <a id="2102" class="Symbol">:</a> <a id="2104" href="Categories.Category.Core.html#559" class="Field">Obj</a>
|
||
<a id="Pullback.p₁"></a><a id="2112" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="2116" class="Symbol">:</a> <a id="2118" href="Categories.Diagram.Pullback.html#2099" class="Field">P</a> <a id="2120" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="2122" href="Categories.Diagram.Pullback.html#2043" class="Bound">X</a>
|
||
<a id="Pullback.p₂"></a><a id="2128" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="2132" class="Symbol">:</a> <a id="2134" href="Categories.Diagram.Pullback.html#2099" class="Field">P</a> <a id="2136" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="2138" href="Categories.Diagram.Pullback.html#2055" class="Bound">Y</a>
|
||
<a id="Pullback.isPullback"></a><a id="2144" href="Categories.Diagram.Pullback.html#2144" class="Field">isPullback</a> <a id="2155" class="Symbol">:</a> <a id="2157" href="Categories.Diagram.Pullback.html#747" class="Record">IsPullback</a> <a id="2168" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="2171" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="2174" href="Categories.Diagram.Pullback.html#2039" class="Bound">f</a> <a id="2176" href="Categories.Diagram.Pullback.html#2051" class="Bound">g</a>
|
||
|
||
<a id="2181" class="Keyword">open</a> <a id="2186" href="Categories.Diagram.Pullback.html#747" class="Module">IsPullback</a> <a id="2197" href="Categories.Diagram.Pullback.html#2144" class="Field">isPullback</a> <a id="2208" class="Keyword">public</a>
|
||
|
||
<a id="up-to-iso"></a><a id="2216" href="Categories.Diagram.Pullback.html#2216" class="Function">up-to-iso</a> <a id="2226" class="Symbol">:</a> <a id="2228" class="Symbol">(</a><a id="2229" href="Categories.Diagram.Pullback.html#2229" class="Bound">pullback</a> <a id="2238" href="Categories.Diagram.Pullback.html#2238" class="Bound">pullback′</a> <a id="2248" class="Symbol">:</a> <a id="2250" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="2259" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="2261" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a><a id="2262" class="Symbol">)</a> <a id="2264" class="Symbol">→</a> <a id="2266" href="Categories.Diagram.Pullback.html#2099" class="Field">Pullback.P</a> <a id="2277" href="Categories.Diagram.Pullback.html#2229" class="Bound">pullback</a> <a id="2286" href="Categories.Morphism.html#1958" class="Record Operator">≅</a> <a id="2288" href="Categories.Diagram.Pullback.html#2099" class="Field">Pullback.P</a> <a id="2299" href="Categories.Diagram.Pullback.html#2238" class="Bound">pullback′</a>
|
||
<a id="2309" href="Categories.Diagram.Pullback.html#2216" class="Function">up-to-iso</a> <a id="2319" href="Categories.Diagram.Pullback.html#2319" class="Bound">pullback</a> <a id="2328" href="Categories.Diagram.Pullback.html#2328" class="Bound">pullback′</a> <a id="2338" class="Symbol">=</a> <a id="2340" class="Keyword">record</a>
|
||
<a id="2349" class="Symbol">{</a> <a id="2351" href="Categories.Morphism.html#2006" class="Field">from</a> <a id="2356" class="Symbol">=</a> <a id="2358" href="Categories.Diagram.Pullback.html#2569" class="Function">repack</a> <a id="2365" href="Categories.Diagram.Pullback.html#2319" class="Bound">pullback</a> <a id="2374" href="Categories.Diagram.Pullback.html#2328" class="Bound">pullback′</a>
|
||
<a id="2386" class="Symbol">;</a> <a id="2388" href="Categories.Morphism.html#2023" class="Field">to</a> <a id="2391" class="Symbol">=</a> <a id="2393" href="Categories.Diagram.Pullback.html#2569" class="Function">repack</a> <a id="2400" href="Categories.Diagram.Pullback.html#2328" class="Bound">pullback′</a> <a id="2410" href="Categories.Diagram.Pullback.html#2319" class="Bound">pullback</a>
|
||
<a id="2421" class="Symbol">;</a> <a id="2423" href="Categories.Morphism.html#2040" class="Field">iso</a> <a id="2427" class="Symbol">=</a> <a id="2429" class="Keyword">record</a>
|
||
<a id="2440" class="Symbol">{</a> <a id="2442" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="2447" class="Symbol">=</a> <a id="2449" href="Categories.Diagram.Pullback.html#3101" class="Function">repack-cancel</a> <a id="2463" href="Categories.Diagram.Pullback.html#2328" class="Bound">pullback′</a> <a id="2473" href="Categories.Diagram.Pullback.html#2319" class="Bound">pullback</a>
|
||
<a id="2486" class="Symbol">;</a> <a id="2488" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="2493" class="Symbol">=</a> <a id="2495" href="Categories.Diagram.Pullback.html#3101" class="Function">repack-cancel</a> <a id="2509" href="Categories.Diagram.Pullback.html#2319" class="Bound">pullback</a> <a id="2518" href="Categories.Diagram.Pullback.html#2328" class="Bound">pullback′</a>
|
||
<a id="2532" class="Symbol">}</a>
|
||
<a id="2536" class="Symbol">}</a>
|
||
<a id="2540" class="Keyword">where</a>
|
||
<a id="2550" class="Keyword">open</a> <a id="2555" href="Categories.Diagram.Pullback.html#2029" class="Module">Pullback</a>
|
||
|
||
<a id="2569" href="Categories.Diagram.Pullback.html#2569" class="Function">repack</a> <a id="2576" class="Symbol">:</a> <a id="2578" class="Symbol">(</a><a id="2579" href="Categories.Diagram.Pullback.html#2579" class="Bound">pullback</a> <a id="2588" href="Categories.Diagram.Pullback.html#2588" class="Bound">pullback′</a> <a id="2598" class="Symbol">:</a> <a id="2600" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="2609" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="2611" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a><a id="2612" class="Symbol">)</a> <a id="2614" class="Symbol">→</a> <a id="2616" href="Categories.Diagram.Pullback.html#2099" class="Field">P</a> <a id="2618" href="Categories.Diagram.Pullback.html#2579" class="Bound">pullback</a> <a id="2627" href="Categories.Category.Core.html#575" class="Field Operator">⇒</a> <a id="2629" href="Categories.Diagram.Pullback.html#2099" class="Field">P</a> <a id="2631" href="Categories.Diagram.Pullback.html#2588" class="Bound">pullback′</a>
|
||
<a id="2645" href="Categories.Diagram.Pullback.html#2569" class="Function">repack</a> <a id="2652" href="Categories.Diagram.Pullback.html#2652" class="Bound">pullback</a> <a id="2661" href="Categories.Diagram.Pullback.html#2661" class="Bound">pullback′</a> <a id="2671" class="Symbol">=</a> <a id="2673" href="Categories.Diagram.Pullback.html#886" class="Function">universal</a> <a id="2683" href="Categories.Diagram.Pullback.html#2661" class="Bound">pullback′</a> <a id="2693" class="Symbol">(</a><a id="2694" href="Categories.Diagram.Pullback.html#854" class="Function">commute</a> <a id="2702" href="Categories.Diagram.Pullback.html#2652" class="Bound">pullback</a><a id="2710" class="Symbol">)</a>
|
||
|
||
<a id="2717" href="Categories.Diagram.Pullback.html#2717" class="Function">repack∘</a> <a id="2725" class="Symbol">:</a> <a id="2727" class="Symbol">(</a><a id="2728" href="Categories.Diagram.Pullback.html#2728" class="Bound">pullback</a> <a id="2737" href="Categories.Diagram.Pullback.html#2737" class="Bound">pullback′</a> <a id="2747" href="Categories.Diagram.Pullback.html#2747" class="Bound">pullback″</a> <a id="2757" class="Symbol">:</a> <a id="2759" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="2768" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="2770" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a><a id="2771" class="Symbol">)</a> <a id="2773" class="Symbol">→</a> <a id="2775" href="Categories.Diagram.Pullback.html#2569" class="Function">repack</a> <a id="2782" href="Categories.Diagram.Pullback.html#2737" class="Bound">pullback′</a> <a id="2792" href="Categories.Diagram.Pullback.html#2747" class="Bound">pullback″</a> <a id="2802" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="2804" href="Categories.Diagram.Pullback.html#2569" class="Function">repack</a> <a id="2811" href="Categories.Diagram.Pullback.html#2728" class="Bound">pullback</a> <a id="2820" href="Categories.Diagram.Pullback.html#2737" class="Bound">pullback′</a> <a id="2830" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="2832" href="Categories.Diagram.Pullback.html#2569" class="Function">repack</a> <a id="2839" href="Categories.Diagram.Pullback.html#2728" class="Bound">pullback</a> <a id="2848" href="Categories.Diagram.Pullback.html#2747" class="Bound">pullback″</a>
|
||
<a id="2862" href="Categories.Diagram.Pullback.html#2717" class="Function">repack∘</a> <a id="2870" href="Categories.Diagram.Pullback.html#2870" class="Bound">pullback</a> <a id="2879" href="Categories.Diagram.Pullback.html#2879" class="Bound">pullback′</a> <a id="2889" href="Categories.Diagram.Pullback.html#2889" class="Bound">pullback″</a> <a id="2899" class="Symbol">=</a>
|
||
<a id="2907" href="Categories.Diagram.Pullback.html#956" class="Function">unique</a> <a id="2914" href="Categories.Diagram.Pullback.html#2889" class="Bound">pullback″</a>
|
||
<a id="2937" class="Symbol">(</a><a id="2938" href="Categories.Morphism.Reasoning.Core.html#6062" class="Function">glueTrianglesʳ</a> <a id="2953" class="Symbol">(</a><a id="2954" href="Categories.Diagram.Pullback.html#1081" class="Function">p₁∘universal≈h₁</a> <a id="2970" href="Categories.Diagram.Pullback.html#2889" class="Bound">pullback″</a><a id="2979" class="Symbol">)</a> <a id="2981" class="Symbol">(</a><a id="2982" href="Categories.Diagram.Pullback.html#1081" class="Function">p₁∘universal≈h₁</a> <a id="2998" href="Categories.Diagram.Pullback.html#2879" class="Bound">pullback′</a><a id="3007" class="Symbol">))</a>
|
||
<a id="3023" class="Symbol">(</a><a id="3024" href="Categories.Morphism.Reasoning.Core.html#6062" class="Function">glueTrianglesʳ</a> <a id="3039" class="Symbol">(</a><a id="3040" href="Categories.Diagram.Pullback.html#1179" class="Function">p₂∘universal≈h₂</a> <a id="3056" href="Categories.Diagram.Pullback.html#2889" class="Bound">pullback″</a><a id="3065" class="Symbol">)</a> <a id="3067" class="Symbol">(</a><a id="3068" href="Categories.Diagram.Pullback.html#1179" class="Function">p₂∘universal≈h₂</a> <a id="3084" href="Categories.Diagram.Pullback.html#2879" class="Bound">pullback′</a><a id="3093" class="Symbol">))</a>
|
||
|
||
<a id="3101" href="Categories.Diagram.Pullback.html#3101" class="Function">repack-cancel</a> <a id="3115" class="Symbol">:</a> <a id="3117" class="Symbol">(</a><a id="3118" href="Categories.Diagram.Pullback.html#3118" class="Bound">pullback</a> <a id="3127" href="Categories.Diagram.Pullback.html#3127" class="Bound">pullback′</a> <a id="3137" class="Symbol">:</a> <a id="3139" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="3148" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="3150" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a><a id="3151" class="Symbol">)</a> <a id="3153" class="Symbol">→</a> <a id="3155" href="Categories.Diagram.Pullback.html#2569" class="Function">repack</a> <a id="3162" href="Categories.Diagram.Pullback.html#3118" class="Bound">pullback</a> <a id="3171" href="Categories.Diagram.Pullback.html#3127" class="Bound">pullback′</a> <a id="3181" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3183" href="Categories.Diagram.Pullback.html#2569" class="Function">repack</a> <a id="3190" href="Categories.Diagram.Pullback.html#3127" class="Bound">pullback′</a> <a id="3200" href="Categories.Diagram.Pullback.html#3118" class="Bound">pullback</a> <a id="3209" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="3211" href="Categories.Category.Core.html#630" class="Field">id</a>
|
||
<a id="3218" href="Categories.Diagram.Pullback.html#3101" class="Function">repack-cancel</a> <a id="3232" href="Categories.Diagram.Pullback.html#3232" class="Bound">pullback</a> <a id="3241" href="Categories.Diagram.Pullback.html#3241" class="Bound">pullback′</a> <a id="3251" class="Symbol">=</a> <a id="3253" href="Categories.Diagram.Pullback.html#2717" class="Function">repack∘</a> <a id="3261" href="Categories.Diagram.Pullback.html#3241" class="Bound">pullback′</a> <a id="3271" href="Categories.Diagram.Pullback.html#3232" class="Bound">pullback</a> <a id="3280" href="Categories.Diagram.Pullback.html#3241" class="Bound">pullback′</a> <a id="3290" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="3292" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="3294" class="Symbol">(</a><a id="3295" href="Categories.Diagram.Pullback.html#1405" class="Function">id-unique</a> <a id="3305" href="Categories.Diagram.Pullback.html#3241" class="Bound">pullback′</a><a id="3314" class="Symbol">)</a>
|
||
|
||
<a id="swap"></a><a id="3317" href="Categories.Diagram.Pullback.html#3317" class="Function">swap</a> <a id="3322" class="Symbol">:</a> <a id="3324" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="3333" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="3335" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a> <a id="3337" class="Symbol">→</a> <a id="3339" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="3348" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a> <a id="3350" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a>
|
||
<a id="3352" href="Categories.Diagram.Pullback.html#3317" class="Function">swap</a> <a id="3357" href="Categories.Diagram.Pullback.html#3357" class="Bound">p</a> <a id="3359" class="Symbol">=</a> <a id="3361" class="Keyword">record</a>
|
||
<a id="3370" class="Symbol">{</a> <a id="3372" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="3388" class="Symbol">=</a> <a id="3390" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a>
|
||
<a id="3395" class="Symbol">;</a> <a id="3397" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="3413" class="Symbol">=</a> <a id="3415" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a>
|
||
<a id="3420" class="Symbol">;</a> <a id="3422" href="Categories.Diagram.Pullback.html#2144" class="Field">isPullback</a> <a id="3433" class="Symbol">=</a> <a id="3435" class="Keyword">record</a>
|
||
<a id="3446" class="Symbol">{</a> <a id="3448" href="Categories.Diagram.Pullback.html#854" class="Field">commute</a> <a id="3465" class="Symbol">=</a> <a id="3467" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="3469" href="Categories.Diagram.Pullback.html#854" class="Function">commute</a>
|
||
<a id="3481" class="Symbol">;</a> <a id="3483" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="3499" class="Symbol">=</a> <a id="3501" href="Categories.Diagram.Pullback.html#886" class="Function">universal</a> <a id="3511" href="Categories.Diagram.Pullback.html#322" class="Function Operator">●</a> <a id="3513" href="Categories.Category.Core.html#3005" class="Function">⟺</a>
|
||
<a id="3519" class="Symbol">;</a> <a id="3521" href="Categories.Diagram.Pullback.html#956" class="Field">unique</a> <a id="3537" class="Symbol">=</a> <a id="3539" href="Function.Base.html#1638" class="Function">flip</a> <a id="3544" href="Categories.Diagram.Pullback.html#956" class="Function">unique</a>
|
||
<a id="3555" class="Symbol">;</a> <a id="3557" href="Categories.Diagram.Pullback.html#1081" class="Field">p₁∘universal≈h₁</a> <a id="3573" class="Symbol">=</a> <a id="3575" href="Categories.Diagram.Pullback.html#1179" class="Function">p₂∘universal≈h₂</a>
|
||
<a id="3595" class="Symbol">;</a> <a id="3597" href="Categories.Diagram.Pullback.html#1179" class="Field">p₂∘universal≈h₂</a> <a id="3613" class="Symbol">=</a> <a id="3615" href="Categories.Diagram.Pullback.html#1081" class="Function">p₁∘universal≈h₁</a>
|
||
<a id="3635" class="Symbol">}</a>
|
||
<a id="3639" class="Symbol">}</a>
|
||
<a id="3643" class="Keyword">where</a> <a id="3649" class="Keyword">open</a> <a id="3654" href="Categories.Diagram.Pullback.html#2029" class="Module">Pullback</a> <a id="3663" href="Categories.Diagram.Pullback.html#3357" class="Bound">p</a>
|
||
|
||
<a id="glue"></a><a id="3666" href="Categories.Diagram.Pullback.html#3666" class="Function">glue</a> <a id="3671" class="Symbol">:</a> <a id="3673" class="Symbol">(</a><a id="3674" href="Categories.Diagram.Pullback.html#3674" class="Bound">p</a> <a id="3676" class="Symbol">:</a> <a id="3678" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="3687" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="3689" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a><a id="3690" class="Symbol">)</a> <a id="3692" class="Symbol">→</a> <a id="3694" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="3703" href="Categories.Diagram.Pullback.html#668" class="Generalizable">h</a> <a id="3705" class="Symbol">(</a><a id="3706" href="Categories.Diagram.Pullback.html#2112" class="Field">Pullback.p₁</a> <a id="3718" href="Categories.Diagram.Pullback.html#3674" class="Bound">p</a><a id="3719" class="Symbol">)</a> <a id="3721" class="Symbol">→</a> <a id="3723" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="3732" class="Symbol">(</a><a id="3733" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="3735" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3737" href="Categories.Diagram.Pullback.html#668" class="Generalizable">h</a><a id="3738" class="Symbol">)</a> <a id="3740" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a>
|
||
<a id="3742" href="Categories.Diagram.Pullback.html#3666" class="Function">glue</a> <a id="3747" class="Symbol">{</a><a id="3748" class="Argument">h</a> <a id="3750" class="Symbol">=</a> <a id="3752" href="Categories.Diagram.Pullback.html#3752" class="Bound">h</a><a id="3753" class="Symbol">}</a> <a id="3755" href="Categories.Diagram.Pullback.html#3755" class="Bound">p</a> <a id="3757" href="Categories.Diagram.Pullback.html#3757" class="Bound">q</a> <a id="3759" class="Symbol">=</a> <a id="3761" class="Keyword">record</a>
|
||
<a id="3770" class="Symbol">{</a> <a id="3772" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="3788" class="Symbol">=</a> <a id="3790" href="Categories.Diagram.Pullback.html#2112" class="Field">q.p₁</a>
|
||
<a id="3797" class="Symbol">;</a> <a id="3799" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="3815" class="Symbol">=</a> <a id="3817" href="Categories.Diagram.Pullback.html#2128" class="Function">p.p₂</a> <a id="3822" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="3824" href="Categories.Diagram.Pullback.html#2128" class="Field">q.p₂</a>
|
||
<a id="3831" class="Symbol">;</a> <a id="3833" href="Categories.Diagram.Pullback.html#2144" class="Field">isPullback</a> <a id="3844" class="Symbol">=</a> <a id="3846" class="Keyword">record</a>
|
||
<a id="3857" class="Symbol">{</a> <a id="3859" href="Categories.Diagram.Pullback.html#854" class="Field">commute</a> <a id="3874" class="Symbol">=</a> <a id="3876" href="Categories.Diagram.Pullback.html#588" class="Function">glue-square</a> <a id="3888" href="Categories.Diagram.Pullback.html#854" class="Function">p.commute</a> <a id="3898" href="Categories.Diagram.Pullback.html#854" class="Function">q.commute</a>
|
||
<a id="3912" class="Symbol">;</a> <a id="3914" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="3930" class="Symbol">=</a> <a id="3932" class="Symbol">λ</a> <a id="3934" href="Categories.Diagram.Pullback.html#3934" class="Bound">eq</a> <a id="3937" class="Symbol">→</a> <a id="3939" href="Categories.Diagram.Pullback.html#886" class="Function">q.universal</a> <a id="3951" class="Symbol">(</a><a id="3952" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="3954" class="Symbol">(</a><a id="3955" href="Categories.Diagram.Pullback.html#1081" class="Function">p.p₁∘universal≈h₁</a> <a id="3973" class="Symbol">{</a><a id="3974" class="Argument">eq</a> <a id="3977" class="Symbol">=</a> <a id="3979" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="3989" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="3991" href="Categories.Diagram.Pullback.html#3934" class="Bound">eq</a><a id="3993" class="Symbol">}))</a>
|
||
<a id="4001" class="Symbol">;</a> <a id="4003" href="Categories.Diagram.Pullback.html#956" class="Field">unique</a> <a id="4019" class="Symbol">=</a> <a id="4021" class="Symbol">λ</a> <a id="4023" class="Symbol">{</a><a id="4024" href="Categories.Diagram.Pullback.html#4024" class="Bound">_</a> <a id="4026" href="Categories.Diagram.Pullback.html#4026" class="Bound">h₁</a> <a id="4029" href="Categories.Diagram.Pullback.html#4029" class="Bound">h₂</a> <a id="4032" href="Categories.Diagram.Pullback.html#4032" class="Bound">i</a><a id="4033" class="Symbol">}</a> <a id="4035" href="Categories.Diagram.Pullback.html#4035" class="Bound">eq</a> <a id="4038" href="Categories.Diagram.Pullback.html#4038" class="Bound">eq′</a> <a id="4042" class="Symbol">→</a>
|
||
<a id="4050" href="Categories.Diagram.Pullback.html#956" class="Function">q.unique</a> <a id="4059" href="Categories.Diagram.Pullback.html#4035" class="Bound">eq</a> <a id="4062" class="Symbol">(</a><a id="4063" href="Categories.Diagram.Pullback.html#956" class="Function">p.unique</a> <a id="4072" class="Symbol">(</a><a id="4073" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="4087" href="Categories.Diagram.Pullback.html#2112" class="Function">p.p₁</a> <a id="4092" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4094" href="Categories.Diagram.Pullback.html#2128" class="Field">q.p₂</a> <a id="4099" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4101" href="Categories.Diagram.Pullback.html#4032" class="Bound">i</a> <a id="4103" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="4107" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="4115" href="Categories.Diagram.Pullback.html#854" class="Function">q.commute</a> <a id="4125" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="4135" href="Categories.Diagram.Pullback.html#3752" class="Bound">h</a> <a id="4137" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4139" href="Categories.Diagram.Pullback.html#2112" class="Field">q.p₁</a> <a id="4144" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4146" href="Categories.Diagram.Pullback.html#4032" class="Bound">i</a> <a id="4151" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4154" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="4162" href="Categories.Diagram.Pullback.html#4035" class="Bound">eq</a> <a id="4165" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4175" href="Categories.Diagram.Pullback.html#3752" class="Bound">h</a> <a id="4177" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4179" href="Categories.Diagram.Pullback.html#4026" class="Bound">h₁</a> <a id="4191" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a><a id="4192" class="Symbol">)</a>
|
||
<a id="4222" class="Symbol">(</a><a id="4223" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="4233" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="4235" href="Categories.Diagram.Pullback.html#4038" class="Bound">eq′</a><a id="4238" class="Symbol">))</a>
|
||
<a id="4245" class="Symbol">;</a> <a id="4247" href="Categories.Diagram.Pullback.html#1081" class="Field">p₁∘universal≈h₁</a> <a id="4263" class="Symbol">=</a> <a id="4265" href="Categories.Diagram.Pullback.html#1081" class="Function">q.p₁∘universal≈h₁</a>
|
||
<a id="4287" class="Symbol">;</a> <a id="4289" href="Categories.Diagram.Pullback.html#1179" class="Field">p₂∘universal≈h₂</a> <a id="4305" class="Symbol">=</a> <a id="4307" href="Categories.Category.Core.html#715" class="Field">assoc</a> <a id="4313" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="4315" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="4325" href="Categories.Diagram.Pullback.html#1179" class="Function">q.p₂∘universal≈h₂</a> <a id="4343" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="4345" href="Categories.Diagram.Pullback.html#1179" class="Function">p.p₂∘universal≈h₂</a>
|
||
<a id="4367" class="Symbol">}</a>
|
||
<a id="4371" class="Symbol">}</a>
|
||
<a id="4375" class="Keyword">where</a> <a id="4381" class="Keyword">module</a> <a id="4388" href="Categories.Diagram.Pullback.html#4388" class="Module">p</a> <a id="4390" class="Symbol">=</a> <a id="4392" href="Categories.Diagram.Pullback.html#2029" class="Module">Pullback</a> <a id="4401" href="Categories.Diagram.Pullback.html#3755" class="Bound">p</a>
|
||
<a id="4411" class="Keyword">module</a> <a id="4418" href="Categories.Diagram.Pullback.html#4418" class="Module">q</a> <a id="4420" class="Symbol">=</a> <a id="4422" href="Categories.Diagram.Pullback.html#2029" class="Module">Pullback</a> <a id="4431" href="Categories.Diagram.Pullback.html#3757" class="Bound">q</a>
|
||
|
||
<a id="unglue"></a><a id="4434" href="Categories.Diagram.Pullback.html#4434" class="Function">unglue</a> <a id="4441" class="Symbol">:</a> <a id="4443" class="Symbol">(</a><a id="4444" href="Categories.Diagram.Pullback.html#4444" class="Bound">p</a> <a id="4446" class="Symbol">:</a> <a id="4448" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="4457" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="4459" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a><a id="4460" class="Symbol">)</a> <a id="4462" class="Symbol">→</a> <a id="4464" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="4473" class="Symbol">(</a><a id="4474" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="4476" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4478" href="Categories.Diagram.Pullback.html#668" class="Generalizable">h</a><a id="4479" class="Symbol">)</a> <a id="4481" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a> <a id="4483" class="Symbol">→</a> <a id="4485" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="4494" href="Categories.Diagram.Pullback.html#668" class="Generalizable">h</a> <a id="4496" class="Symbol">(</a><a id="4497" href="Categories.Diagram.Pullback.html#2112" class="Field">Pullback.p₁</a> <a id="4509" href="Categories.Diagram.Pullback.html#4444" class="Bound">p</a><a id="4510" class="Symbol">)</a>
|
||
<a id="4512" href="Categories.Diagram.Pullback.html#4434" class="Function">unglue</a> <a id="4519" class="Symbol">{</a><a id="4520" class="Argument">f</a> <a id="4522" class="Symbol">=</a> <a id="4524" href="Categories.Diagram.Pullback.html#4524" class="Bound">f</a><a id="4525" class="Symbol">}</a> <a id="4527" class="Symbol">{</a><a id="4528" class="Argument">g</a> <a id="4530" class="Symbol">=</a> <a id="4532" href="Categories.Diagram.Pullback.html#4532" class="Bound">g</a><a id="4533" class="Symbol">}</a> <a id="4535" class="Symbol">{</a><a id="4536" class="Argument">h</a> <a id="4538" class="Symbol">=</a> <a id="4540" href="Categories.Diagram.Pullback.html#4540" class="Bound">h</a><a id="4541" class="Symbol">}</a> <a id="4543" href="Categories.Diagram.Pullback.html#4543" class="Bound">p</a> <a id="4545" href="Categories.Diagram.Pullback.html#4545" class="Bound">q</a> <a id="4547" class="Symbol">=</a> <a id="4549" class="Keyword">record</a>
|
||
<a id="4558" class="Symbol">{</a> <a id="4560" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="4576" class="Symbol">=</a> <a id="4578" href="Categories.Diagram.Pullback.html#2112" class="Field">q.p₁</a>
|
||
<a id="4585" class="Symbol">;</a> <a id="4587" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="4603" class="Symbol">=</a> <a id="4605" href="Categories.Diagram.Pullback.html#5349" class="Function">p₂′</a>
|
||
<a id="4611" class="Symbol">;</a> <a id="4613" href="Categories.Diagram.Pullback.html#2144" class="Field">isPullback</a> <a id="4624" class="Symbol">=</a> <a id="4626" class="Keyword">record</a>
|
||
<a id="4637" class="Symbol">{</a> <a id="4639" href="Categories.Diagram.Pullback.html#854" class="Field">commute</a> <a id="4654" class="Symbol">=</a> <a id="4656" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="4658" href="Categories.Diagram.Pullback.html#1081" class="Function">p.p₁∘universal≈h₁</a>
|
||
<a id="4680" class="Symbol">;</a> <a id="4682" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="4698" class="Symbol">=</a> <a id="4700" class="Symbol">λ</a> <a id="4702" class="Symbol">{</a><a id="4703" href="Categories.Diagram.Pullback.html#4703" class="Bound">_</a> <a id="4705" href="Categories.Diagram.Pullback.html#4705" class="Bound">h₁</a> <a id="4708" href="Categories.Diagram.Pullback.html#4708" class="Bound">h₂</a><a id="4710" class="Symbol">}</a> <a id="4712" href="Categories.Diagram.Pullback.html#4712" class="Bound">eq</a> <a id="4715" class="Symbol">→</a> <a id="4717" href="Categories.Diagram.Pullback.html#886" class="Function">q.universal</a> <a id="4729" href="Function.Base.html#1974" class="Function Operator">$</a> <a id="4731" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="4743" class="Symbol">(</a><a id="4744" href="Categories.Diagram.Pullback.html#4524" class="Bound">f</a> <a id="4746" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4748" href="Categories.Diagram.Pullback.html#4540" class="Bound">h</a><a id="4749" class="Symbol">)</a> <a id="4751" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4753" href="Categories.Diagram.Pullback.html#4705" class="Bound">h₁</a> <a id="4761" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4764" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="4770" href="Categories.Diagram.Pullback.html#4712" class="Bound">eq</a> <a id="4773" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4781" href="Categories.Diagram.Pullback.html#4524" class="Bound">f</a> <a id="4783" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4785" href="Categories.Diagram.Pullback.html#2112" class="Function">p.p₁</a> <a id="4790" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4792" href="Categories.Diagram.Pullback.html#4708" class="Bound">h₂</a> <a id="4799" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4802" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="4810" href="Categories.Diagram.Pullback.html#854" class="Function">p.commute</a> <a id="4820" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4828" href="Categories.Diagram.Pullback.html#4532" class="Bound">g</a> <a id="4830" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4832" href="Categories.Diagram.Pullback.html#2128" class="Function">p.p₂</a> <a id="4837" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4839" href="Categories.Diagram.Pullback.html#4708" class="Bound">h₂</a> <a id="4846" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="4852" class="Symbol">;</a> <a id="4854" href="Categories.Diagram.Pullback.html#956" class="Field">unique</a> <a id="4870" class="Symbol">=</a> <a id="4872" class="Symbol">λ</a> <a id="4874" class="Symbol">{</a><a id="4875" href="Categories.Diagram.Pullback.html#4875" class="Bound">_</a> <a id="4877" href="Categories.Diagram.Pullback.html#4877" class="Bound">h₁</a> <a id="4880" href="Categories.Diagram.Pullback.html#4880" class="Bound">h₂</a> <a id="4883" href="Categories.Diagram.Pullback.html#4883" class="Bound">i</a><a id="4884" class="Symbol">}</a> <a id="4886" href="Categories.Diagram.Pullback.html#4886" class="Bound">eq</a> <a id="4889" href="Categories.Diagram.Pullback.html#4889" class="Bound">eq′</a> <a id="4893" class="Symbol">→</a> <a id="4895" href="Categories.Diagram.Pullback.html#956" class="Function">q.unique</a> <a id="4904" href="Categories.Diagram.Pullback.html#4886" class="Bound">eq</a> <a id="4907" href="Function.Base.html#1974" class="Function Operator">$</a> <a id="4909" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="4919" href="Categories.Diagram.Pullback.html#2128" class="Field">q.p₂</a> <a id="4924" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4926" href="Categories.Diagram.Pullback.html#4883" class="Bound">i</a> <a id="4939" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4942" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="4948" class="Symbol">(</a><a id="4949" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="4951" href="Categories.Diagram.Pullback.html#1179" class="Function">p.p₂∘universal≈h₂</a><a id="4968" class="Symbol">)</a> <a id="4970" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="4976" href="Categories.Diagram.Pullback.html#2128" class="Function">p.p₂</a> <a id="4981" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4983" href="Categories.Diagram.Pullback.html#5349" class="Function">p₂′</a> <a id="4987" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="4989" href="Categories.Diagram.Pullback.html#4883" class="Bound">i</a> <a id="4996" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="4999" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="5007" href="Categories.Diagram.Pullback.html#4889" class="Bound">eq′</a> <a id="5011" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="5017" href="Categories.Diagram.Pullback.html#2128" class="Function">p.p₂</a> <a id="5022" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5024" href="Categories.Diagram.Pullback.html#4880" class="Bound">h₂</a> <a id="5037" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="5043" class="Symbol">;</a> <a id="5045" href="Categories.Diagram.Pullback.html#1081" class="Field">p₁∘universal≈h₁</a> <a id="5061" class="Symbol">=</a> <a id="5063" href="Categories.Diagram.Pullback.html#1081" class="Function">q.p₁∘universal≈h₁</a>
|
||
<a id="5085" class="Symbol">;</a> <a id="5087" href="Categories.Diagram.Pullback.html#1179" class="Field">p₂∘universal≈h₂</a> <a id="5103" class="Symbol">=</a> <a id="5105" class="Symbol">λ</a> <a id="5107" class="Symbol">{</a><a id="5108" href="Categories.Diagram.Pullback.html#5108" class="Bound">_</a> <a id="5110" href="Categories.Diagram.Pullback.html#5110" class="Bound">_</a> <a id="5112" href="Categories.Diagram.Pullback.html#5112" class="Bound">_</a> <a id="5114" href="Categories.Diagram.Pullback.html#5114" class="Bound">eq</a><a id="5116" class="Symbol">}</a> <a id="5118" class="Symbol">→</a>
|
||
<a id="5126" href="Categories.Diagram.Pullback.html#1698" class="Function">p.unique-diagram</a> <a id="5143" class="Symbol">((</a><a id="5145" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="5151" href="Categories.Diagram.Pullback.html#1081" class="Function">p.p₁∘universal≈h₁</a><a id="5168" class="Symbol">)</a> <a id="5170" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="5172" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5178" href="Categories.Diagram.Pullback.html#1081" class="Function">q.p₁∘universal≈h₁</a> <a id="5196" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="5198" href="Categories.Diagram.Pullback.html#5114" class="Bound">eq</a><a id="5200" class="Symbol">)</a>
|
||
<a id="5225" class="Symbol">(</a><a id="5226" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="5232" href="Categories.Diagram.Pullback.html#1179" class="Function">p.p₂∘universal≈h₂</a> <a id="5250" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="5252" href="Categories.Diagram.Pullback.html#1179" class="Function">q.p₂∘universal≈h₂</a><a id="5269" class="Symbol">)</a>
|
||
<a id="5275" class="Symbol">}</a>
|
||
<a id="5279" class="Symbol">}</a>
|
||
<a id="5283" class="Keyword">where</a> <a id="5289" class="Keyword">module</a> <a id="5296" href="Categories.Diagram.Pullback.html#5296" class="Module">p</a> <a id="5298" class="Symbol">=</a> <a id="5300" href="Categories.Diagram.Pullback.html#2029" class="Module">Pullback</a> <a id="5309" href="Categories.Diagram.Pullback.html#4543" class="Bound">p</a>
|
||
<a id="5319" class="Keyword">module</a> <a id="5326" href="Categories.Diagram.Pullback.html#5326" class="Module">q</a> <a id="5328" class="Symbol">=</a> <a id="5330" href="Categories.Diagram.Pullback.html#2029" class="Module">Pullback</a> <a id="5339" href="Categories.Diagram.Pullback.html#4545" class="Bound">q</a>
|
||
<a id="5349" href="Categories.Diagram.Pullback.html#5349" class="Function">p₂′</a> <a id="5353" class="Symbol">=</a> <a id="5355" href="Categories.Diagram.Pullback.html#886" class="Function">p.universal</a> <a id="5367" class="Symbol">(</a><a id="5368" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="5378" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="5380" href="Categories.Diagram.Pullback.html#854" class="Function">q.commute</a><a id="5389" class="Symbol">)</a> <a id="5391" class="Comment">-- used twice above</a>
|
||
|
||
<a id="Product×Equalizer⇒Pullback"></a><a id="5412" href="Categories.Diagram.Pullback.html#5412" class="Function">Product×Equalizer⇒Pullback</a> <a id="5439" class="Symbol">:</a>
|
||
<a id="5443" class="Symbol">(</a><a id="5444" href="Categories.Diagram.Pullback.html#5444" class="Bound">p</a> <a id="5446" class="Symbol">:</a> <a id="5448" href="Categories.Object.Product.Core.html#435" class="Record">Product</a> <a id="5456" href="Categories.Diagram.Pullback.html#644" class="Generalizable">A</a> <a id="5458" href="Categories.Diagram.Pullback.html#646" class="Generalizable">B</a><a id="5459" class="Symbol">)</a> <a id="5461" class="Symbol">→</a> <a id="5463" href="Categories.Diagram.Equalizer.html#1948" class="Record">Equalizer</a> <a id="5473" class="Symbol">(</a><a id="5474" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="5476" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5478" href="Categories.Object.Product.Core.html#526" class="Field">Product.π₁</a> <a id="5489" href="Categories.Diagram.Pullback.html#5444" class="Bound">p</a><a id="5490" class="Symbol">)</a> <a id="5492" class="Symbol">(</a><a id="5493" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a> <a id="5495" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5497" href="Categories.Object.Product.Core.html#546" class="Field">Product.π₂</a> <a id="5508" href="Categories.Diagram.Pullback.html#5444" class="Bound">p</a><a id="5509" class="Symbol">)</a> <a id="5511" class="Symbol">→</a>
|
||
<a id="5515" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="5524" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="5526" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a>
|
||
<a id="5528" href="Categories.Diagram.Pullback.html#5412" class="Function">Product×Equalizer⇒Pullback</a> <a id="5555" class="Symbol">{</a><a id="5556" class="Argument">f</a> <a id="5558" class="Symbol">=</a> <a id="5560" href="Categories.Diagram.Pullback.html#5560" class="Bound">f</a><a id="5561" class="Symbol">}</a> <a id="5563" class="Symbol">{</a><a id="5564" class="Argument">g</a> <a id="5566" class="Symbol">=</a> <a id="5568" href="Categories.Diagram.Pullback.html#5568" class="Bound">g</a><a id="5569" class="Symbol">}</a> <a id="5571" href="Categories.Diagram.Pullback.html#5571" class="Bound">p</a> <a id="5573" href="Categories.Diagram.Pullback.html#5573" class="Bound">e</a> <a id="5575" class="Symbol">=</a> <a id="5577" class="Keyword">record</a>
|
||
<a id="5586" class="Symbol">{</a> <a id="5588" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="5604" class="Symbol">=</a> <a id="5606" href="Categories.Object.Product.Core.html#526" class="Function">π₁</a> <a id="5609" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5611" href="Categories.Diagram.Equalizer.html#2024" class="Field">arr</a>
|
||
<a id="5617" class="Symbol">;</a> <a id="5619" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="5635" class="Symbol">=</a> <a id="5637" href="Categories.Object.Product.Core.html#546" class="Function">π₂</a> <a id="5640" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5642" href="Categories.Diagram.Equalizer.html#2024" class="Field">arr</a>
|
||
<a id="5648" class="Symbol">;</a> <a id="5650" href="Categories.Diagram.Pullback.html#2144" class="Field">isPullback</a> <a id="5661" class="Symbol">=</a> <a id="5663" class="Keyword">record</a>
|
||
<a id="5674" class="Symbol">{</a> <a id="5676" href="Categories.Diagram.Pullback.html#854" class="Field">commute</a> <a id="5692" class="Symbol">=</a> <a id="5694" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="5704" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="5706" href="Categories.Diagram.Equalizer.html#542" class="Function">equality</a> <a id="5715" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="5717" href="Categories.Category.Core.html#715" class="Field">assoc</a>
|
||
<a id="5727" class="Symbol">;</a> <a id="5729" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="5745" class="Symbol">=</a> <a id="5747" class="Symbol">λ</a> <a id="5749" class="Symbol">{</a><a id="5750" href="Categories.Diagram.Pullback.html#5750" class="Bound">_</a> <a id="5752" href="Categories.Diagram.Pullback.html#5752" class="Bound">h₁</a> <a id="5755" href="Categories.Diagram.Pullback.html#5755" class="Bound">h₂</a><a id="5757" class="Symbol">}</a> <a id="5759" href="Categories.Diagram.Pullback.html#5759" class="Bound">eq</a> <a id="5762" class="Symbol">→</a> <a id="5764" href="Categories.Diagram.Equalizer.html#575" class="Function">equalize</a> <a id="5773" href="Function.Base.html#1974" class="Function Operator">$</a> <a id="5775" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="5787" class="Symbol">(</a><a id="5788" href="Categories.Diagram.Pullback.html#5560" class="Bound">f</a> <a id="5790" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5792" href="Categories.Object.Product.Core.html#526" class="Function">π₁</a><a id="5794" class="Symbol">)</a> <a id="5796" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5798" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟨</a> <a id="5800" href="Categories.Diagram.Pullback.html#5752" class="Bound">h₁</a> <a id="5803" href="Categories.Object.Product.Core.html#566" class="Function Operator">,</a> <a id="5805" href="Categories.Diagram.Pullback.html#5755" class="Bound">h₂</a> <a id="5808" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟩</a> <a id="5810" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5813" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5819" href="Categories.Object.Product.Core.html#603" class="Function">project₁</a> <a id="5828" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="5836" href="Categories.Diagram.Pullback.html#5560" class="Bound">f</a> <a id="5838" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5840" href="Categories.Diagram.Pullback.html#5752" class="Bound">h₁</a> <a id="5858" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="5861" href="Categories.Diagram.Pullback.html#5759" class="Bound">eq</a> <a id="5864" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="5872" href="Categories.Diagram.Pullback.html#5568" class="Bound">g</a> <a id="5874" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5876" href="Categories.Diagram.Pullback.html#5755" class="Bound">h₂</a> <a id="5894" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="5898" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="5904" href="Categories.Object.Product.Core.html#637" class="Function">project₂</a> <a id="5913" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="5921" class="Symbol">(</a><a id="5922" href="Categories.Diagram.Pullback.html#5568" class="Bound">g</a> <a id="5924" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5926" href="Categories.Object.Product.Core.html#546" class="Function">π₂</a><a id="5928" class="Symbol">)</a> <a id="5930" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="5932" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟨</a> <a id="5934" href="Categories.Diagram.Pullback.html#5752" class="Bound">h₁</a> <a id="5937" href="Categories.Object.Product.Core.html#566" class="Function Operator">,</a> <a id="5939" href="Categories.Diagram.Pullback.html#5755" class="Bound">h₂</a> <a id="5942" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟩</a> <a id="5944" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="5950" class="Symbol">;</a> <a id="5952" href="Categories.Diagram.Pullback.html#956" class="Field">unique</a> <a id="5968" class="Symbol">=</a> <a id="5970" class="Symbol">λ</a> <a id="5972" href="Categories.Diagram.Pullback.html#5972" class="Bound">eq</a> <a id="5975" href="Categories.Diagram.Pullback.html#5975" class="Bound">eq′</a> <a id="5979" class="Symbol">→</a> <a id="5981" href="Categories.Diagram.Equalizer.html#691" class="Function">e.unique</a> <a id="5990" class="Symbol">(</a><a id="5991" href="Categories.Object.Product.Core.html#671" class="Function">p.unique</a> <a id="6000" class="Symbol">(</a><a id="6001" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="6011" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="6013" href="Categories.Diagram.Pullback.html#5972" class="Bound">eq</a><a id="6015" class="Symbol">)</a> <a id="6017" class="Symbol">(</a><a id="6018" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="6028" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="6030" href="Categories.Diagram.Pullback.html#5975" class="Bound">eq′</a><a id="6033" class="Symbol">))</a>
|
||
<a id="6040" class="Symbol">;</a> <a id="6042" href="Categories.Diagram.Pullback.html#1081" class="Field">p₁∘universal≈h₁</a> <a id="6058" class="Symbol">=</a> <a id="6060" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="6066" class="Symbol">(</a><a id="6067" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="6069" href="Categories.Diagram.Equalizer.html#628" class="Function">e.universal</a><a id="6080" class="Symbol">)</a> <a id="6082" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="6084" href="Categories.Object.Product.Core.html#603" class="Function">project₁</a>
|
||
<a id="6097" class="Symbol">;</a> <a id="6099" href="Categories.Diagram.Pullback.html#1179" class="Field">p₂∘universal≈h₂</a> <a id="6115" class="Symbol">=</a> <a id="6117" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="6123" class="Symbol">(</a><a id="6124" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="6126" href="Categories.Diagram.Equalizer.html#628" class="Function">e.universal</a><a id="6137" class="Symbol">)</a> <a id="6139" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="6141" href="Categories.Object.Product.Core.html#637" class="Function">project₂</a>
|
||
<a id="6154" class="Symbol">}</a>
|
||
<a id="6158" class="Symbol">}</a>
|
||
<a id="6162" class="Keyword">where</a> <a id="6168" class="Keyword">module</a> <a id="6175" href="Categories.Diagram.Pullback.html#6175" class="Module">p</a> <a id="6177" class="Symbol">=</a> <a id="6179" href="Categories.Object.Product.Core.html#435" class="Module">Product</a> <a id="6187" href="Categories.Diagram.Pullback.html#5571" class="Bound">p</a>
|
||
<a id="6197" class="Keyword">module</a> <a id="6204" href="Categories.Diagram.Pullback.html#6204" class="Module">e</a> <a id="6206" class="Symbol">=</a> <a id="6208" href="Categories.Diagram.Equalizer.html#1948" class="Module">Equalizer</a> <a id="6218" href="Categories.Diagram.Pullback.html#5573" class="Bound">e</a>
|
||
<a id="6228" class="Keyword">open</a> <a id="6233" href="Categories.Diagram.Pullback.html#6175" class="Module">p</a>
|
||
<a id="6243" class="Keyword">open</a> <a id="6248" href="Categories.Diagram.Pullback.html#6204" class="Module">e</a>
|
||
|
||
<a id="Product×Pullback⇒Equalizer"></a><a id="6251" href="Categories.Diagram.Pullback.html#6251" class="Function">Product×Pullback⇒Equalizer</a> <a id="6278" class="Symbol">:</a> <a id="6280" class="Symbol">(</a><a id="6281" href="Categories.Diagram.Pullback.html#6281" class="Bound">p</a> <a id="6283" class="Symbol">:</a> <a id="6285" href="Categories.Object.Product.Core.html#435" class="Record">Product</a> <a id="6293" href="Categories.Diagram.Pullback.html#644" class="Generalizable">A</a> <a id="6295" href="Categories.Diagram.Pullback.html#646" class="Generalizable">B</a><a id="6296" class="Symbol">)</a> <a id="6298" class="Symbol">→</a> <a id="6300" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="6309" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="6311" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a> <a id="6313" class="Symbol">→</a>
|
||
<a id="6317" href="Categories.Diagram.Equalizer.html#1948" class="Record">Equalizer</a> <a id="6327" class="Symbol">(</a><a id="6328" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="6330" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6332" href="Categories.Object.Product.Core.html#526" class="Field">Product.π₁</a> <a id="6343" href="Categories.Diagram.Pullback.html#6281" class="Bound">p</a><a id="6344" class="Symbol">)</a> <a id="6346" class="Symbol">(</a><a id="6347" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a> <a id="6349" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6351" href="Categories.Object.Product.Core.html#546" class="Field">Product.π₂</a> <a id="6362" href="Categories.Diagram.Pullback.html#6281" class="Bound">p</a><a id="6363" class="Symbol">)</a>
|
||
<a id="6365" href="Categories.Diagram.Pullback.html#6251" class="Function">Product×Pullback⇒Equalizer</a> <a id="6392" class="Symbol">{</a><a id="6393" class="Argument">f</a> <a id="6395" class="Symbol">=</a> <a id="6397" href="Categories.Diagram.Pullback.html#6397" class="Bound">f</a><a id="6398" class="Symbol">}</a> <a id="6400" class="Symbol">{</a><a id="6401" class="Argument">g</a> <a id="6403" class="Symbol">=</a> <a id="6405" href="Categories.Diagram.Pullback.html#6405" class="Bound">g</a><a id="6406" class="Symbol">}</a> <a id="6408" href="Categories.Diagram.Pullback.html#6408" class="Bound">p</a> <a id="6410" href="Categories.Diagram.Pullback.html#6410" class="Bound">pu</a> <a id="6413" class="Symbol">=</a> <a id="6415" class="Keyword">record</a>
|
||
<a id="6424" class="Symbol">{</a> <a id="6426" href="Categories.Diagram.Equalizer.html#2024" class="Field">arr</a> <a id="6436" class="Symbol">=</a> <a id="6438" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟨</a> <a id="6440" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="6443" href="Categories.Object.Product.Core.html#566" class="Function Operator">,</a> <a id="6445" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="6448" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟩</a>
|
||
<a id="6452" class="Symbol">;</a> <a id="6454" href="Categories.Diagram.Equalizer.html#2044" class="Field">isEqualizer</a> <a id="6466" class="Symbol">=</a> <a id="6468" class="Keyword">record</a>
|
||
<a id="6479" class="Symbol">{</a> <a id="6481" href="Categories.Diagram.Equalizer.html#542" class="Field">equality</a> <a id="6491" class="Symbol">=</a> <a id="6493" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="6505" class="Symbol">(</a><a id="6506" href="Categories.Diagram.Pullback.html#6397" class="Bound">f</a> <a id="6508" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6510" href="Categories.Object.Product.Core.html#526" class="Function">π₁</a><a id="6512" class="Symbol">)</a> <a id="6514" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6516" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟨</a> <a id="6518" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="6521" href="Categories.Object.Product.Core.html#566" class="Function Operator">,</a> <a id="6523" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="6526" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟩</a> <a id="6528" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6531" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="6537" href="Categories.Object.Product.Core.html#603" class="Function">project₁</a> <a id="6546" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="6554" href="Categories.Diagram.Pullback.html#6397" class="Bound">f</a> <a id="6556" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6558" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="6577" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6580" href="Categories.Diagram.Pullback.html#854" class="Function">commute</a> <a id="6588" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="6596" href="Categories.Diagram.Pullback.html#6405" class="Bound">g</a> <a id="6598" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6600" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="6619" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="6623" href="Categories.Morphism.Reasoning.Core.html#1914" class="Function">pullʳ</a> <a id="6629" href="Categories.Object.Product.Core.html#637" class="Function">project₂</a> <a id="6638" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="6646" class="Symbol">(</a><a id="6647" href="Categories.Diagram.Pullback.html#6405" class="Bound">g</a> <a id="6649" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6651" href="Categories.Object.Product.Core.html#546" class="Function">π₂</a><a id="6653" class="Symbol">)</a> <a id="6655" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6657" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟨</a> <a id="6659" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="6662" href="Categories.Object.Product.Core.html#566" class="Function Operator">,</a> <a id="6664" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="6667" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟩</a> <a id="6669" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="6675" class="Symbol">;</a> <a id="6677" href="Categories.Diagram.Equalizer.html#575" class="Field">equalize</a> <a id="6687" class="Symbol">=</a> <a id="6689" class="Symbol">λ</a> <a id="6691" href="Categories.Diagram.Pullback.html#6691" class="Bound">eq</a> <a id="6694" class="Symbol">→</a> <a id="6696" href="Categories.Diagram.Pullback.html#886" class="Function">pu.universal</a> <a id="6709" class="Symbol">(</a><a id="6710" href="Categories.Category.Core.html#1004" class="Field">sym-assoc</a> <a id="6720" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="6722" href="Categories.Diagram.Pullback.html#6691" class="Bound">eq</a> <a id="6725" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="6727" href="Categories.Category.Core.html#715" class="Field">assoc</a><a id="6732" class="Symbol">)</a>
|
||
<a id="6738" class="Symbol">;</a> <a id="6740" href="Categories.Diagram.Equalizer.html#628" class="Field">universal</a> <a id="6750" class="Symbol">=</a> <a id="6752" class="Symbol">λ</a> <a id="6754" class="Symbol">{</a><a id="6755" href="Categories.Diagram.Pullback.html#6755" class="Bound">_</a> <a id="6757" href="Categories.Diagram.Pullback.html#6757" class="Bound">h</a><a id="6758" class="Symbol">}</a> <a id="6760" class="Symbol">→</a> <a id="6762" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="6774" href="Categories.Diagram.Pullback.html#6757" class="Bound">h</a> <a id="6797" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="6801" href="Categories.Object.Product.Core.html#671" class="Function">p.unique</a> <a id="6810" class="Symbol">(</a><a id="6811" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="6813" href="Categories.Diagram.Pullback.html#1081" class="Function">p₁∘universal≈h₁</a><a id="6828" class="Symbol">)</a> <a id="6830" class="Symbol">(</a><a id="6831" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="6833" href="Categories.Diagram.Pullback.html#1179" class="Function">p₂∘universal≈h₂</a><a id="6848" class="Symbol">)</a> <a id="6850" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="6858" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟨</a> <a id="6860" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="6863" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6865" class="Symbol">_</a> <a id="6867" href="Categories.Object.Product.Core.html#566" class="Function Operator">,</a> <a id="6869" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="6872" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6874" class="Symbol">_</a> <a id="6876" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟩</a> <a id="6881" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="6884" href="Categories.Object.Product.Core.html#671" class="Function">p.unique</a> <a id="6893" class="Symbol">(</a><a id="6894" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="6900" href="Categories.Object.Product.Core.html#603" class="Function">project₁</a><a id="6908" class="Symbol">)</a> <a id="6910" class="Symbol">(</a><a id="6911" href="Categories.Morphism.Reasoning.Core.html#2048" class="Function">pullˡ</a> <a id="6917" href="Categories.Object.Product.Core.html#637" class="Function">project₂</a><a id="6925" class="Symbol">)</a> <a id="6927" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="6935" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟨</a> <a id="6937" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="6940" href="Categories.Object.Product.Core.html#566" class="Function Operator">,</a> <a id="6942" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="6945" href="Categories.Object.Product.Core.html#566" class="Function Operator">⟩</a> <a id="6947" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="6949" class="Symbol">_</a> <a id="6958" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="6964" class="Symbol">;</a> <a id="6966" href="Categories.Diagram.Equalizer.html#691" class="Field">unique</a> <a id="6976" class="Symbol">=</a> <a id="6978" class="Symbol">λ</a> <a id="6980" href="Categories.Diagram.Pullback.html#6980" class="Bound">eq</a> <a id="6983" class="Symbol">→</a> <a id="6985" href="Categories.Diagram.Pullback.html#956" class="Function">pu.unique</a> <a id="6995" class="Symbol">(</a><a id="6996" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="7002" class="Symbol">(</a><a id="7003" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="7005" href="Categories.Object.Product.Core.html#603" class="Function">project₁</a><a id="7013" class="Symbol">)</a> <a id="7015" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="7017" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="7019" class="Symbol">(</a><a id="7020" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="7030" href="Categories.Diagram.Pullback.html#6980" class="Bound">eq</a><a id="7032" class="Symbol">))</a>
|
||
<a id="7070" class="Symbol">(</a><a id="7071" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="7077" class="Symbol">(</a><a id="7078" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="7080" href="Categories.Object.Product.Core.html#637" class="Function">project₂</a><a id="7088" class="Symbol">)</a> <a id="7090" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="7092" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="7094" class="Symbol">(</a><a id="7095" href="Categories.Category.Core.html#1706" class="Function">∘-resp-≈ʳ</a> <a id="7105" href="Categories.Diagram.Pullback.html#6980" class="Bound">eq</a><a id="7107" class="Symbol">))</a>
|
||
<a id="7112" class="Symbol">}</a>
|
||
<a id="7116" class="Symbol">}</a>
|
||
<a id="7120" class="Keyword">where</a> <a id="7126" class="Keyword">module</a> <a id="7133" href="Categories.Diagram.Pullback.html#7133" class="Module">p</a> <a id="7135" class="Symbol">=</a> <a id="7137" href="Categories.Object.Product.Core.html#435" class="Module">Product</a> <a id="7145" href="Categories.Diagram.Pullback.html#6408" class="Bound">p</a>
|
||
<a id="7155" class="Keyword">module</a> <a id="7162" href="Categories.Diagram.Pullback.html#7162" class="Module">pu</a> <a id="7165" class="Symbol">=</a> <a id="7167" href="Categories.Diagram.Pullback.html#2029" class="Module">Pullback</a> <a id="7176" href="Categories.Diagram.Pullback.html#6410" class="Bound">pu</a>
|
||
<a id="7187" class="Keyword">open</a> <a id="7192" href="Categories.Diagram.Pullback.html#7133" class="Module">p</a>
|
||
<a id="7202" class="Keyword">open</a> <a id="7207" href="Categories.Diagram.Pullback.html#7162" class="Module">pu</a>
|
||
|
||
<a id="7211" class="Keyword">module</a> <a id="7218" href="Categories.Diagram.Pullback.html#7218" class="Module">_</a> <a id="7220" class="Symbol">(</a><a id="7221" href="Categories.Diagram.Pullback.html#7221" class="Bound">p</a> <a id="7223" class="Symbol">:</a> <a id="7225" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="7234" href="Categories.Diagram.Pullback.html#664" class="Generalizable">f</a> <a id="7236" href="Categories.Diagram.Pullback.html#666" class="Generalizable">g</a><a id="7237" class="Symbol">)</a> <a id="7239" class="Keyword">where</a>
|
||
<a id="7247" class="Keyword">open</a> <a id="7252" href="Categories.Diagram.Pullback.html#2029" class="Module">Pullback</a> <a id="7261" href="Categories.Diagram.Pullback.html#7221" class="Bound">p</a>
|
||
|
||
<a id="7266" href="Categories.Diagram.Pullback.html#7266" class="Function">Pullback-resp-≈</a> <a id="7282" class="Symbol">:</a> <a id="7284" href="Categories.Diagram.Pullback.html#668" class="Generalizable">h</a> <a id="7286" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="7288" href="Categories.Diagram.Pullback.html#7234" class="Bound">f</a> <a id="7290" class="Symbol">→</a> <a id="7292" href="Categories.Diagram.Pullback.html#676" class="Generalizable">i</a> <a id="7294" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="7296" href="Categories.Diagram.Pullback.html#7236" class="Bound">g</a> <a id="7298" class="Symbol">→</a> <a id="7300" href="Categories.Diagram.Pullback.html#2029" class="Record">Pullback</a> <a id="7309" href="Categories.Diagram.Pullback.html#668" class="Generalizable">h</a> <a id="7311" href="Categories.Diagram.Pullback.html#676" class="Generalizable">i</a>
|
||
<a id="7315" href="Categories.Diagram.Pullback.html#7266" class="Function">Pullback-resp-≈</a> <a id="7331" href="Categories.Diagram.Pullback.html#7331" class="Bound">eq</a> <a id="7334" href="Categories.Diagram.Pullback.html#7334" class="Bound">eq′</a> <a id="7338" class="Symbol">=</a> <a id="7340" class="Keyword">record</a>
|
||
<a id="7351" class="Symbol">{</a> <a id="7353" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="7369" class="Symbol">=</a> <a id="7371" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a>
|
||
<a id="7378" class="Symbol">;</a> <a id="7380" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="7396" class="Symbol">=</a> <a id="7398" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a>
|
||
<a id="7405" class="Symbol">;</a> <a id="7407" href="Categories.Diagram.Pullback.html#2144" class="Field">isPullback</a> <a id="7418" class="Symbol">=</a> <a id="7420" class="Keyword">record</a>
|
||
<a id="7433" class="Symbol">{</a> <a id="7435" href="Categories.Diagram.Pullback.html#854" class="Field">commute</a> <a id="7451" class="Symbol">=</a> <a id="7453" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="7463" href="Categories.Diagram.Pullback.html#7331" class="Bound">eq</a> <a id="7466" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="7468" href="Categories.Diagram.Pullback.html#854" class="Function">commute</a> <a id="7476" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="7478" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="7480" class="Symbol">(</a><a id="7481" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="7491" href="Categories.Diagram.Pullback.html#7334" class="Bound">eq′</a><a id="7494" class="Symbol">)</a>
|
||
<a id="7502" class="Symbol">;</a> <a id="7504" href="Categories.Diagram.Pullback.html#886" class="Field">universal</a> <a id="7520" class="Symbol">=</a> <a id="7522" class="Symbol">λ</a> <a id="7524" href="Categories.Diagram.Pullback.html#7524" class="Bound">eq″</a> <a id="7528" class="Symbol">→</a> <a id="7530" href="Categories.Diagram.Pullback.html#886" class="Function">universal</a> <a id="7540" class="Symbol">(</a><a id="7541" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="7551" class="Symbol">(</a><a id="7552" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="7554" href="Categories.Diagram.Pullback.html#7331" class="Bound">eq</a><a id="7556" class="Symbol">)</a> <a id="7558" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="7560" href="Categories.Diagram.Pullback.html#7524" class="Bound">eq″</a> <a id="7564" href="Categories.Category.Core.html#3061" class="Function Operator">○</a> <a id="7566" href="Categories.Category.Core.html#1597" class="Function">∘-resp-≈ˡ</a> <a id="7576" href="Categories.Diagram.Pullback.html#7334" class="Bound">eq′</a><a id="7579" class="Symbol">)</a>
|
||
<a id="7587" class="Symbol">;</a> <a id="7589" href="Categories.Diagram.Pullback.html#956" class="Field">unique</a> <a id="7605" class="Symbol">=</a> <a id="7607" href="Categories.Diagram.Pullback.html#956" class="Function">unique</a>
|
||
<a id="7620" class="Symbol">;</a> <a id="7622" href="Categories.Diagram.Pullback.html#1081" class="Field">p₁∘universal≈h₁</a> <a id="7638" class="Symbol">=</a> <a id="7640" href="Categories.Diagram.Pullback.html#1081" class="Function">p₁∘universal≈h₁</a>
|
||
<a id="7662" class="Symbol">;</a> <a id="7664" href="Categories.Diagram.Pullback.html#1179" class="Field">p₂∘universal≈h₂</a> <a id="7680" class="Symbol">=</a> <a id="7682" href="Categories.Diagram.Pullback.html#1179" class="Function">p₂∘universal≈h₂</a>
|
||
<a id="7704" class="Symbol">}</a>
|
||
<a id="7710" class="Symbol">}</a>
|
||
|
||
<a id="7715" href="Categories.Diagram.Pullback.html#7715" class="Function">Pullback-resp-Mono</a> <a id="7734" class="Symbol">:</a> <a id="7736" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="7741" href="Categories.Diagram.Pullback.html#7236" class="Bound">g</a> <a id="7743" class="Symbol">→</a> <a id="7745" href="Categories.Morphism.html#488" class="Function">Mono</a> <a id="7750" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a>
|
||
<a id="7755" href="Categories.Diagram.Pullback.html#7715" class="Function">Pullback-resp-Mono</a> <a id="7774" href="Categories.Diagram.Pullback.html#7774" class="Bound">mg</a> <a id="7777" href="Categories.Diagram.Pullback.html#7777" class="Bound">h</a> <a id="7779" href="Categories.Diagram.Pullback.html#7779" class="Bound">i</a> <a id="7781" href="Categories.Diagram.Pullback.html#7781" class="Bound">eq</a> <a id="7784" class="Symbol">=</a> <a id="7786" href="Categories.Diagram.Pullback.html#1698" class="Function">unique-diagram</a> <a id="7801" href="Categories.Diagram.Pullback.html#7781" class="Bound">eq</a> <a id="7804" class="Symbol">(</a><a id="7805" href="Categories.Diagram.Pullback.html#7774" class="Bound">mg</a> <a id="7808" class="Symbol">_</a> <a id="7810" class="Symbol">_</a> <a id="7812" href="Categories.Diagram.Pullback.html#7827" class="Function">eq′</a><a id="7815" class="Symbol">)</a>
|
||
<a id="7821" class="Keyword">where</a> <a id="7827" href="Categories.Diagram.Pullback.html#7827" class="Function">eq′</a> <a id="7831" class="Symbol">:</a> <a id="7833" href="Categories.Diagram.Pullback.html#7236" class="Bound">g</a> <a id="7835" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7837" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="7840" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7842" href="Categories.Diagram.Pullback.html#7777" class="Bound">h</a> <a id="7844" href="Categories.Category.Core.html#595" class="Field Operator">≈</a> <a id="7846" href="Categories.Diagram.Pullback.html#7236" class="Bound">g</a> <a id="7848" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7850" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="7853" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7855" href="Categories.Diagram.Pullback.html#7779" class="Bound">i</a>
|
||
<a id="7867" href="Categories.Diagram.Pullback.html#7827" class="Function">eq′</a> <a id="7871" class="Symbol">=</a> <a id="7873" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="7891" href="Categories.Diagram.Pullback.html#7236" class="Bound">g</a> <a id="7893" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7895" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="7898" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7900" href="Categories.Diagram.Pullback.html#7777" class="Bound">h</a> <a id="7902" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7905" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="7913" class="Symbol">(</a><a id="7914" href="Relation.Binary.Structures.html#1622" class="Function">sym</a> <a id="7918" href="Categories.Diagram.Pullback.html#854" class="Function">commute</a><a id="7925" class="Symbol">)</a> <a id="7927" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="7941" href="Categories.Diagram.Pullback.html#7234" class="Bound">f</a> <a id="7943" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7945" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="7948" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7950" href="Categories.Diagram.Pullback.html#7777" class="Bound">h</a> <a id="7952" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7955" href="Categories.Category.Core.html#2734" class="Function Operator">refl⟩∘⟨</a> <a id="7963" href="Categories.Diagram.Pullback.html#7781" class="Bound">eq</a> <a id="7966" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="7980" href="Categories.Diagram.Pullback.html#7234" class="Bound">f</a> <a id="7982" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7984" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="7987" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="7989" href="Categories.Diagram.Pullback.html#7779" class="Bound">i</a> <a id="7991" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="7994" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="8002" href="Categories.Diagram.Pullback.html#854" class="Function">commute</a> <a id="8010" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8024" href="Categories.Diagram.Pullback.html#7236" class="Bound">g</a> <a id="8026" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8028" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="8031" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8033" href="Categories.Diagram.Pullback.html#7779" class="Bound">i</a> <a id="8035" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
|
||
<a id="8040" href="Categories.Diagram.Pullback.html#8040" class="Function">Pullback-resp-Iso</a> <a id="8058" class="Symbol">:</a> <a id="8060" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="8064" href="Categories.Diagram.Pullback.html#7236" class="Bound">g</a> <a id="8066" href="Categories.Diagram.Pullback.html#668" class="Generalizable">h</a> <a id="8068" class="Symbol">→</a> <a id="8070" href="Data.Product.Base.html#852" class="Function">∃</a> <a id="8072" class="Symbol">λ</a> <a id="8074" href="Categories.Diagram.Pullback.html#8074" class="Bound">i</a> <a id="8076" class="Symbol">→</a> <a id="8078" href="Categories.Morphism.html#1528" class="Record">Iso</a> <a id="8082" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="8085" href="Categories.Diagram.Pullback.html#8074" class="Bound">i</a>
|
||
<a id="8089" href="Categories.Diagram.Pullback.html#8040" class="Function">Pullback-resp-Iso</a> <a id="8107" class="Symbol">{</a><a id="8108" class="Argument">h</a> <a id="8110" class="Symbol">=</a> <a id="8112" href="Categories.Diagram.Pullback.html#8112" class="Bound">h</a><a id="8113" class="Symbol">}</a> <a id="8115" href="Categories.Diagram.Pullback.html#8115" class="Bound">iso</a> <a id="8119" class="Symbol">=</a> <a id="8121" href="Categories.Diagram.Pullback.html#886" class="Function">universal</a> <a id="8131" href="Categories.Diagram.Pullback.html#8363" class="Function">eq</a>
|
||
<a id="8166" href="Agda.Builtin.Sigma.html#235" class="InductiveConstructor Operator">,</a> <a id="8168" class="Keyword">record</a>
|
||
<a id="8207" class="Symbol">{</a> <a id="8209" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="8214" class="Symbol">=</a> <a id="8216" href="Categories.Diagram.Pullback.html#1698" class="Function">unique-diagram</a> <a id="8231" href="Categories.Diagram.Pullback.html#8528" class="Function">eq₁</a> <a id="8235" href="Categories.Diagram.Pullback.html#8702" class="Function">eq₂</a>
|
||
<a id="8271" class="Symbol">;</a> <a id="8273" href="Categories.Morphism.html#1612" class="Field">isoʳ</a> <a id="8278" class="Symbol">=</a> <a id="8280" href="Categories.Diagram.Pullback.html#1081" class="Function">p₁∘universal≈h₁</a>
|
||
<a id="8328" class="Symbol">}</a>
|
||
<a id="8334" class="Keyword">where</a> <a id="8340" class="Keyword">open</a> <a id="8345" href="Categories.Morphism.html#1528" class="Module">Iso</a> <a id="8349" href="Categories.Diagram.Pullback.html#8115" class="Bound">iso</a>
|
||
<a id="8363" href="Categories.Diagram.Pullback.html#8363" class="Function">eq</a> <a id="8366" class="Symbol">=</a> <a id="8368" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="8386" href="Categories.Diagram.Pullback.html#7234" class="Bound">f</a> <a id="8388" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8390" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8409" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8412" href="Categories.Morphism.Reasoning.Core.html#3063" class="Function">introˡ</a> <a id="8419" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="8424" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8438" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8441" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8443" href="Categories.Diagram.Pullback.html#7234" class="Bound">f</a> <a id="8445" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8447" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8461" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8464" href="Categories.Morphism.Reasoning.Core.html#2485" class="Function">pushˡ</a> <a id="8470" class="Symbol">(</a><a id="8471" href="Categories.Category.Core.html#3005" class="Function">⟺</a> <a id="8473" href="Categories.Morphism.html#1612" class="Field">isoʳ</a><a id="8477" class="Symbol">)</a> <a id="8479" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8493" href="Categories.Diagram.Pullback.html#7236" class="Bound">g</a> <a id="8495" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8497" href="Categories.Diagram.Pullback.html#8112" class="Bound">h</a> <a id="8499" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8501" href="Categories.Diagram.Pullback.html#7234" class="Bound">f</a> <a id="8503" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8505" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8516" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="8528" href="Categories.Diagram.Pullback.html#8528" class="Function">eq₁</a> <a id="8532" class="Symbol">=</a> <a id="8534" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="8552" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="8555" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8557" href="Categories.Diagram.Pullback.html#886" class="Function">universal</a> <a id="8567" href="Categories.Diagram.Pullback.html#8363" class="Function">eq</a> <a id="8570" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8572" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="8575" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8578" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="8586" href="Categories.Diagram.Pullback.html#1081" class="Function">p₁∘universal≈h₁</a> <a id="8602" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8616" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="8639" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="8643" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="8653" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="8667" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="8670" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8672" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="8690" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="8702" href="Categories.Diagram.Pullback.html#8702" class="Function">eq₂</a> <a id="8706" class="Symbol">=</a> <a id="8708" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="8726" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="8729" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8731" href="Categories.Diagram.Pullback.html#886" class="Function">universal</a> <a id="8741" href="Categories.Diagram.Pullback.html#8363" class="Function">eq</a> <a id="8744" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8746" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="8749" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8752" href="Categories.Morphism.Reasoning.Core.html#3587" class="Function">extendʳ</a> <a id="8760" href="Categories.Diagram.Pullback.html#1179" class="Function">p₂∘universal≈h₂</a> <a id="8776" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8790" href="Categories.Diagram.Pullback.html#8112" class="Bound">h</a> <a id="8792" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8794" class="Symbol">(</a><a id="8795" href="Categories.Diagram.Pullback.html#7234" class="Bound">f</a> <a id="8797" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8799" href="Categories.Category.Core.html#630" class="Field">id</a><a id="8801" class="Symbol">)</a> <a id="8803" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8805" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="8813" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8816" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="8821" href="Categories.Category.Core.html#2634" class="Function Operator">⟩∘⟨</a> <a id="8825" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="8835" href="Categories.Category.Core.html#2634" class="Function Operator">⟩∘⟨</a> <a id="8839" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="8844" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8858" href="Categories.Diagram.Pullback.html#8112" class="Bound">h</a> <a id="8860" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8862" href="Categories.Diagram.Pullback.html#7234" class="Bound">f</a> <a id="8864" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8866" href="Categories.Diagram.Pullback.html#2112" class="Field">p₁</a> <a id="8881" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8884" href="Relation.Binary.Structures.html#1596" class="Function">refl</a> <a id="8889" href="Categories.Category.Core.html#2634" class="Function Operator">⟩∘⟨</a> <a id="8893" href="Categories.Diagram.Pullback.html#854" class="Function">commute</a> <a id="8901" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8915" href="Categories.Diagram.Pullback.html#8112" class="Bound">h</a> <a id="8917" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8919" href="Categories.Diagram.Pullback.html#7236" class="Bound">g</a> <a id="8921" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="8923" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="8938" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">≈⟨</a> <a id="8941" href="Categories.Morphism.Reasoning.Core.html#6851" class="Function">cancelˡ</a> <a id="8949" href="Categories.Morphism.html#1586" class="Field">isoˡ</a> <a id="8954" href="Relation.Binary.Reasoning.Syntax.html#7049" class="Function">⟩</a>
|
||
<a id="8968" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="8991" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">≈˘⟨</a> <a id="8995" href="Categories.Category.Core.html#1145" class="Field">identityʳ</a> <a id="9005" href="Relation.Binary.Reasoning.Syntax.html#7400" class="Function">⟩</a>
|
||
<a id="9019" href="Categories.Diagram.Pullback.html#2128" class="Field">p₂</a> <a id="9022" href="Categories.Category.Core.html#656" class="Field Operator">∘</a> <a id="9024" href="Categories.Category.Core.html#630" class="Field">id</a> <a id="9042" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
</pre></body></html> |