mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
127 lines
No EOL
44 KiB
HTML
127 lines
No EOL
44 KiB
HTML
<!DOCTYPE HTML>
|
||
<html><head><meta charset="utf-8"><title>Relation.Binary.PropositionalEquality.Core</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">-- Propositional equality</a>
|
||
<a id="132" class="Comment">--</a>
|
||
<a id="135" class="Comment">-- This file contains some core definitions which are re-exported by</a>
|
||
<a id="204" class="Comment">-- Relation.Binary.PropositionalEquality.</a>
|
||
<a id="246" class="Comment">------------------------------------------------------------------------</a>
|
||
|
||
<a id="320" class="Symbol">{-#</a> <a id="324" class="Keyword">OPTIONS</a> <a id="332" class="Pragma">--cubical-compatible</a> <a id="353" class="Pragma">--safe</a> <a id="360" class="Symbol">#-}</a>
|
||
|
||
<a id="365" class="Keyword">module</a> <a id="372" href="Relation.Binary.PropositionalEquality.Core.html" class="Module">Relation.Binary.PropositionalEquality.Core</a> <a id="415" class="Keyword">where</a>
|
||
|
||
<a id="422" class="Keyword">open</a> <a id="427" class="Keyword">import</a> <a id="434" href="Data.Product.html" class="Module">Data.Product</a> <a id="447" class="Keyword">using</a> <a id="453" class="Symbol">(</a><a id="454" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">_,_</a><a id="457" class="Symbol">)</a>
|
||
<a id="459" class="Keyword">open</a> <a id="464" class="Keyword">import</a> <a id="471" href="Function.Base.html" class="Module">Function.Base</a> <a id="485" class="Keyword">using</a> <a id="491" class="Symbol">(</a><a id="492" href="Function.Base.html#1040" class="Function Operator">_∘_</a><a id="495" class="Symbol">)</a>
|
||
<a id="497" class="Keyword">open</a> <a id="502" class="Keyword">import</a> <a id="509" href="Level.html" class="Module">Level</a>
|
||
<a id="515" class="Keyword">open</a> <a id="520" class="Keyword">import</a> <a id="527" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a>
|
||
<a id="548" class="Keyword">open</a> <a id="553" class="Keyword">import</a> <a id="560" href="Relation.Binary.Definitions.html" class="Module">Relation.Binary.Definitions</a>
|
||
<a id="588" class="Keyword">open</a> <a id="593" class="Keyword">import</a> <a id="600" href="Relation.Nullary.html" class="Module">Relation.Nullary</a> <a id="617" class="Keyword">using</a> <a id="623" class="Symbol">(</a><a id="624" href="Relation.Nullary.html#665" class="Function Operator">¬_</a><a id="626" class="Symbol">)</a>
|
||
|
||
<a id="629" class="Keyword">private</a>
|
||
<a id="639" class="Keyword">variable</a>
|
||
<a id="652" href="Relation.Binary.PropositionalEquality.Core.html#652" class="Generalizable">a</a> <a id="654" href="Relation.Binary.PropositionalEquality.Core.html#654" class="Generalizable">b</a> <a id="656" href="Relation.Binary.PropositionalEquality.Core.html#656" class="Generalizable">ℓ</a> <a id="658" class="Symbol">:</a> <a id="660" href="Agda.Primitive.html#591" class="Postulate">Level</a>
|
||
<a id="670" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a> <a id="672" href="Relation.Binary.PropositionalEquality.Core.html#672" class="Generalizable">B</a> <a id="674" href="Relation.Binary.PropositionalEquality.Core.html#674" class="Generalizable">C</a> <a id="676" class="Symbol">:</a> <a id="678" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="682" href="Relation.Binary.PropositionalEquality.Core.html#652" class="Generalizable">a</a>
|
||
|
||
<a id="685" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="758" class="Comment">-- Propositional equality</a>
|
||
|
||
<a id="785" class="Keyword">open</a> <a id="790" class="Keyword">import</a> <a id="797" href="Agda.Builtin.Equality.html" class="Module">Agda.Builtin.Equality</a> <a id="819" class="Keyword">public</a>
|
||
|
||
<a id="827" class="Keyword">infix</a> <a id="833" class="Number">4</a> <a id="835" href="Relation.Binary.PropositionalEquality.Core.html#839" class="Function Operator">_≢_</a>
|
||
<a id="_≢_"></a><a id="839" href="Relation.Binary.PropositionalEquality.Core.html#839" class="Function Operator">_≢_</a> <a id="843" class="Symbol">:</a> <a id="845" class="Symbol">{</a><a id="846" href="Relation.Binary.PropositionalEquality.Core.html#846" class="Bound">A</a> <a id="848" class="Symbol">:</a> <a id="850" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="854" href="Relation.Binary.PropositionalEquality.Core.html#652" class="Generalizable">a</a><a id="855" class="Symbol">}</a> <a id="857" class="Symbol">→</a> <a id="859" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="863" href="Relation.Binary.PropositionalEquality.Core.html#846" class="Bound">A</a> <a id="865" href="Relation.Binary.PropositionalEquality.Core.html#652" class="Generalizable">a</a>
|
||
<a id="867" href="Relation.Binary.PropositionalEquality.Core.html#867" class="Bound">x</a> <a id="869" href="Relation.Binary.PropositionalEquality.Core.html#839" class="Function Operator">≢</a> <a id="871" href="Relation.Binary.PropositionalEquality.Core.html#871" class="Bound">y</a> <a id="873" class="Symbol">=</a> <a id="875" href="Relation.Nullary.html#665" class="Function Operator">¬</a> <a id="877" href="Relation.Binary.PropositionalEquality.Core.html#867" class="Bound">x</a> <a id="879" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="881" href="Relation.Binary.PropositionalEquality.Core.html#871" class="Bound">y</a>
|
||
|
||
<a id="884" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="957" class="Comment">-- A variant of `refl` where the argument is explicit</a>
|
||
|
||
<a id="1012" class="Keyword">pattern</a> <a id="erefl"></a><a id="1020" href="Relation.Binary.PropositionalEquality.Core.html#1020" class="InductiveConstructor">erefl</a> <a id="1026" href="Relation.Binary.PropositionalEquality.Core.html#1040" class="Bound">x</a> <a id="1028" class="Symbol">=</a> <a id="1030" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="1035" class="Symbol">{</a><a id="1036" class="Argument">x</a> <a id="1038" class="Symbol">=</a> <a id="1040" href="Relation.Binary.PropositionalEquality.Core.html#1040" class="Bound">x</a><a id="1041" class="Symbol">}</a>
|
||
|
||
<a id="1044" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="1117" class="Comment">-- Congruence lemmas</a>
|
||
|
||
<a id="cong"></a><a id="1139" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">cong</a> <a id="1144" class="Symbol">:</a> <a id="1146" class="Symbol">∀</a> <a id="1148" class="Symbol">(</a><a id="1149" href="Relation.Binary.PropositionalEquality.Core.html#1149" class="Bound">f</a> <a id="1151" class="Symbol">:</a> <a id="1153" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a> <a id="1155" class="Symbol">→</a> <a id="1157" href="Relation.Binary.PropositionalEquality.Core.html#672" class="Generalizable">B</a><a id="1158" class="Symbol">)</a> <a id="1160" class="Symbol">{</a><a id="1161" href="Relation.Binary.PropositionalEquality.Core.html#1161" class="Bound">x</a> <a id="1163" href="Relation.Binary.PropositionalEquality.Core.html#1163" class="Bound">y</a><a id="1164" class="Symbol">}</a> <a id="1166" class="Symbol">→</a> <a id="1168" href="Relation.Binary.PropositionalEquality.Core.html#1161" class="Bound">x</a> <a id="1170" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1172" href="Relation.Binary.PropositionalEquality.Core.html#1163" class="Bound">y</a> <a id="1174" class="Symbol">→</a> <a id="1176" href="Relation.Binary.PropositionalEquality.Core.html#1149" class="Bound">f</a> <a id="1178" href="Relation.Binary.PropositionalEquality.Core.html#1161" class="Bound">x</a> <a id="1180" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1182" href="Relation.Binary.PropositionalEquality.Core.html#1149" class="Bound">f</a> <a id="1184" href="Relation.Binary.PropositionalEquality.Core.html#1163" class="Bound">y</a>
|
||
<a id="1186" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">cong</a> <a id="1191" href="Relation.Binary.PropositionalEquality.Core.html#1191" class="Bound">f</a> <a id="1193" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="1198" class="Symbol">=</a> <a id="1200" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a>
|
||
|
||
<a id="cong′"></a><a id="1206" href="Relation.Binary.PropositionalEquality.Core.html#1206" class="Function">cong′</a> <a id="1212" class="Symbol">:</a> <a id="1214" class="Symbol">∀</a> <a id="1216" class="Symbol">{</a><a id="1217" href="Relation.Binary.PropositionalEquality.Core.html#1217" class="Bound">f</a> <a id="1219" class="Symbol">:</a> <a id="1221" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a> <a id="1223" class="Symbol">→</a> <a id="1225" href="Relation.Binary.PropositionalEquality.Core.html#672" class="Generalizable">B</a><a id="1226" class="Symbol">}</a> <a id="1228" href="Relation.Binary.PropositionalEquality.Core.html#1228" class="Bound">x</a> <a id="1230" class="Symbol">→</a> <a id="1232" href="Relation.Binary.PropositionalEquality.Core.html#1217" class="Bound">f</a> <a id="1234" href="Relation.Binary.PropositionalEquality.Core.html#1228" class="Bound">x</a> <a id="1236" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1238" href="Relation.Binary.PropositionalEquality.Core.html#1217" class="Bound">f</a> <a id="1240" href="Relation.Binary.PropositionalEquality.Core.html#1228" class="Bound">x</a>
|
||
<a id="1242" href="Relation.Binary.PropositionalEquality.Core.html#1206" class="Function">cong′</a> <a id="1248" class="Symbol">_</a> <a id="1250" class="Symbol">=</a> <a id="1252" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a>
|
||
|
||
<a id="icong"></a><a id="1258" href="Relation.Binary.PropositionalEquality.Core.html#1258" class="Function">icong</a> <a id="1264" class="Symbol">:</a> <a id="1266" class="Symbol">∀</a> <a id="1268" class="Symbol">{</a><a id="1269" href="Relation.Binary.PropositionalEquality.Core.html#1269" class="Bound">f</a> <a id="1271" class="Symbol">:</a> <a id="1273" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a> <a id="1275" class="Symbol">→</a> <a id="1277" href="Relation.Binary.PropositionalEquality.Core.html#672" class="Generalizable">B</a><a id="1278" class="Symbol">}</a> <a id="1280" class="Symbol">{</a><a id="1281" href="Relation.Binary.PropositionalEquality.Core.html#1281" class="Bound">x</a> <a id="1283" href="Relation.Binary.PropositionalEquality.Core.html#1283" class="Bound">y</a><a id="1284" class="Symbol">}</a> <a id="1286" class="Symbol">→</a> <a id="1288" href="Relation.Binary.PropositionalEquality.Core.html#1281" class="Bound">x</a> <a id="1290" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1292" href="Relation.Binary.PropositionalEquality.Core.html#1283" class="Bound">y</a> <a id="1294" class="Symbol">→</a> <a id="1296" href="Relation.Binary.PropositionalEquality.Core.html#1269" class="Bound">f</a> <a id="1298" href="Relation.Binary.PropositionalEquality.Core.html#1281" class="Bound">x</a> <a id="1300" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1302" href="Relation.Binary.PropositionalEquality.Core.html#1269" class="Bound">f</a> <a id="1304" href="Relation.Binary.PropositionalEquality.Core.html#1283" class="Bound">y</a>
|
||
<a id="1306" href="Relation.Binary.PropositionalEquality.Core.html#1258" class="Function">icong</a> <a id="1312" class="Symbol">=</a> <a id="1314" href="Relation.Binary.PropositionalEquality.Core.html#1139" class="Function">cong</a> <a id="1319" class="Symbol">_</a>
|
||
|
||
<a id="icong′"></a><a id="1322" href="Relation.Binary.PropositionalEquality.Core.html#1322" class="Function">icong′</a> <a id="1329" class="Symbol">:</a> <a id="1331" class="Symbol">∀</a> <a id="1333" class="Symbol">{</a><a id="1334" href="Relation.Binary.PropositionalEquality.Core.html#1334" class="Bound">f</a> <a id="1336" class="Symbol">:</a> <a id="1338" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a> <a id="1340" class="Symbol">→</a> <a id="1342" href="Relation.Binary.PropositionalEquality.Core.html#672" class="Generalizable">B</a><a id="1343" class="Symbol">}</a> <a id="1345" href="Relation.Binary.PropositionalEquality.Core.html#1345" class="Bound">x</a> <a id="1347" class="Symbol">→</a> <a id="1349" href="Relation.Binary.PropositionalEquality.Core.html#1334" class="Bound">f</a> <a id="1351" href="Relation.Binary.PropositionalEquality.Core.html#1345" class="Bound">x</a> <a id="1353" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1355" href="Relation.Binary.PropositionalEquality.Core.html#1334" class="Bound">f</a> <a id="1357" href="Relation.Binary.PropositionalEquality.Core.html#1345" class="Bound">x</a>
|
||
<a id="1359" href="Relation.Binary.PropositionalEquality.Core.html#1322" class="Function">icong′</a> <a id="1366" class="Symbol">_</a> <a id="1368" class="Symbol">=</a> <a id="1370" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a>
|
||
|
||
<a id="cong₂"></a><a id="1376" href="Relation.Binary.PropositionalEquality.Core.html#1376" class="Function">cong₂</a> <a id="1382" class="Symbol">:</a> <a id="1384" class="Symbol">∀</a> <a id="1386" class="Symbol">(</a><a id="1387" href="Relation.Binary.PropositionalEquality.Core.html#1387" class="Bound">f</a> <a id="1389" class="Symbol">:</a> <a id="1391" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a> <a id="1393" class="Symbol">→</a> <a id="1395" href="Relation.Binary.PropositionalEquality.Core.html#672" class="Generalizable">B</a> <a id="1397" class="Symbol">→</a> <a id="1399" href="Relation.Binary.PropositionalEquality.Core.html#674" class="Generalizable">C</a><a id="1400" class="Symbol">)</a> <a id="1402" class="Symbol">{</a><a id="1403" href="Relation.Binary.PropositionalEquality.Core.html#1403" class="Bound">x</a> <a id="1405" href="Relation.Binary.PropositionalEquality.Core.html#1405" class="Bound">y</a> <a id="1407" href="Relation.Binary.PropositionalEquality.Core.html#1407" class="Bound">u</a> <a id="1409" href="Relation.Binary.PropositionalEquality.Core.html#1409" class="Bound">v</a><a id="1410" class="Symbol">}</a> <a id="1412" class="Symbol">→</a> <a id="1414" href="Relation.Binary.PropositionalEquality.Core.html#1403" class="Bound">x</a> <a id="1416" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1418" href="Relation.Binary.PropositionalEquality.Core.html#1405" class="Bound">y</a> <a id="1420" class="Symbol">→</a> <a id="1422" href="Relation.Binary.PropositionalEquality.Core.html#1407" class="Bound">u</a> <a id="1424" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1426" href="Relation.Binary.PropositionalEquality.Core.html#1409" class="Bound">v</a> <a id="1428" class="Symbol">→</a> <a id="1430" href="Relation.Binary.PropositionalEquality.Core.html#1387" class="Bound">f</a> <a id="1432" href="Relation.Binary.PropositionalEquality.Core.html#1403" class="Bound">x</a> <a id="1434" href="Relation.Binary.PropositionalEquality.Core.html#1407" class="Bound">u</a> <a id="1436" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1438" href="Relation.Binary.PropositionalEquality.Core.html#1387" class="Bound">f</a> <a id="1440" href="Relation.Binary.PropositionalEquality.Core.html#1405" class="Bound">y</a> <a id="1442" href="Relation.Binary.PropositionalEquality.Core.html#1409" class="Bound">v</a>
|
||
<a id="1444" href="Relation.Binary.PropositionalEquality.Core.html#1376" class="Function">cong₂</a> <a id="1450" href="Relation.Binary.PropositionalEquality.Core.html#1450" class="Bound">f</a> <a id="1452" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="1457" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="1462" class="Symbol">=</a> <a id="1464" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a>
|
||
|
||
<a id="cong-app"></a><a id="1470" href="Relation.Binary.PropositionalEquality.Core.html#1470" class="Function">cong-app</a> <a id="1479" class="Symbol">:</a> <a id="1481" class="Symbol">∀</a> <a id="1483" class="Symbol">{</a><a id="1484" href="Relation.Binary.PropositionalEquality.Core.html#1484" class="Bound">A</a> <a id="1486" class="Symbol">:</a> <a id="1488" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1492" href="Relation.Binary.PropositionalEquality.Core.html#652" class="Generalizable">a</a><a id="1493" class="Symbol">}</a> <a id="1495" class="Symbol">{</a><a id="1496" href="Relation.Binary.PropositionalEquality.Core.html#1496" class="Bound">B</a> <a id="1498" class="Symbol">:</a> <a id="1500" href="Relation.Binary.PropositionalEquality.Core.html#1484" class="Bound">A</a> <a id="1502" class="Symbol">→</a> <a id="1504" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1508" href="Relation.Binary.PropositionalEquality.Core.html#654" class="Generalizable">b</a><a id="1509" class="Symbol">}</a> <a id="1511" class="Symbol">{</a><a id="1512" href="Relation.Binary.PropositionalEquality.Core.html#1512" class="Bound">f</a> <a id="1514" href="Relation.Binary.PropositionalEquality.Core.html#1514" class="Bound">g</a> <a id="1516" class="Symbol">:</a> <a id="1518" class="Symbol">(</a><a id="1519" href="Relation.Binary.PropositionalEquality.Core.html#1519" class="Bound">x</a> <a id="1521" class="Symbol">:</a> <a id="1523" href="Relation.Binary.PropositionalEquality.Core.html#1484" class="Bound">A</a><a id="1524" class="Symbol">)</a> <a id="1526" class="Symbol">→</a> <a id="1528" href="Relation.Binary.PropositionalEquality.Core.html#1496" class="Bound">B</a> <a id="1530" href="Relation.Binary.PropositionalEquality.Core.html#1519" class="Bound">x</a><a id="1531" class="Symbol">}</a> <a id="1533" class="Symbol">→</a>
|
||
<a id="1546" href="Relation.Binary.PropositionalEquality.Core.html#1512" class="Bound">f</a> <a id="1548" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1550" href="Relation.Binary.PropositionalEquality.Core.html#1514" class="Bound">g</a> <a id="1552" class="Symbol">→</a> <a id="1554" class="Symbol">(</a><a id="1555" href="Relation.Binary.PropositionalEquality.Core.html#1555" class="Bound">x</a> <a id="1557" class="Symbol">:</a> <a id="1559" href="Relation.Binary.PropositionalEquality.Core.html#1484" class="Bound">A</a><a id="1560" class="Symbol">)</a> <a id="1562" class="Symbol">→</a> <a id="1564" href="Relation.Binary.PropositionalEquality.Core.html#1512" class="Bound">f</a> <a id="1566" href="Relation.Binary.PropositionalEquality.Core.html#1555" class="Bound">x</a> <a id="1568" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1570" href="Relation.Binary.PropositionalEquality.Core.html#1514" class="Bound">g</a> <a id="1572" href="Relation.Binary.PropositionalEquality.Core.html#1555" class="Bound">x</a>
|
||
<a id="1574" href="Relation.Binary.PropositionalEquality.Core.html#1470" class="Function">cong-app</a> <a id="1583" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="1588" href="Relation.Binary.PropositionalEquality.Core.html#1588" class="Bound">x</a> <a id="1590" class="Symbol">=</a> <a id="1592" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a>
|
||
|
||
<a id="1598" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="1671" class="Comment">-- Properties of _≡_</a>
|
||
|
||
<a id="sym"></a><a id="1693" href="Relation.Binary.PropositionalEquality.Core.html#1693" class="Function">sym</a> <a id="1697" class="Symbol">:</a> <a id="1699" href="Relation.Binary.Definitions.html#1507" class="Function">Symmetric</a> <a id="1709" class="Symbol">{</a><a id="1710" class="Argument">A</a> <a id="1712" class="Symbol">=</a> <a id="1714" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a><a id="1715" class="Symbol">}</a> <a id="1717" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a>
|
||
<a id="1721" href="Relation.Binary.PropositionalEquality.Core.html#1693" class="Function">sym</a> <a id="1725" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="1730" class="Symbol">=</a> <a id="1732" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a>
|
||
|
||
<a id="trans"></a><a id="1738" href="Relation.Binary.PropositionalEquality.Core.html#1738" class="Function">trans</a> <a id="1744" class="Symbol">:</a> <a id="1746" href="Relation.Binary.Definitions.html#1875" class="Function">Transitive</a> <a id="1757" class="Symbol">{</a><a id="1758" class="Argument">A</a> <a id="1760" class="Symbol">=</a> <a id="1762" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a><a id="1763" class="Symbol">}</a> <a id="1765" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a>
|
||
<a id="1769" href="Relation.Binary.PropositionalEquality.Core.html#1738" class="Function">trans</a> <a id="1775" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="1780" href="Relation.Binary.PropositionalEquality.Core.html#1780" class="Bound">eq</a> <a id="1783" class="Symbol">=</a> <a id="1785" href="Relation.Binary.PropositionalEquality.Core.html#1780" class="Bound">eq</a>
|
||
|
||
<a id="subst"></a><a id="1789" href="Relation.Binary.PropositionalEquality.Core.html#1789" class="Function">subst</a> <a id="1795" class="Symbol">:</a> <a id="1797" href="Relation.Binary.Definitions.html#4378" class="Function">Substitutive</a> <a id="1810" class="Symbol">{</a><a id="1811" class="Argument">A</a> <a id="1813" class="Symbol">=</a> <a id="1815" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a><a id="1816" class="Symbol">}</a> <a id="1818" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a> <a id="1822" href="Relation.Binary.PropositionalEquality.Core.html#656" class="Generalizable">ℓ</a>
|
||
<a id="1824" href="Relation.Binary.PropositionalEquality.Core.html#1789" class="Function">subst</a> <a id="1830" href="Relation.Binary.PropositionalEquality.Core.html#1830" class="Bound">P</a> <a id="1832" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="1837" href="Relation.Binary.PropositionalEquality.Core.html#1837" class="Bound">p</a> <a id="1839" class="Symbol">=</a> <a id="1841" href="Relation.Binary.PropositionalEquality.Core.html#1837" class="Bound">p</a>
|
||
|
||
<a id="subst₂"></a><a id="1844" href="Relation.Binary.PropositionalEquality.Core.html#1844" class="Function">subst₂</a> <a id="1851" class="Symbol">:</a> <a id="1853" class="Symbol">∀</a> <a id="1855" class="Symbol">(</a><a id="1856" href="Relation.Binary.PropositionalEquality.Core.html#1856" class="Bound Operator">_∼_</a> <a id="1860" class="Symbol">:</a> <a id="1862" href="Relation.Binary.Core.html#775" class="Function">REL</a> <a id="1866" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a> <a id="1868" href="Relation.Binary.PropositionalEquality.Core.html#672" class="Generalizable">B</a> <a id="1870" href="Relation.Binary.PropositionalEquality.Core.html#656" class="Generalizable">ℓ</a><a id="1871" class="Symbol">)</a> <a id="1873" class="Symbol">{</a><a id="1874" href="Relation.Binary.PropositionalEquality.Core.html#1874" class="Bound">x</a> <a id="1876" href="Relation.Binary.PropositionalEquality.Core.html#1876" class="Bound">y</a> <a id="1878" href="Relation.Binary.PropositionalEquality.Core.html#1878" class="Bound">u</a> <a id="1880" href="Relation.Binary.PropositionalEquality.Core.html#1880" class="Bound">v</a><a id="1881" class="Symbol">}</a> <a id="1883" class="Symbol">→</a> <a id="1885" href="Relation.Binary.PropositionalEquality.Core.html#1874" class="Bound">x</a> <a id="1887" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1889" href="Relation.Binary.PropositionalEquality.Core.html#1876" class="Bound">y</a> <a id="1891" class="Symbol">→</a> <a id="1893" href="Relation.Binary.PropositionalEquality.Core.html#1878" class="Bound">u</a> <a id="1895" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="1897" href="Relation.Binary.PropositionalEquality.Core.html#1880" class="Bound">v</a> <a id="1899" class="Symbol">→</a> <a id="1901" href="Relation.Binary.PropositionalEquality.Core.html#1874" class="Bound">x</a> <a id="1903" href="Relation.Binary.PropositionalEquality.Core.html#1856" class="Bound Operator">∼</a> <a id="1905" href="Relation.Binary.PropositionalEquality.Core.html#1878" class="Bound">u</a> <a id="1907" class="Symbol">→</a> <a id="1909" href="Relation.Binary.PropositionalEquality.Core.html#1876" class="Bound">y</a> <a id="1911" href="Relation.Binary.PropositionalEquality.Core.html#1856" class="Bound Operator">∼</a> <a id="1913" href="Relation.Binary.PropositionalEquality.Core.html#1880" class="Bound">v</a>
|
||
<a id="1915" href="Relation.Binary.PropositionalEquality.Core.html#1844" class="Function">subst₂</a> <a id="1922" class="Symbol">_</a> <a id="1924" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="1929" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="1934" href="Relation.Binary.PropositionalEquality.Core.html#1934" class="Bound">p</a> <a id="1936" class="Symbol">=</a> <a id="1938" href="Relation.Binary.PropositionalEquality.Core.html#1934" class="Bound">p</a>
|
||
|
||
<a id="resp"></a><a id="1941" href="Relation.Binary.PropositionalEquality.Core.html#1941" class="Function">resp</a> <a id="1946" class="Symbol">:</a> <a id="1948" class="Symbol">∀</a> <a id="1950" class="Symbol">(</a><a id="1951" href="Relation.Binary.PropositionalEquality.Core.html#1951" class="Bound">P</a> <a id="1953" class="Symbol">:</a> <a id="1955" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a> <a id="1957" class="Symbol">→</a> <a id="1959" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1963" href="Relation.Binary.PropositionalEquality.Core.html#656" class="Generalizable">ℓ</a><a id="1964" class="Symbol">)</a> <a id="1966" class="Symbol">→</a> <a id="1968" href="Relation.Binary.PropositionalEquality.Core.html#1951" class="Bound">P</a> <a id="1970" href="Relation.Binary.Definitions.html#3602" class="Function Operator">Respects</a> <a id="1979" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a>
|
||
<a id="1983" href="Relation.Binary.PropositionalEquality.Core.html#1941" class="Function">resp</a> <a id="1988" href="Relation.Binary.PropositionalEquality.Core.html#1988" class="Bound">P</a> <a id="1990" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="1995" href="Relation.Binary.PropositionalEquality.Core.html#1995" class="Bound">p</a> <a id="1997" class="Symbol">=</a> <a id="1999" href="Relation.Binary.PropositionalEquality.Core.html#1995" class="Bound">p</a>
|
||
|
||
<a id="respˡ"></a><a id="2002" href="Relation.Binary.PropositionalEquality.Core.html#2002" class="Function">respˡ</a> <a id="2008" class="Symbol">:</a> <a id="2010" class="Symbol">∀</a> <a id="2012" class="Symbol">(</a><a id="2013" href="Relation.Binary.PropositionalEquality.Core.html#2013" class="Bound">∼</a> <a id="2015" class="Symbol">:</a> <a id="2017" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="2021" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a> <a id="2023" href="Relation.Binary.PropositionalEquality.Core.html#656" class="Generalizable">ℓ</a><a id="2024" class="Symbol">)</a> <a id="2026" class="Symbol">→</a> <a id="2028" href="Relation.Binary.PropositionalEquality.Core.html#2013" class="Bound">∼</a> <a id="2030" href="Relation.Binary.Definitions.html#3923" class="Function Operator">Respectsˡ</a> <a id="2040" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a>
|
||
<a id="2044" href="Relation.Binary.PropositionalEquality.Core.html#2002" class="Function">respˡ</a> <a id="2050" href="Relation.Binary.PropositionalEquality.Core.html#2050" class="Bound Operator">_∼_</a> <a id="2054" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="2059" href="Relation.Binary.PropositionalEquality.Core.html#2059" class="Bound">x∼y</a> <a id="2063" class="Symbol">=</a> <a id="2065" href="Relation.Binary.PropositionalEquality.Core.html#2059" class="Bound">x∼y</a>
|
||
|
||
<a id="respʳ"></a><a id="2070" href="Relation.Binary.PropositionalEquality.Core.html#2070" class="Function">respʳ</a> <a id="2076" class="Symbol">:</a> <a id="2078" class="Symbol">∀</a> <a id="2080" class="Symbol">(</a><a id="2081" href="Relation.Binary.PropositionalEquality.Core.html#2081" class="Bound">∼</a> <a id="2083" class="Symbol">:</a> <a id="2085" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="2089" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a> <a id="2091" href="Relation.Binary.PropositionalEquality.Core.html#656" class="Generalizable">ℓ</a><a id="2092" class="Symbol">)</a> <a id="2094" class="Symbol">→</a> <a id="2096" href="Relation.Binary.PropositionalEquality.Core.html#2081" class="Bound">∼</a> <a id="2098" href="Relation.Binary.Definitions.html#3758" class="Function Operator">Respectsʳ</a> <a id="2108" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a>
|
||
<a id="2112" href="Relation.Binary.PropositionalEquality.Core.html#2070" class="Function">respʳ</a> <a id="2118" href="Relation.Binary.PropositionalEquality.Core.html#2118" class="Bound Operator">_∼_</a> <a id="2122" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a> <a id="2127" href="Relation.Binary.PropositionalEquality.Core.html#2127" class="Bound">x∼y</a> <a id="2131" class="Symbol">=</a> <a id="2133" href="Relation.Binary.PropositionalEquality.Core.html#2127" class="Bound">x∼y</a>
|
||
|
||
<a id="resp₂"></a><a id="2138" href="Relation.Binary.PropositionalEquality.Core.html#2138" class="Function">resp₂</a> <a id="2144" class="Symbol">:</a> <a id="2146" class="Symbol">∀</a> <a id="2148" class="Symbol">(</a><a id="2149" href="Relation.Binary.PropositionalEquality.Core.html#2149" class="Bound">∼</a> <a id="2151" class="Symbol">:</a> <a id="2153" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="2157" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a> <a id="2159" href="Relation.Binary.PropositionalEquality.Core.html#656" class="Generalizable">ℓ</a><a id="2160" class="Symbol">)</a> <a id="2162" class="Symbol">→</a> <a id="2164" href="Relation.Binary.PropositionalEquality.Core.html#2149" class="Bound">∼</a> <a id="2166" href="Relation.Binary.Definitions.html#4086" class="Function Operator">Respects₂</a> <a id="2176" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a>
|
||
<a id="2180" href="Relation.Binary.PropositionalEquality.Core.html#2138" class="Function">resp₂</a> <a id="2186" href="Relation.Binary.PropositionalEquality.Core.html#2186" class="Bound Operator">_∼_</a> <a id="2190" class="Symbol">=</a> <a id="2192" href="Relation.Binary.PropositionalEquality.Core.html#2070" class="Function">respʳ</a> <a id="2198" href="Relation.Binary.PropositionalEquality.Core.html#2186" class="Bound Operator">_∼_</a> <a id="2202" href="Agda.Builtin.Sigma.html#218" class="InductiveConstructor Operator">,</a> <a id="2204" href="Relation.Binary.PropositionalEquality.Core.html#2002" class="Function">respˡ</a> <a id="2210" href="Relation.Binary.PropositionalEquality.Core.html#2186" class="Bound Operator">_∼_</a>
|
||
|
||
<a id="2215" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="2288" class="Comment">-- Properties of _≢_</a>
|
||
|
||
<a id="≢-sym"></a><a id="2310" href="Relation.Binary.PropositionalEquality.Core.html#2310" class="Function">≢-sym</a> <a id="2316" class="Symbol">:</a> <a id="2318" href="Relation.Binary.Definitions.html#1507" class="Function">Symmetric</a> <a id="2328" class="Symbol">{</a><a id="2329" class="Argument">A</a> <a id="2331" class="Symbol">=</a> <a id="2333" href="Relation.Binary.PropositionalEquality.Core.html#670" class="Generalizable">A</a><a id="2334" class="Symbol">}</a> <a id="2336" href="Relation.Binary.PropositionalEquality.Core.html#839" class="Function Operator">_≢_</a>
|
||
<a id="2340" href="Relation.Binary.PropositionalEquality.Core.html#2310" class="Function">≢-sym</a> <a id="2346" href="Relation.Binary.PropositionalEquality.Core.html#2346" class="Bound">x≢y</a> <a id="2350" class="Symbol">=</a> <a id="2353" href="Relation.Binary.PropositionalEquality.Core.html#2346" class="Bound">x≢y</a> <a id="2357" href="Function.Base.html#1040" class="Function Operator">∘</a> <a id="2359" href="Relation.Binary.PropositionalEquality.Core.html#1693" class="Function">sym</a>
|
||
|
||
<a id="2364" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="2437" class="Comment">-- Convenient syntax for equational reasoning</a>
|
||
|
||
<a id="2484" class="Comment">-- This is a special instance of `Relation.Binary.Reasoning.Setoid`.</a>
|
||
<a id="2553" class="Comment">-- Rather than instantiating the latter with (setoid A), we reimplement</a>
|
||
<a id="2625" class="Comment">-- equation chains from scratch since then goals are printed much more</a>
|
||
<a id="2696" class="Comment">-- readably.</a>
|
||
|
||
<a id="2710" class="Keyword">module</a> <a id="≡-Reasoning"></a><a id="2717" href="Relation.Binary.PropositionalEquality.Core.html#2717" class="Module">≡-Reasoning</a> <a id="2729" class="Symbol">{</a><a id="2730" href="Relation.Binary.PropositionalEquality.Core.html#2730" class="Bound">A</a> <a id="2732" class="Symbol">:</a> <a id="2734" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2738" href="Relation.Binary.PropositionalEquality.Core.html#652" class="Generalizable">a</a><a id="2739" class="Symbol">}</a> <a id="2741" class="Keyword">where</a>
|
||
|
||
<a id="2750" class="Keyword">infix</a> <a id="2757" class="Number">3</a> <a id="2759" href="Relation.Binary.PropositionalEquality.Core.html#3114" class="Function Operator">_∎</a>
|
||
<a id="2764" class="Keyword">infixr</a> <a id="2771" class="Number">2</a> <a id="2773" href="Relation.Binary.PropositionalEquality.Core.html#2873" class="Function Operator">_≡⟨⟩_</a> <a id="2779" href="Relation.Binary.PropositionalEquality.Core.html#2932" class="Function">step-≡</a> <a id="2786" href="Relation.Binary.PropositionalEquality.Core.html#3019" class="Function">step-≡˘</a>
|
||
<a id="2796" class="Keyword">infix</a> <a id="2803" class="Number">1</a> <a id="2805" href="Relation.Binary.PropositionalEquality.Core.html#2815" class="Function Operator">begin_</a>
|
||
|
||
<a id="≡-Reasoning.begin_"></a><a id="2815" href="Relation.Binary.PropositionalEquality.Core.html#2815" class="Function Operator">begin_</a> <a id="2822" class="Symbol">:</a> <a id="2824" class="Symbol">∀{</a><a id="2826" href="Relation.Binary.PropositionalEquality.Core.html#2826" class="Bound">x</a> <a id="2828" href="Relation.Binary.PropositionalEquality.Core.html#2828" class="Bound">y</a> <a id="2830" class="Symbol">:</a> <a id="2832" href="Relation.Binary.PropositionalEquality.Core.html#2730" class="Bound">A</a><a id="2833" class="Symbol">}</a> <a id="2835" class="Symbol">→</a> <a id="2837" href="Relation.Binary.PropositionalEquality.Core.html#2826" class="Bound">x</a> <a id="2839" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="2841" href="Relation.Binary.PropositionalEquality.Core.html#2828" class="Bound">y</a> <a id="2843" class="Symbol">→</a> <a id="2845" href="Relation.Binary.PropositionalEquality.Core.html#2826" class="Bound">x</a> <a id="2847" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="2849" href="Relation.Binary.PropositionalEquality.Core.html#2828" class="Bound">y</a>
|
||
<a id="2853" href="Relation.Binary.PropositionalEquality.Core.html#2815" class="Function Operator">begin_</a> <a id="2860" href="Relation.Binary.PropositionalEquality.Core.html#2860" class="Bound">x≡y</a> <a id="2864" class="Symbol">=</a> <a id="2866" href="Relation.Binary.PropositionalEquality.Core.html#2860" class="Bound">x≡y</a>
|
||
|
||
<a id="≡-Reasoning._≡⟨⟩_"></a><a id="2873" href="Relation.Binary.PropositionalEquality.Core.html#2873" class="Function Operator">_≡⟨⟩_</a> <a id="2879" class="Symbol">:</a> <a id="2881" class="Symbol">∀</a> <a id="2883" class="Symbol">(</a><a id="2884" href="Relation.Binary.PropositionalEquality.Core.html#2884" class="Bound">x</a> <a id="2886" class="Symbol">{</a><a id="2887" href="Relation.Binary.PropositionalEquality.Core.html#2887" class="Bound">y</a><a id="2888" class="Symbol">}</a> <a id="2890" class="Symbol">:</a> <a id="2892" href="Relation.Binary.PropositionalEquality.Core.html#2730" class="Bound">A</a><a id="2893" class="Symbol">)</a> <a id="2895" class="Symbol">→</a> <a id="2897" href="Relation.Binary.PropositionalEquality.Core.html#2884" class="Bound">x</a> <a id="2899" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="2901" href="Relation.Binary.PropositionalEquality.Core.html#2887" class="Bound">y</a> <a id="2903" class="Symbol">→</a> <a id="2905" href="Relation.Binary.PropositionalEquality.Core.html#2884" class="Bound">x</a> <a id="2907" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="2909" href="Relation.Binary.PropositionalEquality.Core.html#2887" class="Bound">y</a>
|
||
<a id="2913" class="Symbol">_</a> <a id="2915" href="Relation.Binary.PropositionalEquality.Core.html#2873" class="Function Operator">≡⟨⟩</a> <a id="2919" href="Relation.Binary.PropositionalEquality.Core.html#2919" class="Bound">x≡y</a> <a id="2923" class="Symbol">=</a> <a id="2925" href="Relation.Binary.PropositionalEquality.Core.html#2919" class="Bound">x≡y</a>
|
||
|
||
<a id="≡-Reasoning.step-≡"></a><a id="2932" href="Relation.Binary.PropositionalEquality.Core.html#2932" class="Function">step-≡</a> <a id="2939" class="Symbol">:</a> <a id="2941" class="Symbol">∀</a> <a id="2943" class="Symbol">(</a><a id="2944" href="Relation.Binary.PropositionalEquality.Core.html#2944" class="Bound">x</a> <a id="2946" class="Symbol">{</a><a id="2947" href="Relation.Binary.PropositionalEquality.Core.html#2947" class="Bound">y</a> <a id="2949" href="Relation.Binary.PropositionalEquality.Core.html#2949" class="Bound">z</a><a id="2950" class="Symbol">}</a> <a id="2952" class="Symbol">:</a> <a id="2954" href="Relation.Binary.PropositionalEquality.Core.html#2730" class="Bound">A</a><a id="2955" class="Symbol">)</a> <a id="2957" class="Symbol">→</a> <a id="2959" href="Relation.Binary.PropositionalEquality.Core.html#2947" class="Bound">y</a> <a id="2961" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="2963" href="Relation.Binary.PropositionalEquality.Core.html#2949" class="Bound">z</a> <a id="2965" class="Symbol">→</a> <a id="2967" href="Relation.Binary.PropositionalEquality.Core.html#2944" class="Bound">x</a> <a id="2969" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="2971" href="Relation.Binary.PropositionalEquality.Core.html#2947" class="Bound">y</a> <a id="2973" class="Symbol">→</a> <a id="2975" href="Relation.Binary.PropositionalEquality.Core.html#2944" class="Bound">x</a> <a id="2977" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="2979" href="Relation.Binary.PropositionalEquality.Core.html#2949" class="Bound">z</a>
|
||
<a id="2983" href="Relation.Binary.PropositionalEquality.Core.html#2932" class="Function">step-≡</a> <a id="2990" class="Symbol">_</a> <a id="2992" href="Relation.Binary.PropositionalEquality.Core.html#2992" class="Bound">y≡z</a> <a id="2996" href="Relation.Binary.PropositionalEquality.Core.html#2996" class="Bound">x≡y</a> <a id="3000" class="Symbol">=</a> <a id="3002" href="Relation.Binary.PropositionalEquality.Core.html#1738" class="Function">trans</a> <a id="3008" href="Relation.Binary.PropositionalEquality.Core.html#2996" class="Bound">x≡y</a> <a id="3012" href="Relation.Binary.PropositionalEquality.Core.html#2992" class="Bound">y≡z</a>
|
||
|
||
<a id="≡-Reasoning.step-≡˘"></a><a id="3019" href="Relation.Binary.PropositionalEquality.Core.html#3019" class="Function">step-≡˘</a> <a id="3027" class="Symbol">:</a> <a id="3029" class="Symbol">∀</a> <a id="3031" class="Symbol">(</a><a id="3032" href="Relation.Binary.PropositionalEquality.Core.html#3032" class="Bound">x</a> <a id="3034" class="Symbol">{</a><a id="3035" href="Relation.Binary.PropositionalEquality.Core.html#3035" class="Bound">y</a> <a id="3037" href="Relation.Binary.PropositionalEquality.Core.html#3037" class="Bound">z</a><a id="3038" class="Symbol">}</a> <a id="3040" class="Symbol">:</a> <a id="3042" href="Relation.Binary.PropositionalEquality.Core.html#2730" class="Bound">A</a><a id="3043" class="Symbol">)</a> <a id="3045" class="Symbol">→</a> <a id="3047" href="Relation.Binary.PropositionalEquality.Core.html#3035" class="Bound">y</a> <a id="3049" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="3051" href="Relation.Binary.PropositionalEquality.Core.html#3037" class="Bound">z</a> <a id="3053" class="Symbol">→</a> <a id="3055" href="Relation.Binary.PropositionalEquality.Core.html#3035" class="Bound">y</a> <a id="3057" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="3059" href="Relation.Binary.PropositionalEquality.Core.html#3032" class="Bound">x</a> <a id="3061" class="Symbol">→</a> <a id="3063" href="Relation.Binary.PropositionalEquality.Core.html#3032" class="Bound">x</a> <a id="3065" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="3067" href="Relation.Binary.PropositionalEquality.Core.html#3037" class="Bound">z</a>
|
||
<a id="3071" href="Relation.Binary.PropositionalEquality.Core.html#3019" class="Function">step-≡˘</a> <a id="3079" class="Symbol">_</a> <a id="3081" href="Relation.Binary.PropositionalEquality.Core.html#3081" class="Bound">y≡z</a> <a id="3085" href="Relation.Binary.PropositionalEquality.Core.html#3085" class="Bound">y≡x</a> <a id="3089" class="Symbol">=</a> <a id="3091" href="Relation.Binary.PropositionalEquality.Core.html#1738" class="Function">trans</a> <a id="3097" class="Symbol">(</a><a id="3098" href="Relation.Binary.PropositionalEquality.Core.html#1693" class="Function">sym</a> <a id="3102" href="Relation.Binary.PropositionalEquality.Core.html#3085" class="Bound">y≡x</a><a id="3105" class="Symbol">)</a> <a id="3107" href="Relation.Binary.PropositionalEquality.Core.html#3081" class="Bound">y≡z</a>
|
||
|
||
<a id="≡-Reasoning._∎"></a><a id="3114" href="Relation.Binary.PropositionalEquality.Core.html#3114" class="Function Operator">_∎</a> <a id="3117" class="Symbol">:</a> <a id="3119" class="Symbol">∀</a> <a id="3121" class="Symbol">(</a><a id="3122" href="Relation.Binary.PropositionalEquality.Core.html#3122" class="Bound">x</a> <a id="3124" class="Symbol">:</a> <a id="3126" href="Relation.Binary.PropositionalEquality.Core.html#2730" class="Bound">A</a><a id="3127" class="Symbol">)</a> <a id="3129" class="Symbol">→</a> <a id="3131" href="Relation.Binary.PropositionalEquality.Core.html#3122" class="Bound">x</a> <a id="3133" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">≡</a> <a id="3135" href="Relation.Binary.PropositionalEquality.Core.html#3122" class="Bound">x</a>
|
||
<a id="3139" href="Relation.Binary.PropositionalEquality.Core.html#3114" class="Function Operator">_∎</a> <a id="3142" class="Symbol">_</a> <a id="3144" class="Symbol">=</a> <a id="3146" href="Agda.Builtin.Equality.html#190" class="InductiveConstructor">refl</a>
|
||
|
||
<a id="3154" class="Keyword">syntax</a> <a id="3161" href="Relation.Binary.PropositionalEquality.Core.html#2932" class="Function">step-≡</a> <a id="3169" class="Bound">x</a> <a id="3171" class="Bound">y≡z</a> <a id="3175" class="Bound">x≡y</a> <a id="3179" class="Symbol">=</a> <a id="3181" class="Bound">x</a> <a id="3183" class="Function">≡⟨</a> <a id="3187" class="Bound">x≡y</a> <a id="3191" class="Function">⟩</a> <a id="3193" class="Bound">y≡z</a>
|
||
<a id="3199" class="Keyword">syntax</a> <a id="3206" href="Relation.Binary.PropositionalEquality.Core.html#3019" class="Function">step-≡˘</a> <a id="3214" class="Bound">x</a> <a id="3216" class="Bound">y≡z</a> <a id="3220" class="Bound">y≡x</a> <a id="3224" class="Symbol">=</a> <a id="3226" class="Bound">x</a> <a id="3228" class="Function">≡˘⟨</a> <a id="3232" class="Bound">y≡x</a> <a id="3236" class="Function">⟩</a> <a id="3238" class="Bound">y≡z</a>
|
||
</pre></body></html> |