mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
116 lines
No EOL
46 KiB
HTML
116 lines
No EOL
46 KiB
HTML
<!DOCTYPE HTML>
|
||
<html><head><meta charset="utf-8"><title>Category.Applicative.Indexed</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="74" class="Comment">-- The Agda standard library</a>
|
||
<a id="103" class="Comment">--</a>
|
||
<a id="106" class="Comment">-- Indexed applicative functors</a>
|
||
<a id="138" class="Comment">------------------------------------------------------------------------</a>
|
||
|
||
<a id="212" class="Comment">-- Note that currently the applicative functor laws are not included</a>
|
||
<a id="281" class="Comment">-- here.</a>
|
||
|
||
<a id="291" class="Symbol">{-#</a> <a id="295" class="Keyword">OPTIONS</a> <a id="303" class="Pragma">--cubical-compatible</a> <a id="324" class="Pragma">--safe</a> <a id="331" class="Symbol">#-}</a>
|
||
|
||
<a id="336" class="Keyword">module</a> <a id="343" href="Category.Applicative.Indexed.html" class="Module">Category.Applicative.Indexed</a> <a id="372" class="Keyword">where</a>
|
||
|
||
<a id="379" class="Keyword">open</a> <a id="384" class="Keyword">import</a> <a id="391" href="Category.Functor.html" class="Module">Category.Functor</a> <a id="408" class="Keyword">using</a> <a id="414" class="Symbol">(</a><a id="415" href="Category.Functor.html#508" class="Record">RawFunctor</a><a id="425" class="Symbol">)</a>
|
||
<a id="427" class="Keyword">open</a> <a id="432" class="Keyword">import</a> <a id="439" href="Data.Product.html" class="Module">Data.Product</a> <a id="452" class="Keyword">using</a> <a id="458" class="Symbol">(</a><a id="459" href="Data.Product.html#1176" class="Function Operator">_×_</a><a id="462" class="Symbol">;</a> <a id="464" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="467" class="Symbol">)</a>
|
||
<a id="469" class="Keyword">open</a> <a id="474" class="Keyword">import</a> <a id="481" href="Function.html" class="Module">Function</a> <a id="490" class="Keyword">hiding</a> <a id="497" class="Symbol">(</a><a id="498" href="Function.Core.html#655" class="Function">Morphism</a><a id="506" class="Symbol">)</a>
|
||
<a id="508" class="Keyword">open</a> <a id="513" class="Keyword">import</a> <a id="520" href="Level.html" class="Module">Level</a>
|
||
<a id="526" class="Keyword">open</a> <a id="531" class="Keyword">import</a> <a id="538" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a> <a id="576" class="Symbol">as</a> <a id="579" class="Module">P</a> <a id="581" class="Keyword">using</a> <a id="587" class="Symbol">(</a><a id="588" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a><a id="591" class="Symbol">)</a>
|
||
|
||
<a id="594" class="Keyword">private</a>
|
||
<a id="604" class="Keyword">variable</a>
|
||
<a id="617" href="Category.Applicative.Indexed.html#617" class="Generalizable">a</a> <a id="619" href="Category.Applicative.Indexed.html#619" class="Generalizable">b</a> <a id="621" href="Category.Applicative.Indexed.html#621" class="Generalizable">c</a> <a id="623" href="Category.Applicative.Indexed.html#623" class="Generalizable">i</a> <a id="625" href="Category.Applicative.Indexed.html#625" class="Generalizable">f</a> <a id="627" class="Symbol">:</a> <a id="629" href="Agda.Primitive.html#591" class="Postulate">Level</a>
|
||
<a id="639" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="641" class="Symbol">:</a> <a id="643" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="647" href="Category.Applicative.Indexed.html#617" class="Generalizable">a</a>
|
||
<a id="653" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a> <a id="655" class="Symbol">:</a> <a id="657" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="661" href="Category.Applicative.Indexed.html#619" class="Generalizable">b</a>
|
||
<a id="667" href="Category.Applicative.Indexed.html#667" class="Generalizable">C</a> <a id="669" class="Symbol">:</a> <a id="671" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="675" href="Category.Applicative.Indexed.html#621" class="Generalizable">c</a>
|
||
|
||
<a id="IFun"></a><a id="678" href="Category.Applicative.Indexed.html#678" class="Function">IFun</a> <a id="683" class="Symbol">:</a> <a id="685" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="689" href="Category.Applicative.Indexed.html#623" class="Generalizable">i</a> <a id="691" class="Symbol">→</a> <a id="693" class="Symbol">(</a><a id="694" href="Category.Applicative.Indexed.html#694" class="Bound">ℓ</a> <a id="696" class="Symbol">:</a> <a id="698" href="Agda.Primitive.html#591" class="Postulate">Level</a><a id="703" class="Symbol">)</a> <a id="705" class="Symbol">→</a> <a id="707" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="711" class="Symbol">(</a><a id="712" href="Category.Applicative.Indexed.html#623" class="Generalizable">i</a> <a id="714" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="716" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="720" href="Category.Applicative.Indexed.html#694" class="Bound">ℓ</a><a id="721" class="Symbol">)</a>
|
||
<a id="723" href="Category.Applicative.Indexed.html#678" class="Function">IFun</a> <a id="728" href="Category.Applicative.Indexed.html#728" class="Bound">I</a> <a id="730" href="Category.Applicative.Indexed.html#730" class="Bound">ℓ</a> <a id="732" class="Symbol">=</a> <a id="734" href="Category.Applicative.Indexed.html#728" class="Bound">I</a> <a id="736" class="Symbol">→</a> <a id="738" href="Category.Applicative.Indexed.html#728" class="Bound">I</a> <a id="740" class="Symbol">→</a> <a id="742" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="746" href="Category.Applicative.Indexed.html#730" class="Bound">ℓ</a> <a id="748" class="Symbol">→</a> <a id="750" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="754" href="Category.Applicative.Indexed.html#730" class="Bound">ℓ</a>
|
||
|
||
<a id="757" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="830" class="Comment">-- Type, and usual combinators</a>
|
||
|
||
<a id="862" class="Keyword">record</a> <a id="RawIApplicative"></a><a id="869" href="Category.Applicative.Indexed.html#869" class="Record">RawIApplicative</a> <a id="885" class="Symbol">{</a><a id="886" href="Category.Applicative.Indexed.html#886" class="Bound">I</a> <a id="888" class="Symbol">:</a> <a id="890" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="894" href="Category.Applicative.Indexed.html#623" class="Generalizable">i</a><a id="895" class="Symbol">}</a> <a id="897" class="Symbol">(</a><a id="898" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="900" class="Symbol">:</a> <a id="902" href="Category.Applicative.Indexed.html#678" class="Function">IFun</a> <a id="907" href="Category.Applicative.Indexed.html#886" class="Bound">I</a> <a id="909" href="Category.Applicative.Indexed.html#625" class="Generalizable">f</a><a id="910" class="Symbol">)</a> <a id="912" class="Symbol">:</a>
|
||
<a id="937" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="941" class="Symbol">(</a><a id="942" href="Category.Applicative.Indexed.html#894" class="Bound">i</a> <a id="944" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="946" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="950" href="Category.Applicative.Indexed.html#909" class="Bound">f</a><a id="951" class="Symbol">)</a> <a id="953" class="Keyword">where</a>
|
||
<a id="961" class="Keyword">infixl</a> <a id="968" class="Number">4</a> <a id="970" href="Category.Applicative.Indexed.html#1043" class="Function Operator">_⊛_</a> <a id="974" href="Category.Applicative.Indexed.html#1316" class="Function Operator">_<⊛_</a> <a id="979" href="Category.Applicative.Indexed.html#1393" class="Function Operator">_⊛>_</a>
|
||
<a id="986" class="Keyword">infix</a> <a id="993" class="Number">4</a> <a id="995" href="Category.Applicative.Indexed.html#1471" class="Function Operator">_⊗_</a>
|
||
|
||
<a id="1002" class="Keyword">field</a>
|
||
<a id="RawIApplicative.pure"></a><a id="1012" href="Category.Applicative.Indexed.html#1012" class="Field">pure</a> <a id="1017" class="Symbol">:</a> <a id="1019" class="Symbol">∀</a> <a id="1021" class="Symbol">{</a><a id="1022" href="Category.Applicative.Indexed.html#1022" class="Bound">i</a><a id="1023" class="Symbol">}</a> <a id="1025" class="Symbol">→</a> <a id="1027" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="1029" class="Symbol">→</a> <a id="1031" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1033" href="Category.Applicative.Indexed.html#1022" class="Bound">i</a> <a id="1035" href="Category.Applicative.Indexed.html#1022" class="Bound">i</a> <a id="1037" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a>
|
||
<a id="RawIApplicative._⊛_"></a><a id="1043" href="Category.Applicative.Indexed.html#1043" class="Field Operator">_⊛_</a> <a id="1048" class="Symbol">:</a> <a id="1050" class="Symbol">∀</a> <a id="1052" class="Symbol">{</a><a id="1053" href="Category.Applicative.Indexed.html#1053" class="Bound">i</a> <a id="1055" href="Category.Applicative.Indexed.html#1055" class="Bound">j</a> <a id="1057" href="Category.Applicative.Indexed.html#1057" class="Bound">k</a><a id="1058" class="Symbol">}</a> <a id="1060" class="Symbol">→</a> <a id="1062" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1064" href="Category.Applicative.Indexed.html#1053" class="Bound">i</a> <a id="1066" href="Category.Applicative.Indexed.html#1055" class="Bound">j</a> <a id="1068" class="Symbol">(</a><a id="1069" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="1071" class="Symbol">→</a> <a id="1073" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a><a id="1074" class="Symbol">)</a> <a id="1076" class="Symbol">→</a> <a id="1078" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1080" href="Category.Applicative.Indexed.html#1055" class="Bound">j</a> <a id="1082" href="Category.Applicative.Indexed.html#1057" class="Bound">k</a> <a id="1084" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="1086" class="Symbol">→</a> <a id="1088" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1090" href="Category.Applicative.Indexed.html#1053" class="Bound">i</a> <a id="1092" href="Category.Applicative.Indexed.html#1057" class="Bound">k</a> <a id="1094" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a>
|
||
|
||
<a id="RawIApplicative.rawFunctor"></a><a id="1099" href="Category.Applicative.Indexed.html#1099" class="Function">rawFunctor</a> <a id="1110" class="Symbol">:</a> <a id="1112" class="Symbol">∀</a> <a id="1114" class="Symbol">{</a><a id="1115" href="Category.Applicative.Indexed.html#1115" class="Bound">i</a> <a id="1117" href="Category.Applicative.Indexed.html#1117" class="Bound">j</a><a id="1118" class="Symbol">}</a> <a id="1120" class="Symbol">→</a> <a id="1122" href="Category.Functor.html#508" class="Record">RawFunctor</a> <a id="1133" class="Symbol">(</a><a id="1134" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1136" href="Category.Applicative.Indexed.html#1115" class="Bound">i</a> <a id="1138" href="Category.Applicative.Indexed.html#1117" class="Bound">j</a><a id="1139" class="Symbol">)</a>
|
||
<a id="1143" href="Category.Applicative.Indexed.html#1099" class="Function">rawFunctor</a> <a id="1154" class="Symbol">=</a> <a id="1156" class="Keyword">record</a>
|
||
<a id="1167" class="Symbol">{</a> <a id="1169" href="Category.Functor.html#617" class="Field Operator">_<$>_</a> <a id="1175" class="Symbol">=</a> <a id="1177" class="Symbol">λ</a> <a id="1179" href="Category.Applicative.Indexed.html#1179" class="Bound">g</a> <a id="1181" href="Category.Applicative.Indexed.html#1181" class="Bound">x</a> <a id="1183" class="Symbol">→</a> <a id="1185" href="Category.Applicative.Indexed.html#1012" class="Field">pure</a> <a id="1190" href="Category.Applicative.Indexed.html#1179" class="Bound">g</a> <a id="1192" href="Category.Applicative.Indexed.html#1043" class="Field Operator">⊛</a> <a id="1194" href="Category.Applicative.Indexed.html#1181" class="Bound">x</a>
|
||
<a id="1200" class="Symbol">}</a>
|
||
|
||
<a id="1205" class="Keyword">private</a>
|
||
<a id="1217" class="Keyword">open</a> <a id="1222" class="Keyword">module</a> <a id="RawIApplicative.RF"></a><a id="1229" href="Category.Applicative.Indexed.html#1229" class="Module">RF</a> <a id="1232" class="Symbol">{</a><a id="1233" href="Category.Applicative.Indexed.html#1233" class="Bound">i</a> <a id="1235" href="Category.Applicative.Indexed.html#1235" class="Bound">j</a> <a id="1237" class="Symbol">:</a> <a id="1239" href="Category.Applicative.Indexed.html#886" class="Bound">I</a><a id="1240" class="Symbol">}</a> <a id="1242" class="Symbol">=</a>
|
||
<a id="1255" href="Category.Functor.html#508" class="Module">RawFunctor</a> <a id="1266" class="Symbol">(</a><a id="1267" href="Category.Applicative.Indexed.html#1099" class="Function">rawFunctor</a> <a id="1278" class="Symbol">{</a><a id="1279" class="Argument">i</a> <a id="1281" class="Symbol">=</a> <a id="1283" href="Category.Applicative.Indexed.html#1233" class="Bound">i</a><a id="1284" class="Symbol">}</a> <a id="1286" class="Symbol">{</a><a id="1287" class="Argument">j</a> <a id="1289" class="Symbol">=</a> <a id="1291" href="Category.Applicative.Indexed.html#1235" class="Bound">j</a><a id="1292" class="Symbol">})</a>
|
||
<a id="1306" class="Keyword">public</a>
|
||
|
||
<a id="RawIApplicative._<⊛_"></a><a id="1316" href="Category.Applicative.Indexed.html#1316" class="Function Operator">_<⊛_</a> <a id="1321" class="Symbol">:</a> <a id="1323" class="Symbol">∀</a> <a id="1325" class="Symbol">{</a><a id="1326" href="Category.Applicative.Indexed.html#1326" class="Bound">i</a> <a id="1328" href="Category.Applicative.Indexed.html#1328" class="Bound">j</a> <a id="1330" href="Category.Applicative.Indexed.html#1330" class="Bound">k</a><a id="1331" class="Symbol">}</a> <a id="1333" class="Symbol">→</a> <a id="1335" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1337" href="Category.Applicative.Indexed.html#1326" class="Bound">i</a> <a id="1339" href="Category.Applicative.Indexed.html#1328" class="Bound">j</a> <a id="1341" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="1343" class="Symbol">→</a> <a id="1345" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1347" href="Category.Applicative.Indexed.html#1328" class="Bound">j</a> <a id="1349" href="Category.Applicative.Indexed.html#1330" class="Bound">k</a> <a id="1351" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a> <a id="1353" class="Symbol">→</a> <a id="1355" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1357" href="Category.Applicative.Indexed.html#1326" class="Bound">i</a> <a id="1359" href="Category.Applicative.Indexed.html#1330" class="Bound">k</a> <a id="1361" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a>
|
||
<a id="1365" href="Category.Applicative.Indexed.html#1365" class="Bound">x</a> <a id="1367" href="Category.Applicative.Indexed.html#1316" class="Function Operator"><⊛</a> <a id="1370" href="Category.Applicative.Indexed.html#1370" class="Bound">y</a> <a id="1372" class="Symbol">=</a> <a id="1374" href="Function.Base.html#645" class="Function">const</a> <a id="1380" href="Category.Functor.html#617" class="Function Operator"><$></a> <a id="1384" href="Category.Applicative.Indexed.html#1365" class="Bound">x</a> <a id="1386" href="Category.Applicative.Indexed.html#1043" class="Field Operator">⊛</a> <a id="1388" href="Category.Applicative.Indexed.html#1370" class="Bound">y</a>
|
||
|
||
<a id="RawIApplicative._⊛>_"></a><a id="1393" href="Category.Applicative.Indexed.html#1393" class="Function Operator">_⊛>_</a> <a id="1398" class="Symbol">:</a> <a id="1400" class="Symbol">∀</a> <a id="1402" class="Symbol">{</a><a id="1403" href="Category.Applicative.Indexed.html#1403" class="Bound">i</a> <a id="1405" href="Category.Applicative.Indexed.html#1405" class="Bound">j</a> <a id="1407" href="Category.Applicative.Indexed.html#1407" class="Bound">k</a><a id="1408" class="Symbol">}</a> <a id="1410" class="Symbol">→</a> <a id="1412" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1414" href="Category.Applicative.Indexed.html#1403" class="Bound">i</a> <a id="1416" href="Category.Applicative.Indexed.html#1405" class="Bound">j</a> <a id="1418" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="1420" class="Symbol">→</a> <a id="1422" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1424" href="Category.Applicative.Indexed.html#1405" class="Bound">j</a> <a id="1426" href="Category.Applicative.Indexed.html#1407" class="Bound">k</a> <a id="1428" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a> <a id="1430" class="Symbol">→</a> <a id="1432" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1434" href="Category.Applicative.Indexed.html#1403" class="Bound">i</a> <a id="1436" href="Category.Applicative.Indexed.html#1407" class="Bound">k</a> <a id="1438" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a>
|
||
<a id="1442" href="Category.Applicative.Indexed.html#1442" class="Bound">x</a> <a id="1444" href="Category.Applicative.Indexed.html#1393" class="Function Operator">⊛></a> <a id="1447" href="Category.Applicative.Indexed.html#1447" class="Bound">y</a> <a id="1449" class="Symbol">=</a> <a id="1451" href="Function.Base.html#682" class="Function">constᵣ</a> <a id="1458" href="Category.Functor.html#617" class="Function Operator"><$></a> <a id="1462" href="Category.Applicative.Indexed.html#1442" class="Bound">x</a> <a id="1464" href="Category.Applicative.Indexed.html#1043" class="Field Operator">⊛</a> <a id="1466" href="Category.Applicative.Indexed.html#1447" class="Bound">y</a>
|
||
|
||
<a id="RawIApplicative._⊗_"></a><a id="1471" href="Category.Applicative.Indexed.html#1471" class="Function Operator">_⊗_</a> <a id="1475" class="Symbol">:</a> <a id="1477" class="Symbol">∀</a> <a id="1479" class="Symbol">{</a><a id="1480" href="Category.Applicative.Indexed.html#1480" class="Bound">i</a> <a id="1482" href="Category.Applicative.Indexed.html#1482" class="Bound">j</a> <a id="1484" href="Category.Applicative.Indexed.html#1484" class="Bound">k</a><a id="1485" class="Symbol">}</a> <a id="1487" class="Symbol">→</a> <a id="1489" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1491" href="Category.Applicative.Indexed.html#1480" class="Bound">i</a> <a id="1493" href="Category.Applicative.Indexed.html#1482" class="Bound">j</a> <a id="1495" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="1497" class="Symbol">→</a> <a id="1499" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1501" href="Category.Applicative.Indexed.html#1482" class="Bound">j</a> <a id="1503" href="Category.Applicative.Indexed.html#1484" class="Bound">k</a> <a id="1505" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a> <a id="1507" class="Symbol">→</a> <a id="1509" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1511" href="Category.Applicative.Indexed.html#1480" class="Bound">i</a> <a id="1513" href="Category.Applicative.Indexed.html#1484" class="Bound">k</a> <a id="1515" class="Symbol">(</a><a id="1516" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="1518" href="Data.Product.html#1176" class="Function Operator">×</a> <a id="1520" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a><a id="1521" class="Symbol">)</a>
|
||
<a id="1525" href="Category.Applicative.Indexed.html#1525" class="Bound">x</a> <a id="1527" href="Category.Applicative.Indexed.html#1471" class="Function Operator">⊗</a> <a id="1529" href="Category.Applicative.Indexed.html#1529" class="Bound">y</a> <a id="1531" class="Symbol">=</a> <a id="1533" class="Symbol">(</a><a id="1534" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="1537" class="Symbol">)</a> <a id="1539" href="Category.Functor.html#617" class="Function Operator"><$></a> <a id="1543" href="Category.Applicative.Indexed.html#1525" class="Bound">x</a> <a id="1545" href="Category.Applicative.Indexed.html#1043" class="Field Operator">⊛</a> <a id="1547" href="Category.Applicative.Indexed.html#1529" class="Bound">y</a>
|
||
|
||
<a id="RawIApplicative.zipWith"></a><a id="1552" href="Category.Applicative.Indexed.html#1552" class="Function">zipWith</a> <a id="1560" class="Symbol">:</a> <a id="1562" class="Symbol">∀</a> <a id="1564" class="Symbol">{</a><a id="1565" href="Category.Applicative.Indexed.html#1565" class="Bound">i</a> <a id="1567" href="Category.Applicative.Indexed.html#1567" class="Bound">j</a> <a id="1569" href="Category.Applicative.Indexed.html#1569" class="Bound">k</a><a id="1570" class="Symbol">}</a> <a id="1572" class="Symbol">→</a> <a id="1574" class="Symbol">(</a><a id="1575" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="1577" class="Symbol">→</a> <a id="1579" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a> <a id="1581" class="Symbol">→</a> <a id="1583" href="Category.Applicative.Indexed.html#667" class="Generalizable">C</a><a id="1584" class="Symbol">)</a> <a id="1586" class="Symbol">→</a> <a id="1588" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1590" href="Category.Applicative.Indexed.html#1565" class="Bound">i</a> <a id="1592" href="Category.Applicative.Indexed.html#1567" class="Bound">j</a> <a id="1594" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="1596" class="Symbol">→</a> <a id="1598" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1600" href="Category.Applicative.Indexed.html#1567" class="Bound">j</a> <a id="1602" href="Category.Applicative.Indexed.html#1569" class="Bound">k</a> <a id="1604" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a> <a id="1606" class="Symbol">→</a> <a id="1608" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1610" href="Category.Applicative.Indexed.html#1565" class="Bound">i</a> <a id="1612" href="Category.Applicative.Indexed.html#1569" class="Bound">k</a> <a id="1614" href="Category.Applicative.Indexed.html#667" class="Generalizable">C</a>
|
||
<a id="1618" href="Category.Applicative.Indexed.html#1552" class="Function">zipWith</a> <a id="1626" href="Category.Applicative.Indexed.html#1626" class="Bound">f</a> <a id="1628" href="Category.Applicative.Indexed.html#1628" class="Bound">x</a> <a id="1630" href="Category.Applicative.Indexed.html#1630" class="Bound">y</a> <a id="1632" class="Symbol">=</a> <a id="1634" href="Category.Applicative.Indexed.html#1626" class="Bound">f</a> <a id="1636" href="Category.Functor.html#617" class="Function Operator"><$></a> <a id="1640" href="Category.Applicative.Indexed.html#1628" class="Bound">x</a> <a id="1642" href="Category.Applicative.Indexed.html#1043" class="Field Operator">⊛</a> <a id="1644" href="Category.Applicative.Indexed.html#1630" class="Bound">y</a>
|
||
|
||
<a id="RawIApplicative.zip"></a><a id="1649" href="Category.Applicative.Indexed.html#1649" class="Function">zip</a> <a id="1653" class="Symbol">:</a> <a id="1655" class="Symbol">∀</a> <a id="1657" class="Symbol">{</a><a id="1658" href="Category.Applicative.Indexed.html#1658" class="Bound">i</a> <a id="1660" href="Category.Applicative.Indexed.html#1660" class="Bound">j</a> <a id="1662" href="Category.Applicative.Indexed.html#1662" class="Bound">k</a><a id="1663" class="Symbol">}</a> <a id="1665" class="Symbol">→</a> <a id="1667" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1669" href="Category.Applicative.Indexed.html#1658" class="Bound">i</a> <a id="1671" href="Category.Applicative.Indexed.html#1660" class="Bound">j</a> <a id="1673" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="1675" class="Symbol">→</a> <a id="1677" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1679" href="Category.Applicative.Indexed.html#1660" class="Bound">j</a> <a id="1681" href="Category.Applicative.Indexed.html#1662" class="Bound">k</a> <a id="1683" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a> <a id="1685" class="Symbol">→</a> <a id="1687" href="Category.Applicative.Indexed.html#898" class="Bound">F</a> <a id="1689" href="Category.Applicative.Indexed.html#1658" class="Bound">i</a> <a id="1691" href="Category.Applicative.Indexed.html#1662" class="Bound">k</a> <a id="1693" class="Symbol">(</a><a id="1694" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="1696" href="Data.Product.html#1176" class="Function Operator">×</a> <a id="1698" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a><a id="1699" class="Symbol">)</a>
|
||
<a id="1703" href="Category.Applicative.Indexed.html#1649" class="Function">zip</a> <a id="1707" class="Symbol">=</a> <a id="1709" href="Category.Applicative.Indexed.html#1552" class="Function">zipWith</a> <a id="1717" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a>
|
||
|
||
<a id="1722" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="1795" class="Comment">-- Applicative with a zero</a>
|
||
|
||
<a id="1823" class="Keyword">record</a> <a id="RawIApplicativeZero"></a><a id="1830" href="Category.Applicative.Indexed.html#1830" class="Record">RawIApplicativeZero</a>
|
||
<a id="1857" class="Symbol">{</a><a id="1858" href="Category.Applicative.Indexed.html#1858" class="Bound">I</a> <a id="1860" class="Symbol">:</a> <a id="1862" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1866" href="Category.Applicative.Indexed.html#623" class="Generalizable">i</a><a id="1867" class="Symbol">}</a> <a id="1869" class="Symbol">(</a><a id="1870" href="Category.Applicative.Indexed.html#1870" class="Bound">F</a> <a id="1872" class="Symbol">:</a> <a id="1874" href="Category.Applicative.Indexed.html#678" class="Function">IFun</a> <a id="1879" href="Category.Applicative.Indexed.html#1858" class="Bound">I</a> <a id="1881" href="Category.Applicative.Indexed.html#625" class="Generalizable">f</a><a id="1882" class="Symbol">)</a> <a id="1884" class="Symbol">:</a>
|
||
<a id="1893" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1897" class="Symbol">(</a><a id="1898" href="Category.Applicative.Indexed.html#1866" class="Bound">i</a> <a id="1900" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1902" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="1906" href="Category.Applicative.Indexed.html#1881" class="Bound">f</a><a id="1907" class="Symbol">)</a> <a id="1909" class="Keyword">where</a>
|
||
<a id="1917" class="Keyword">field</a>
|
||
<a id="RawIApplicativeZero.applicative"></a><a id="1927" href="Category.Applicative.Indexed.html#1927" class="Field">applicative</a> <a id="1939" class="Symbol">:</a> <a id="1941" href="Category.Applicative.Indexed.html#869" class="Record">RawIApplicative</a> <a id="1957" href="Category.Applicative.Indexed.html#1870" class="Bound">F</a>
|
||
<a id="RawIApplicativeZero.∅"></a><a id="1963" href="Category.Applicative.Indexed.html#1963" class="Field">∅</a> <a id="1975" class="Symbol">:</a> <a id="1977" class="Symbol">∀</a> <a id="1979" class="Symbol">{</a><a id="1980" href="Category.Applicative.Indexed.html#1980" class="Bound">i</a> <a id="1982" href="Category.Applicative.Indexed.html#1982" class="Bound">j</a><a id="1983" class="Symbol">}</a> <a id="1985" class="Symbol">→</a> <a id="1987" href="Category.Applicative.Indexed.html#1870" class="Bound">F</a> <a id="1989" href="Category.Applicative.Indexed.html#1980" class="Bound">i</a> <a id="1991" href="Category.Applicative.Indexed.html#1982" class="Bound">j</a> <a id="1993" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a>
|
||
|
||
<a id="1998" class="Keyword">open</a> <a id="2003" href="Category.Applicative.Indexed.html#869" class="Module">RawIApplicative</a> <a id="2019" href="Category.Applicative.Indexed.html#1927" class="Field">applicative</a> <a id="2031" class="Keyword">public</a>
|
||
|
||
<a id="2039" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="2112" class="Comment">-- Alternative functors: `F i j A` is a monoid</a>
|
||
|
||
<a id="2160" class="Keyword">record</a> <a id="RawIAlternative"></a><a id="2167" href="Category.Applicative.Indexed.html#2167" class="Record">RawIAlternative</a>
|
||
<a id="2190" class="Symbol">{</a><a id="2191" href="Category.Applicative.Indexed.html#2191" class="Bound">I</a> <a id="2193" class="Symbol">:</a> <a id="2195" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2199" href="Category.Applicative.Indexed.html#623" class="Generalizable">i</a><a id="2200" class="Symbol">}</a> <a id="2202" class="Symbol">(</a><a id="2203" href="Category.Applicative.Indexed.html#2203" class="Bound">F</a> <a id="2205" class="Symbol">:</a> <a id="2207" href="Category.Applicative.Indexed.html#678" class="Function">IFun</a> <a id="2212" href="Category.Applicative.Indexed.html#2191" class="Bound">I</a> <a id="2214" href="Category.Applicative.Indexed.html#625" class="Generalizable">f</a><a id="2215" class="Symbol">)</a> <a id="2217" class="Symbol">:</a>
|
||
<a id="2226" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2230" class="Symbol">(</a><a id="2231" href="Category.Applicative.Indexed.html#2199" class="Bound">i</a> <a id="2233" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="2235" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="2239" href="Category.Applicative.Indexed.html#2214" class="Bound">f</a><a id="2240" class="Symbol">)</a> <a id="2242" class="Keyword">where</a>
|
||
<a id="2250" class="Keyword">infixr</a> <a id="2257" class="Number">3</a> _∣_
|
||
<a id="2265" class="Keyword">field</a>
|
||
<a id="RawIAlternative.applicativeZero"></a><a id="2275" href="Category.Applicative.Indexed.html#2275" class="Field">applicativeZero</a> <a id="2291" class="Symbol">:</a> <a id="2293" href="Category.Applicative.Indexed.html#1830" class="Record">RawIApplicativeZero</a> <a id="2313" href="Category.Applicative.Indexed.html#2203" class="Bound">F</a>
|
||
<a id="RawIAlternative._∣_"></a><a id="2319" href="Category.Applicative.Indexed.html#2319" class="Field Operator">_∣_</a> <a id="2335" class="Symbol">:</a> <a id="2337" class="Symbol">∀</a> <a id="2339" class="Symbol">{</a><a id="2340" href="Category.Applicative.Indexed.html#2340" class="Bound">i</a> <a id="2342" href="Category.Applicative.Indexed.html#2342" class="Bound">j</a><a id="2343" class="Symbol">}</a> <a id="2345" class="Symbol">→</a> <a id="2347" href="Category.Applicative.Indexed.html#2203" class="Bound">F</a> <a id="2349" href="Category.Applicative.Indexed.html#2340" class="Bound">i</a> <a id="2351" href="Category.Applicative.Indexed.html#2342" class="Bound">j</a> <a id="2353" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="2355" class="Symbol">→</a> <a id="2357" href="Category.Applicative.Indexed.html#2203" class="Bound">F</a> <a id="2359" href="Category.Applicative.Indexed.html#2340" class="Bound">i</a> <a id="2361" href="Category.Applicative.Indexed.html#2342" class="Bound">j</a> <a id="2363" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="2365" class="Symbol">→</a> <a id="2367" href="Category.Applicative.Indexed.html#2203" class="Bound">F</a> <a id="2369" href="Category.Applicative.Indexed.html#2340" class="Bound">i</a> <a id="2371" href="Category.Applicative.Indexed.html#2342" class="Bound">j</a> <a id="2373" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a>
|
||
|
||
<a id="2378" class="Keyword">open</a> <a id="2383" href="Category.Applicative.Indexed.html#1830" class="Module">RawIApplicativeZero</a> <a id="2403" href="Category.Applicative.Indexed.html#2275" class="Field">applicativeZero</a> <a id="2419" class="Keyword">public</a>
|
||
|
||
|
||
<a id="2428" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="2501" class="Comment">-- Applicative functor morphisms, specialised to propositional</a>
|
||
<a id="2564" class="Comment">-- equality.</a>
|
||
|
||
<a id="2578" class="Keyword">record</a> <a id="Morphism"></a><a id="2585" href="Category.Applicative.Indexed.html#2585" class="Record">Morphism</a> <a id="2594" class="Symbol">{</a><a id="2595" href="Category.Applicative.Indexed.html#2595" class="Bound">I</a> <a id="2597" class="Symbol">:</a> <a id="2599" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2603" href="Category.Applicative.Indexed.html#623" class="Generalizable">i</a><a id="2604" class="Symbol">}</a> <a id="2606" class="Symbol">{</a><a id="2607" href="Category.Applicative.Indexed.html#2607" class="Bound">F₁</a> <a id="2610" href="Category.Applicative.Indexed.html#2610" class="Bound">F₂</a> <a id="2613" class="Symbol">:</a> <a id="2615" href="Category.Applicative.Indexed.html#678" class="Function">IFun</a> <a id="2620" href="Category.Applicative.Indexed.html#2595" class="Bound">I</a> <a id="2622" href="Category.Applicative.Indexed.html#625" class="Generalizable">f</a><a id="2623" class="Symbol">}</a>
|
||
<a id="2641" class="Symbol">(</a><a id="2642" href="Category.Applicative.Indexed.html#2642" class="Bound">A₁</a> <a id="2645" class="Symbol">:</a> <a id="2647" href="Category.Applicative.Indexed.html#869" class="Record">RawIApplicative</a> <a id="2663" href="Category.Applicative.Indexed.html#2607" class="Bound">F₁</a><a id="2665" class="Symbol">)</a>
|
||
<a id="2683" class="Symbol">(</a><a id="2684" href="Category.Applicative.Indexed.html#2684" class="Bound">A₂</a> <a id="2687" class="Symbol">:</a> <a id="2689" href="Category.Applicative.Indexed.html#869" class="Record">RawIApplicative</a> <a id="2705" href="Category.Applicative.Indexed.html#2610" class="Bound">F₂</a><a id="2707" class="Symbol">)</a> <a id="2709" class="Symbol">:</a> <a id="2711" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2715" class="Symbol">(</a><a id="2716" href="Category.Applicative.Indexed.html#2603" class="Bound">i</a> <a id="2718" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="2720" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="2724" href="Category.Applicative.Indexed.html#2622" class="Bound">f</a><a id="2725" class="Symbol">)</a> <a id="2727" class="Keyword">where</a>
|
||
<a id="2735" class="Keyword">module</a> <a id="Morphism.A₁"></a><a id="2742" href="Category.Applicative.Indexed.html#2742" class="Module">A₁</a> <a id="2745" class="Symbol">=</a> <a id="2747" href="Category.Applicative.Indexed.html#869" class="Module">RawIApplicative</a> <a id="2763" href="Category.Applicative.Indexed.html#2642" class="Bound">A₁</a>
|
||
<a id="2768" class="Keyword">module</a> <a id="Morphism.A₂"></a><a id="2775" href="Category.Applicative.Indexed.html#2775" class="Module">A₂</a> <a id="2778" class="Symbol">=</a> <a id="2780" href="Category.Applicative.Indexed.html#869" class="Module">RawIApplicative</a> <a id="2796" href="Category.Applicative.Indexed.html#2684" class="Bound">A₂</a>
|
||
<a id="2801" class="Keyword">field</a>
|
||
<a id="Morphism.op"></a><a id="2811" href="Category.Applicative.Indexed.html#2811" class="Field">op</a> <a id="2819" class="Symbol">:</a> <a id="2821" class="Symbol">∀</a> <a id="2823" class="Symbol">{</a><a id="2824" href="Category.Applicative.Indexed.html#2824" class="Bound">i</a> <a id="2826" href="Category.Applicative.Indexed.html#2826" class="Bound">j</a><a id="2827" class="Symbol">}</a> <a id="2829" class="Symbol">→</a> <a id="2831" href="Category.Applicative.Indexed.html#2607" class="Bound">F₁</a> <a id="2834" href="Category.Applicative.Indexed.html#2824" class="Bound">i</a> <a id="2836" href="Category.Applicative.Indexed.html#2826" class="Bound">j</a> <a id="2838" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="2840" class="Symbol">→</a> <a id="2842" href="Category.Applicative.Indexed.html#2610" class="Bound">F₂</a> <a id="2845" href="Category.Applicative.Indexed.html#2824" class="Bound">i</a> <a id="2847" href="Category.Applicative.Indexed.html#2826" class="Bound">j</a> <a id="2849" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a>
|
||
<a id="Morphism.op-pure"></a><a id="2855" href="Category.Applicative.Indexed.html#2855" class="Field">op-pure</a> <a id="2863" class="Symbol">:</a> <a id="2865" class="Symbol">∀</a> <a id="2867" class="Symbol">{</a><a id="2868" href="Category.Applicative.Indexed.html#2868" class="Bound">i</a><a id="2869" class="Symbol">}</a> <a id="2871" class="Symbol">(</a><a id="2872" href="Category.Applicative.Indexed.html#2872" class="Bound">x</a> <a id="2874" class="Symbol">:</a> <a id="2876" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a><a id="2877" class="Symbol">)</a> <a id="2879" class="Symbol">→</a> <a id="2881" href="Category.Applicative.Indexed.html#2811" class="Field">op</a> <a id="2884" class="Symbol">(</a><a id="2885" href="Category.Applicative.Indexed.html#1012" class="Function">A₁.pure</a> <a id="2893" class="Symbol">{</a><a id="2894" class="Argument">i</a> <a id="2896" class="Symbol">=</a> <a id="2898" href="Category.Applicative.Indexed.html#2868" class="Bound">i</a><a id="2899" class="Symbol">}</a> <a id="2901" href="Category.Applicative.Indexed.html#2872" class="Bound">x</a><a id="2902" class="Symbol">)</a> <a id="2904" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="2906" href="Category.Applicative.Indexed.html#1012" class="Function">A₂.pure</a> <a id="2914" href="Category.Applicative.Indexed.html#2872" class="Bound">x</a>
|
||
<a id="Morphism.op-⊛"></a><a id="2920" href="Category.Applicative.Indexed.html#2920" class="Field">op-⊛</a> <a id="2928" class="Symbol">:</a> <a id="2930" class="Symbol">∀</a> <a id="2932" class="Symbol">{</a><a id="2933" href="Category.Applicative.Indexed.html#2933" class="Bound">i</a> <a id="2935" href="Category.Applicative.Indexed.html#2935" class="Bound">j</a> <a id="2937" href="Category.Applicative.Indexed.html#2937" class="Bound">k</a><a id="2938" class="Symbol">}</a> <a id="2940" class="Symbol">(</a><a id="2941" href="Category.Applicative.Indexed.html#2941" class="Bound">f</a> <a id="2943" class="Symbol">:</a> <a id="2945" href="Category.Applicative.Indexed.html#2607" class="Bound">F₁</a> <a id="2948" href="Category.Applicative.Indexed.html#2933" class="Bound">i</a> <a id="2950" href="Category.Applicative.Indexed.html#2935" class="Bound">j</a> <a id="2952" class="Symbol">(</a><a id="2953" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="2955" class="Symbol">→</a> <a id="2957" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a><a id="2958" class="Symbol">))</a> <a id="2961" class="Symbol">(</a><a id="2962" href="Category.Applicative.Indexed.html#2962" class="Bound">x</a> <a id="2964" class="Symbol">:</a> <a id="2966" href="Category.Applicative.Indexed.html#2607" class="Bound">F₁</a> <a id="2969" href="Category.Applicative.Indexed.html#2935" class="Bound">j</a> <a id="2971" href="Category.Applicative.Indexed.html#2937" class="Bound">k</a> <a id="2973" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a><a id="2974" class="Symbol">)</a> <a id="2976" class="Symbol">→</a>
|
||
<a id="2992" href="Category.Applicative.Indexed.html#2811" class="Field">op</a> <a id="2995" class="Symbol">(</a><a id="2996" href="Category.Applicative.Indexed.html#2941" class="Bound">f</a> <a id="2998" href="Category.Applicative.Indexed.html#1043" class="Function Operator">A₁.⊛</a> <a id="3003" href="Category.Applicative.Indexed.html#2962" class="Bound">x</a><a id="3004" class="Symbol">)</a> <a id="3006" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="3008" class="Symbol">(</a><a id="3009" href="Category.Applicative.Indexed.html#2811" class="Field">op</a> <a id="3012" href="Category.Applicative.Indexed.html#2941" class="Bound">f</a> <a id="3014" href="Category.Applicative.Indexed.html#1043" class="Function Operator">A₂.⊛</a> <a id="3019" href="Category.Applicative.Indexed.html#2811" class="Field">op</a> <a id="3022" href="Category.Applicative.Indexed.html#2962" class="Bound">x</a><a id="3023" class="Symbol">)</a>
|
||
|
||
<a id="Morphism.op-<$>"></a><a id="3028" href="Category.Applicative.Indexed.html#3028" class="Function">op-<$></a> <a id="3035" class="Symbol">:</a> <a id="3037" class="Symbol">∀</a> <a id="3039" class="Symbol">{</a><a id="3040" href="Category.Applicative.Indexed.html#3040" class="Bound">i</a> <a id="3042" href="Category.Applicative.Indexed.html#3042" class="Bound">j</a><a id="3043" class="Symbol">}</a> <a id="3045" class="Symbol">(</a><a id="3046" href="Category.Applicative.Indexed.html#3046" class="Bound">f</a> <a id="3048" class="Symbol">:</a> <a id="3050" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a> <a id="3052" class="Symbol">→</a> <a id="3054" href="Category.Applicative.Indexed.html#653" class="Generalizable">B</a><a id="3055" class="Symbol">)</a> <a id="3057" class="Symbol">(</a><a id="3058" href="Category.Applicative.Indexed.html#3058" class="Bound">x</a> <a id="3060" class="Symbol">:</a> <a id="3062" href="Category.Applicative.Indexed.html#2607" class="Bound">F₁</a> <a id="3065" href="Category.Applicative.Indexed.html#3040" class="Bound">i</a> <a id="3067" href="Category.Applicative.Indexed.html#3042" class="Bound">j</a> <a id="3069" href="Category.Applicative.Indexed.html#639" class="Generalizable">A</a><a id="3070" class="Symbol">)</a> <a id="3072" class="Symbol">→</a>
|
||
<a id="3085" href="Category.Applicative.Indexed.html#2811" class="Field">op</a> <a id="3088" class="Symbol">(</a><a id="3089" href="Category.Applicative.Indexed.html#3046" class="Bound">f</a> <a id="3091" href="Category.Functor.html#617" class="Function Operator">A₁.<$></a> <a id="3098" href="Category.Applicative.Indexed.html#3058" class="Bound">x</a><a id="3099" class="Symbol">)</a> <a id="3101" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="3103" class="Symbol">(</a><a id="3104" href="Category.Applicative.Indexed.html#3046" class="Bound">f</a> <a id="3106" href="Category.Functor.html#617" class="Function Operator">A₂.<$></a> <a id="3113" href="Category.Applicative.Indexed.html#2811" class="Field">op</a> <a id="3116" href="Category.Applicative.Indexed.html#3058" class="Bound">x</a><a id="3117" class="Symbol">)</a>
|
||
<a id="3121" href="Category.Applicative.Indexed.html#3028" class="Function">op-<$></a> <a id="3128" href="Category.Applicative.Indexed.html#3128" class="Bound">f</a> <a id="3130" href="Category.Applicative.Indexed.html#3130" class="Bound">x</a> <a id="3132" class="Symbol">=</a> <a id="3134" href="Relation.Binary.PropositionalEquality.Core.html#2815" class="Function Operator">begin</a>
|
||
<a id="3144" href="Category.Applicative.Indexed.html#2811" class="Field">op</a> <a id="3147" class="Symbol">(</a><a id="3148" href="Category.Applicative.Indexed.html#1043" class="Function Operator">A₁._⊛_</a> <a id="3155" class="Symbol">(</a><a id="3156" href="Category.Applicative.Indexed.html#1012" class="Function">A₁.pure</a> <a id="3164" href="Category.Applicative.Indexed.html#3128" class="Bound">f</a><a id="3165" class="Symbol">)</a> <a id="3167" href="Category.Applicative.Indexed.html#3130" class="Bound">x</a><a id="3168" class="Symbol">)</a> <a id="3176" href="Relation.Binary.PropositionalEquality.Core.html#2932" class="Function">≡⟨</a> <a id="3179" href="Category.Applicative.Indexed.html#2920" class="Field">op-⊛</a> <a id="3184" class="Symbol">_</a> <a id="3186" class="Symbol">_</a> <a id="3188" href="Relation.Binary.PropositionalEquality.Core.html#2932" class="Function">⟩</a>
|
||
<a id="3194" href="Category.Applicative.Indexed.html#1043" class="Function Operator">A₂._⊛_</a> <a id="3201" class="Symbol">(</a><a id="3202" href="Category.Applicative.Indexed.html#2811" class="Field">op</a> <a id="3205" class="Symbol">(</a><a id="3206" href="Category.Applicative.Indexed.html#1012" class="Function">A₁.pure</a> <a id="3214" href="Category.Applicative.Indexed.html#3128" class="Bound">f</a><a id="3215" class="Symbol">))</a> <a id="3218" class="Symbol">(</a><a id="3219" href="Category.Applicative.Indexed.html#2811" class="Field">op</a> <a id="3222" href="Category.Applicative.Indexed.html#3130" class="Bound">x</a><a id="3223" class="Symbol">)</a> <a id="3226" href="Relation.Binary.PropositionalEquality.Core.html#2932" class="Function">≡⟨</a> <a id="3229" href="Relation.Binary.PropositionalEquality.Core.html#1376" class="Function">P.cong₂</a> <a id="3237" href="Category.Applicative.Indexed.html#1043" class="Function Operator">A₂._⊛_</a> <a id="3244" class="Symbol">(</a><a id="3245" href="Category.Applicative.Indexed.html#2855" class="Field">op-pure</a> <a id="3253" class="Symbol">_)</a> <a id="3256" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">P.refl</a> <a id="3263" href="Relation.Binary.PropositionalEquality.Core.html#2932" class="Function">⟩</a>
|
||
<a id="3269" href="Category.Applicative.Indexed.html#1043" class="Function Operator">A₂._⊛_</a> <a id="3276" class="Symbol">(</a><a id="3277" href="Category.Applicative.Indexed.html#1012" class="Function">A₂.pure</a> <a id="3285" href="Category.Applicative.Indexed.html#3128" class="Bound">f</a><a id="3286" class="Symbol">)</a> <a id="3288" class="Symbol">(</a><a id="3289" href="Category.Applicative.Indexed.html#2811" class="Field">op</a> <a id="3292" href="Category.Applicative.Indexed.html#3130" class="Bound">x</a><a id="3293" class="Symbol">)</a> <a id="3301" href="Relation.Binary.PropositionalEquality.Core.html#3114" class="Function Operator">∎</a>
|
||
<a id="3307" class="Keyword">where</a> <a id="3313" class="Keyword">open</a> <a id="3318" href="Relation.Binary.PropositionalEquality.Core.html#2717" class="Module">P.≡-Reasoning</a>
|
||
</pre></body></html> |