mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
139 lines
No EOL
52 KiB
HTML
139 lines
No EOL
52 KiB
HTML
<!DOCTYPE HTML>
|
||
<html><head><meta charset="utf-8"><title>Relation.Binary.PropositionalEquality</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 (intensional) equality</a>
|
||
<a id="146" class="Comment">------------------------------------------------------------------------</a>
|
||
|
||
<a id="220" class="Symbol">{-#</a> <a id="224" class="Keyword">OPTIONS</a> <a id="232" class="Pragma">--cubical-compatible</a> <a id="253" class="Pragma">--safe</a> <a id="260" class="Symbol">#-}</a>
|
||
|
||
<a id="265" class="Keyword">module</a> <a id="272" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a> <a id="310" class="Keyword">where</a>
|
||
|
||
<a id="317" class="Keyword">open</a> <a id="322" class="Keyword">import</a> <a id="329" href="Axiom.UniquenessOfIdentityProofs.html" class="Module">Axiom.UniquenessOfIdentityProofs</a>
|
||
<a id="362" class="Keyword">open</a> <a id="367" class="Keyword">import</a> <a id="374" href="Function.Base.html" class="Module">Function.Base</a> <a id="388" class="Keyword">using</a> <a id="394" class="Symbol">(</a><a id="395" href="Function.Base.html#704" class="Function">id</a><a id="397" class="Symbol">;</a> <a id="399" href="Function.Base.html#1115" class="Function Operator">_∘_</a><a id="402" class="Symbol">)</a>
|
||
<a id="404" class="Keyword">import</a> <a id="411" href="Function.Dependent.Bundles.html" class="Module">Function.Dependent.Bundles</a> <a id="438" class="Symbol">as</a> <a id="441" class="Module">Dependent</a>
|
||
<a id="451" class="Keyword">open</a> <a id="456" class="Keyword">import</a> <a id="463" href="Function.Indexed.Relation.Binary.Equality.html" class="Module">Function.Indexed.Relation.Binary.Equality</a> <a id="505" class="Keyword">using</a> <a id="511" class="Symbol">(</a><a id="512" href="Function.Indexed.Relation.Binary.Equality.html#572" class="Function">≡-setoid</a><a id="520" class="Symbol">)</a>
|
||
<a id="522" class="Keyword">open</a> <a id="527" class="Keyword">import</a> <a id="534" href="Level.html" class="Module">Level</a> <a id="540" class="Keyword">using</a> <a id="546" class="Symbol">(</a><a id="547" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="552" class="Symbol">;</a> <a id="554" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a><a id="557" class="Symbol">)</a>
|
||
<a id="559" class="Keyword">open</a> <a id="564" class="Keyword">import</a> <a id="571" href="Relation.Nullary.html" class="Module">Relation.Nullary</a> <a id="588" class="Keyword">using</a> <a id="594" class="Symbol">(</a><a id="595" href="Relation.Nullary.html#755" class="Function">Irrelevant</a><a id="605" class="Symbol">)</a>
|
||
<a id="607" class="Keyword">open</a> <a id="612" class="Keyword">import</a> <a id="619" href="Relation.Nullary.Decidable.html" class="Module">Relation.Nullary.Decidable</a> <a id="646" class="Keyword">using</a> <a id="652" class="Symbol">(</a><a id="653" href="Relation.Nullary.Decidable.Core.html#1618" class="InductiveConstructor">yes</a><a id="656" class="Symbol">;</a> <a id="658" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a><a id="660" class="Symbol">;</a> <a id="662" href="Relation.Nullary.Decidable.html#2798" class="Function">dec-yes-irr</a><a id="673" class="Symbol">;</a> <a id="675" href="Relation.Nullary.Decidable.html#2687" class="Function">dec-no</a><a id="681" class="Symbol">)</a>
|
||
<a id="683" class="Keyword">open</a> <a id="688" class="Keyword">import</a> <a id="695" href="Relation.Binary.Bundles.html" class="Module">Relation.Binary.Bundles</a> <a id="719" class="Keyword">using</a> <a id="725" class="Symbol">(</a><a id="726" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a><a id="732" class="Symbol">)</a>
|
||
<a id="734" class="Keyword">open</a> <a id="739" class="Keyword">import</a> <a id="746" href="Relation.Binary.Definitions.html" class="Module">Relation.Binary.Definitions</a> <a id="774" class="Keyword">using</a> <a id="780" class="Symbol">(</a><a id="781" href="Relation.Binary.Definitions.html#6469" class="Function">DecidableEquality</a><a id="798" class="Symbol">)</a>
|
||
<a id="800" class="Keyword">open</a> <a id="805" class="Keyword">import</a> <a id="812" href="Relation.Binary.Indexed.Heterogeneous.html" class="Module">Relation.Binary.Indexed.Heterogeneous</a>
|
||
<a id="852" class="Keyword">using</a> <a id="858" class="Symbol">(</a><a id="859" href="Relation.Binary.Indexed.Heterogeneous.Bundles.html#803" class="Record">IndexedSetoid</a><a id="872" class="Symbol">)</a>
|
||
<a id="874" class="Keyword">import</a> <a id="881" href="Relation.Binary.Indexed.Heterogeneous.Construct.Trivial.html" class="Module">Relation.Binary.Indexed.Heterogeneous.Construct.Trivial</a>
|
||
<a id="939" class="Symbol">as</a> <a id="942" class="Module">Trivial</a>
|
||
|
||
<a id="951" class="Keyword">private</a>
|
||
<a id="961" class="Keyword">variable</a>
|
||
<a id="974" href="Relation.Binary.PropositionalEquality.html#974" class="Generalizable">a</a> <a id="976" href="Relation.Binary.PropositionalEquality.html#976" class="Generalizable">b</a> <a id="978" href="Relation.Binary.PropositionalEquality.html#978" class="Generalizable">c</a> <a id="980" href="Relation.Binary.PropositionalEquality.html#980" class="Generalizable">ℓ</a> <a id="982" href="Relation.Binary.PropositionalEquality.html#982" class="Generalizable">p</a> <a id="984" class="Symbol">:</a> <a id="986" href="Agda.Primitive.html#742" class="Postulate">Level</a>
|
||
<a id="996" href="Relation.Binary.PropositionalEquality.html#996" class="Generalizable">A</a> <a id="998" href="Relation.Binary.PropositionalEquality.html#998" class="Generalizable">B</a> <a id="1000" href="Relation.Binary.PropositionalEquality.html#1000" class="Generalizable">C</a> <a id="1002" class="Symbol">:</a> <a id="1004" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1008" href="Relation.Binary.PropositionalEquality.html#974" class="Generalizable">a</a>
|
||
|
||
<a id="1011" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="1084" class="Comment">-- Re-export contents modules that make up the parts</a>
|
||
|
||
<a id="1138" class="Keyword">open</a> <a id="1143" class="Keyword">import</a> <a id="1150" href="Relation.Binary.PropositionalEquality.Core.html" class="Module">Relation.Binary.PropositionalEquality.Core</a> <a id="1193" class="Keyword">public</a>
|
||
<a id="1200" class="Keyword">open</a> <a id="1205" class="Keyword">import</a> <a id="1212" href="Relation.Binary.PropositionalEquality.Properties.html" class="Module">Relation.Binary.PropositionalEquality.Properties</a> <a id="1261" class="Keyword">public</a>
|
||
<a id="1268" class="Keyword">open</a> <a id="1273" class="Keyword">import</a> <a id="1280" href="Relation.Binary.PropositionalEquality.Algebra.html" class="Module">Relation.Binary.PropositionalEquality.Algebra</a> <a id="1326" class="Keyword">public</a>
|
||
|
||
<a id="1334" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="1407" class="Comment">-- Pointwise equality</a>
|
||
|
||
<a id="1430" class="Keyword">infix</a> <a id="1436" class="Number">4</a> <a id="1438" href="Relation.Binary.PropositionalEquality.html#1557" class="Function Operator">_≗_</a>
|
||
|
||
<a id="_→-setoid_"></a><a id="1443" href="Relation.Binary.PropositionalEquality.html#1443" class="Function Operator">_→-setoid_</a> <a id="1454" class="Symbol">:</a> <a id="1456" class="Symbol">∀</a> <a id="1458" class="Symbol">(</a><a id="1459" href="Relation.Binary.PropositionalEquality.html#1459" class="Bound">A</a> <a id="1461" class="Symbol">:</a> <a id="1463" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1467" href="Relation.Binary.PropositionalEquality.html#974" class="Generalizable">a</a><a id="1468" class="Symbol">)</a> <a id="1470" class="Symbol">(</a><a id="1471" href="Relation.Binary.PropositionalEquality.html#1471" class="Bound">B</a> <a id="1473" class="Symbol">:</a> <a id="1475" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1479" href="Relation.Binary.PropositionalEquality.html#976" class="Generalizable">b</a><a id="1480" class="Symbol">)</a> <a id="1482" class="Symbol">→</a> <a id="1484" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="1491" class="Symbol">_</a> <a id="1493" class="Symbol">_</a>
|
||
<a id="1495" href="Relation.Binary.PropositionalEquality.html#1495" class="Bound">A</a> <a id="1497" href="Relation.Binary.PropositionalEquality.html#1443" class="Function Operator">→-setoid</a> <a id="1506" href="Relation.Binary.PropositionalEquality.html#1506" class="Bound">B</a> <a id="1508" class="Symbol">=</a> <a id="1510" href="Function.Indexed.Relation.Binary.Equality.html#572" class="Function">≡-setoid</a> <a id="1519" href="Relation.Binary.PropositionalEquality.html#1495" class="Bound">A</a> <a id="1521" class="Symbol">(</a><a id="1522" href="Relation.Binary.Indexed.Heterogeneous.Construct.Trivial.html#1484" class="Function">Trivial.indexedSetoid</a> <a id="1544" class="Symbol">(</a><a id="1545" href="Relation.Binary.PropositionalEquality.Properties.html#5700" class="Function">setoid</a> <a id="1552" href="Relation.Binary.PropositionalEquality.html#1506" class="Bound">B</a><a id="1553" class="Symbol">))</a>
|
||
|
||
<a id="_≗_"></a><a id="1557" href="Relation.Binary.PropositionalEquality.html#1557" class="Function Operator">_≗_</a> <a id="1561" class="Symbol">:</a> <a id="1563" class="Symbol">(</a><a id="1564" href="Relation.Binary.PropositionalEquality.html#1564" class="Bound">f</a> <a id="1566" href="Relation.Binary.PropositionalEquality.html#1566" class="Bound">g</a> <a id="1568" class="Symbol">:</a> <a id="1570" href="Relation.Binary.PropositionalEquality.html#996" class="Generalizable">A</a> <a id="1572" class="Symbol">→</a> <a id="1574" href="Relation.Binary.PropositionalEquality.html#998" class="Generalizable">B</a><a id="1575" class="Symbol">)</a> <a id="1577" class="Symbol">→</a> <a id="1579" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1583" class="Symbol">_</a>
|
||
<a id="1585" href="Relation.Binary.PropositionalEquality.html#1557" class="Function Operator">_≗_</a> <a id="1589" class="Symbol">{</a><a id="1590" class="Argument">A</a> <a id="1592" class="Symbol">=</a> <a id="1594" href="Relation.Binary.PropositionalEquality.html#1594" class="Bound">A</a><a id="1595" class="Symbol">}</a> <a id="1597" class="Symbol">{</a><a id="1598" class="Argument">B</a> <a id="1600" class="Symbol">=</a> <a id="1602" href="Relation.Binary.PropositionalEquality.html#1602" class="Bound">B</a><a id="1603" class="Symbol">}</a> <a id="1605" class="Symbol">=</a> <a id="1607" href="Relation.Binary.Bundles.html#1169" class="Field Operator">Setoid._≈_</a> <a id="1618" class="Symbol">(</a><a id="1619" href="Relation.Binary.PropositionalEquality.html#1594" class="Bound">A</a> <a id="1621" href="Relation.Binary.PropositionalEquality.html#1443" class="Function Operator">→-setoid</a> <a id="1630" href="Relation.Binary.PropositionalEquality.html#1602" class="Bound">B</a><a id="1631" class="Symbol">)</a>
|
||
|
||
<a id=":→-to-Π"></a><a id="1634" href="Relation.Binary.PropositionalEquality.html#1634" class="Function">:→-to-Π</a> <a id="1642" class="Symbol">:</a> <a id="1644" class="Symbol">∀</a> <a id="1646" class="Symbol">{</a><a id="1647" href="Relation.Binary.PropositionalEquality.html#1647" class="Bound">A</a> <a id="1649" class="Symbol">:</a> <a id="1651" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1655" href="Relation.Binary.PropositionalEquality.html#974" class="Generalizable">a</a><a id="1656" class="Symbol">}</a> <a id="1658" class="Symbol">{</a><a id="1659" href="Relation.Binary.PropositionalEquality.html#1659" class="Bound">B</a> <a id="1661" class="Symbol">:</a> <a id="1663" href="Relation.Binary.Indexed.Heterogeneous.Bundles.html#803" class="Record">IndexedSetoid</a> <a id="1677" href="Relation.Binary.PropositionalEquality.html#1647" class="Bound">A</a> <a id="1679" href="Relation.Binary.PropositionalEquality.html#976" class="Generalizable">b</a> <a id="1681" href="Relation.Binary.PropositionalEquality.html#980" class="Generalizable">ℓ</a><a id="1682" class="Symbol">}</a> <a id="1684" class="Symbol">→</a>
|
||
<a id="1696" class="Symbol">((</a><a id="1698" href="Relation.Binary.PropositionalEquality.html#1698" class="Bound">x</a> <a id="1700" class="Symbol">:</a> <a id="1702" href="Relation.Binary.PropositionalEquality.html#1647" class="Bound">A</a><a id="1703" class="Symbol">)</a> <a id="1705" class="Symbol">→</a> <a id="1707" href="Relation.Binary.Indexed.Heterogeneous.Bundles.html#893" class="Field">IndexedSetoid.Carrier</a> <a id="1729" href="Relation.Binary.PropositionalEquality.html#1659" class="Bound">B</a> <a id="1731" href="Relation.Binary.PropositionalEquality.html#1698" class="Bound">x</a><a id="1732" class="Symbol">)</a> <a id="1734" class="Symbol">→</a>
|
||
<a id="1746" href="Function.Dependent.Bundles.html#1676" class="Record">Dependent.Func</a> <a id="1761" class="Symbol">(</a><a id="1762" href="Relation.Binary.PropositionalEquality.Properties.html#5700" class="Function">setoid</a> <a id="1769" href="Relation.Binary.PropositionalEquality.html#1647" class="Bound">A</a><a id="1770" class="Symbol">)</a> <a id="1772" href="Relation.Binary.PropositionalEquality.html#1659" class="Bound">B</a>
|
||
<a id="1774" href="Relation.Binary.PropositionalEquality.html#1634" class="Function">:→-to-Π</a> <a id="1782" class="Symbol">{</a><a id="1783" class="Argument">B</a> <a id="1785" class="Symbol">=</a> <a id="1787" href="Relation.Binary.PropositionalEquality.html#1787" class="Bound">B</a><a id="1788" class="Symbol">}</a> <a id="1790" href="Relation.Binary.PropositionalEquality.html#1790" class="Bound">f</a> <a id="1792" class="Symbol">=</a> <a id="1794" class="Keyword">record</a>
|
||
<a id="1803" class="Symbol">{</a> <a id="1805" href="Function.Dependent.Bundles.html#1727" class="Field">to</a> <a id="1808" class="Symbol">=</a> <a id="1810" href="Relation.Binary.PropositionalEquality.html#1790" class="Bound">f</a>
|
||
<a id="1814" class="Symbol">;</a> <a id="1816" href="Function.Dependent.Bundles.html#1754" class="Field">cong</a> <a id="1821" class="Symbol">=</a> <a id="1823" class="Symbol">λ</a> <a id="1825" class="Symbol">{</a> <a id="1827" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a> <a id="1832" class="Symbol">→</a> <a id="1834" href="Relation.Binary.Indexed.Heterogeneous.Structures.html#923" class="Function">IndexedSetoid.refl</a> <a id="1853" href="Relation.Binary.PropositionalEquality.html#1787" class="Bound">B</a> <a id="1855" class="Symbol">}</a>
|
||
<a id="1859" class="Symbol">}</a>
|
||
|
||
<a id="→-to-⟶"></a><a id="1862" href="Relation.Binary.PropositionalEquality.html#1862" class="Function">→-to-⟶</a> <a id="1869" class="Symbol">:</a> <a id="1871" class="Symbol">∀</a> <a id="1873" class="Symbol">{</a><a id="1874" href="Relation.Binary.PropositionalEquality.html#1874" class="Bound">A</a> <a id="1876" class="Symbol">:</a> <a id="1878" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1882" href="Relation.Binary.PropositionalEquality.html#974" class="Generalizable">a</a><a id="1883" class="Symbol">}</a> <a id="1885" class="Symbol">{</a><a id="1886" href="Relation.Binary.PropositionalEquality.html#1886" class="Bound">B</a> <a id="1888" class="Symbol">:</a> <a id="1890" href="Relation.Binary.Bundles.html#1080" class="Record">Setoid</a> <a id="1897" href="Relation.Binary.PropositionalEquality.html#976" class="Generalizable">b</a> <a id="1899" href="Relation.Binary.PropositionalEquality.html#980" class="Generalizable">ℓ</a><a id="1900" class="Symbol">}</a> <a id="1902" class="Symbol">→</a>
|
||
<a id="1913" class="Symbol">(</a><a id="1914" href="Relation.Binary.PropositionalEquality.html#1874" class="Bound">A</a> <a id="1916" class="Symbol">→</a> <a id="1918" href="Relation.Binary.Bundles.html#1143" class="Field">Setoid.Carrier</a> <a id="1933" href="Relation.Binary.PropositionalEquality.html#1886" class="Bound">B</a><a id="1934" class="Symbol">)</a> <a id="1936" class="Symbol">→</a>
|
||
<a id="1947" href="Function.Dependent.Bundles.html#1676" class="Record">Dependent.Func</a> <a id="1962" class="Symbol">(</a><a id="1963" href="Relation.Binary.PropositionalEquality.Properties.html#5700" class="Function">setoid</a> <a id="1970" href="Relation.Binary.PropositionalEquality.html#1874" class="Bound">A</a><a id="1971" class="Symbol">)</a> <a id="1973" class="Symbol">(</a><a id="1974" href="Relation.Binary.Indexed.Heterogeneous.Construct.Trivial.html#1484" class="Function">Trivial.indexedSetoid</a> <a id="1996" href="Relation.Binary.PropositionalEquality.html#1886" class="Bound">B</a><a id="1997" class="Symbol">)</a>
|
||
<a id="1999" href="Relation.Binary.PropositionalEquality.html#1862" class="Function">→-to-⟶</a> <a id="2006" class="Symbol">=</a> <a id="2008" href="Relation.Binary.PropositionalEquality.html#1634" class="Function">:→-to-Π</a>
|
||
|
||
<a id="2017" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="2090" class="Comment">-- More complex rearrangement lemmas</a>
|
||
|
||
<a id="2128" class="Comment">-- A lemma that is very similar to Lemma 2.4.3 from the HoTT book.</a>
|
||
|
||
<a id="naturality"></a><a id="2196" href="Relation.Binary.PropositionalEquality.html#2196" class="Function">naturality</a> <a id="2207" class="Symbol">:</a> <a id="2209" class="Symbol">∀</a> <a id="2211" class="Symbol">{</a><a id="2212" href="Relation.Binary.PropositionalEquality.html#2212" class="Bound">x</a> <a id="2214" href="Relation.Binary.PropositionalEquality.html#2214" class="Bound">y</a><a id="2215" class="Symbol">}</a> <a id="2217" class="Symbol">{</a><a id="2218" href="Relation.Binary.PropositionalEquality.html#2218" class="Bound">x≡y</a> <a id="2222" class="Symbol">:</a> <a id="2224" href="Relation.Binary.PropositionalEquality.html#2212" class="Bound">x</a> <a id="2226" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="2228" href="Relation.Binary.PropositionalEquality.html#2214" class="Bound">y</a><a id="2229" class="Symbol">}</a> <a id="2231" class="Symbol">{</a><a id="2232" href="Relation.Binary.PropositionalEquality.html#2232" class="Bound">f</a> <a id="2234" href="Relation.Binary.PropositionalEquality.html#2234" class="Bound">g</a> <a id="2236" class="Symbol">:</a> <a id="2238" href="Relation.Binary.PropositionalEquality.html#996" class="Generalizable">A</a> <a id="2240" class="Symbol">→</a> <a id="2242" href="Relation.Binary.PropositionalEquality.html#998" class="Generalizable">B</a><a id="2243" class="Symbol">}</a>
|
||
<a id="2258" class="Symbol">(</a><a id="2259" href="Relation.Binary.PropositionalEquality.html#2259" class="Bound">f≡g</a> <a id="2263" class="Symbol">:</a> <a id="2265" class="Symbol">∀</a> <a id="2267" href="Relation.Binary.PropositionalEquality.html#2267" class="Bound">x</a> <a id="2269" class="Symbol">→</a> <a id="2271" href="Relation.Binary.PropositionalEquality.html#2232" class="Bound">f</a> <a id="2273" href="Relation.Binary.PropositionalEquality.html#2267" class="Bound">x</a> <a id="2275" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="2277" href="Relation.Binary.PropositionalEquality.html#2234" class="Bound">g</a> <a id="2279" href="Relation.Binary.PropositionalEquality.html#2267" class="Bound">x</a><a id="2280" class="Symbol">)</a> <a id="2282" class="Symbol">→</a>
|
||
<a id="2297" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="2303" class="Symbol">(</a><a id="2304" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="2309" href="Relation.Binary.PropositionalEquality.html#2232" class="Bound">f</a> <a id="2311" href="Relation.Binary.PropositionalEquality.html#2218" class="Bound">x≡y</a><a id="2314" class="Symbol">)</a> <a id="2316" class="Symbol">(</a><a id="2317" href="Relation.Binary.PropositionalEquality.html#2259" class="Bound">f≡g</a> <a id="2321" href="Relation.Binary.PropositionalEquality.html#2214" class="Bound">y</a><a id="2322" class="Symbol">)</a> <a id="2324" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="2326" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="2332" class="Symbol">(</a><a id="2333" href="Relation.Binary.PropositionalEquality.html#2259" class="Bound">f≡g</a> <a id="2337" href="Relation.Binary.PropositionalEquality.html#2212" class="Bound">x</a><a id="2338" class="Symbol">)</a> <a id="2340" class="Symbol">(</a><a id="2341" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="2346" href="Relation.Binary.PropositionalEquality.html#2234" class="Bound">g</a> <a id="2348" href="Relation.Binary.PropositionalEquality.html#2218" class="Bound">x≡y</a><a id="2351" class="Symbol">)</a>
|
||
<a id="2353" href="Relation.Binary.PropositionalEquality.html#2196" class="Function">naturality</a> <a id="2364" class="Symbol">{</a><a id="2365" class="Argument">x</a> <a id="2367" class="Symbol">=</a> <a id="2369" href="Relation.Binary.PropositionalEquality.html#2369" class="Bound">x</a><a id="2370" class="Symbol">}</a> <a id="2372" class="Symbol">{</a><a id="2373" class="Argument">x≡y</a> <a id="2377" class="Symbol">=</a> <a id="2379" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a><a id="2383" class="Symbol">}</a> <a id="2385" href="Relation.Binary.PropositionalEquality.html#2385" class="Bound">f≡g</a> <a id="2389" class="Symbol">=</a>
|
||
<a id="2393" href="Relation.Binary.PropositionalEquality.html#2385" class="Bound">f≡g</a> <a id="2397" href="Relation.Binary.PropositionalEquality.html#2369" class="Bound">x</a> <a id="2413" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="2416" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="2420" class="Symbol">(</a><a id="2421" href="Relation.Binary.PropositionalEquality.Properties.html#2345" class="Function">trans-reflʳ</a> <a id="2433" class="Symbol">_)</a> <a id="2436" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
||
<a id="2440" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="2446" class="Symbol">(</a><a id="2447" href="Relation.Binary.PropositionalEquality.html#2385" class="Bound">f≡g</a> <a id="2451" href="Relation.Binary.PropositionalEquality.html#2369" class="Bound">x</a><a id="2452" class="Symbol">)</a> <a id="2454" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a> <a id="2460" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="2464" class="Keyword">where</a> <a id="2470" class="Keyword">open</a> <a id="2475" href="Relation.Binary.PropositionalEquality.Properties.html#6744" class="Module">≡-Reasoning</a>
|
||
|
||
<a id="2488" class="Comment">-- A lemma that is very similar to Corollary 2.4.4 from the HoTT book.</a>
|
||
|
||
<a id="cong-≡id"></a><a id="2560" href="Relation.Binary.PropositionalEquality.html#2560" class="Function">cong-≡id</a> <a id="2569" class="Symbol">:</a> <a id="2571" class="Symbol">∀</a> <a id="2573" class="Symbol">{</a><a id="2574" href="Relation.Binary.PropositionalEquality.html#2574" class="Bound">f</a> <a id="2576" class="Symbol">:</a> <a id="2578" href="Relation.Binary.PropositionalEquality.html#996" class="Generalizable">A</a> <a id="2580" class="Symbol">→</a> <a id="2582" href="Relation.Binary.PropositionalEquality.html#996" class="Generalizable">A</a><a id="2583" class="Symbol">}</a> <a id="2585" class="Symbol">{</a><a id="2586" href="Relation.Binary.PropositionalEquality.html#2586" class="Bound">x</a> <a id="2588" class="Symbol">:</a> <a id="2590" href="Relation.Binary.PropositionalEquality.html#996" class="Generalizable">A</a><a id="2591" class="Symbol">}</a> <a id="2593" class="Symbol">(</a><a id="2594" href="Relation.Binary.PropositionalEquality.html#2594" class="Bound">f≡id</a> <a id="2599" class="Symbol">:</a> <a id="2601" class="Symbol">∀</a> <a id="2603" href="Relation.Binary.PropositionalEquality.html#2603" class="Bound">x</a> <a id="2605" class="Symbol">→</a> <a id="2607" href="Relation.Binary.PropositionalEquality.html#2574" class="Bound">f</a> <a id="2609" href="Relation.Binary.PropositionalEquality.html#2603" class="Bound">x</a> <a id="2611" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="2613" href="Relation.Binary.PropositionalEquality.html#2603" class="Bound">x</a><a id="2614" class="Symbol">)</a> <a id="2616" class="Symbol">→</a>
|
||
<a id="2629" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="2634" href="Relation.Binary.PropositionalEquality.html#2574" class="Bound">f</a> <a id="2636" class="Symbol">(</a><a id="2637" href="Relation.Binary.PropositionalEquality.html#2594" class="Bound">f≡id</a> <a id="2642" href="Relation.Binary.PropositionalEquality.html#2586" class="Bound">x</a><a id="2643" class="Symbol">)</a> <a id="2645" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="2647" href="Relation.Binary.PropositionalEquality.html#2594" class="Bound">f≡id</a> <a id="2652" class="Symbol">(</a><a id="2653" href="Relation.Binary.PropositionalEquality.html#2574" class="Bound">f</a> <a id="2655" href="Relation.Binary.PropositionalEquality.html#2586" class="Bound">x</a><a id="2656" class="Symbol">)</a>
|
||
<a id="2658" href="Relation.Binary.PropositionalEquality.html#2560" class="Function">cong-≡id</a> <a id="2667" class="Symbol">{</a><a id="2668" class="Argument">f</a> <a id="2670" class="Symbol">=</a> <a id="2672" href="Relation.Binary.PropositionalEquality.html#2672" class="Bound">f</a><a id="2673" class="Symbol">}</a> <a id="2675" class="Symbol">{</a><a id="2676" href="Relation.Binary.PropositionalEquality.html#2676" class="Bound">x</a><a id="2677" class="Symbol">}</a> <a id="2679" href="Relation.Binary.PropositionalEquality.html#2679" class="Bound">f≡id</a> <a id="2684" class="Symbol">=</a> <a id="2686" href="Relation.Binary.Reasoning.Syntax.html#1510" class="Function Operator">begin</a>
|
||
<a id="2694" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="2699" href="Relation.Binary.PropositionalEquality.html#2672" class="Bound">f</a> <a id="2701" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a> <a id="2741" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="2744" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="2748" class="Symbol">(</a><a id="2749" href="Relation.Binary.PropositionalEquality.Properties.html#2345" class="Function">trans-reflʳ</a> <a id="2761" class="Symbol">_)</a> <a id="2764" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
||
<a id="2768" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="2774" class="Symbol">(</a><a id="2775" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="2780" href="Relation.Binary.PropositionalEquality.html#2672" class="Bound">f</a> <a id="2782" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="2786" class="Symbol">)</a> <a id="2788" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a> <a id="2815" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="2818" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="2823" class="Symbol">(</a><a id="2824" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="2830" class="Symbol">_)</a> <a id="2833" class="Symbol">(</a><a id="2834" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="2838" class="Symbol">(</a><a id="2839" href="Relation.Binary.PropositionalEquality.Properties.html#2650" class="Function">trans-symʳ</a> <a id="2850" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="2854" class="Symbol">))</a> <a id="2857" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
||
<a id="2861" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="2867" class="Symbol">(</a><a id="2868" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="2873" href="Relation.Binary.PropositionalEquality.html#2672" class="Bound">f</a> <a id="2875" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="2879" class="Symbol">)</a> <a id="2881" class="Symbol">(</a><a id="2882" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="2888" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a> <a id="2893" class="Symbol">(</a><a id="2894" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="2898" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="2902" class="Symbol">))</a> <a id="2908" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="2911" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="2915" class="Symbol">(</a><a id="2916" href="Relation.Binary.PropositionalEquality.Properties.html#2427" class="Function">trans-assoc</a> <a id="2928" class="Symbol">(</a><a id="2929" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="2934" href="Relation.Binary.PropositionalEquality.html#2672" class="Bound">f</a> <a id="2936" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="2940" class="Symbol">))</a> <a id="2943" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
||
<a id="2947" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="2953" class="Symbol">(</a><a id="2954" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="2960" class="Symbol">(</a><a id="2961" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="2966" href="Relation.Binary.PropositionalEquality.html#2672" class="Bound">f</a> <a id="2968" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="2972" class="Symbol">)</a> <a id="2974" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="2978" class="Symbol">)</a> <a id="2980" class="Symbol">(</a><a id="2981" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="2985" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="2989" class="Symbol">)</a> <a id="2994" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="2997" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="3002" class="Symbol">(λ</a> <a id="3005" href="Relation.Binary.PropositionalEquality.html#3005" class="Bound">p</a> <a id="3007" class="Symbol">→</a> <a id="3009" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="3015" href="Relation.Binary.PropositionalEquality.html#3005" class="Bound">p</a> <a id="3017" class="Symbol">(</a><a id="3018" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="3022" class="Symbol">_))</a> <a id="3026" class="Symbol">(</a><a id="3027" href="Relation.Binary.PropositionalEquality.html#2196" class="Function">naturality</a> <a id="3038" href="Relation.Binary.PropositionalEquality.html#2679" class="Bound">f≡id</a><a id="3042" class="Symbol">)</a> <a id="3044" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
||
<a id="3048" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="3054" class="Symbol">(</a><a id="3055" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="3061" href="Relation.Binary.PropositionalEquality.html#3477" class="Function">f²x≡x</a> <a id="3067" class="Symbol">(</a><a id="3068" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="3073" href="Function.Base.html#704" class="Function">id</a> <a id="3076" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="3080" class="Symbol">))</a> <a id="3083" class="Symbol">(</a><a id="3084" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="3088" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="3092" class="Symbol">)</a> <a id="3095" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="3098" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="3103" class="Symbol">(λ</a> <a id="3106" href="Relation.Binary.PropositionalEquality.html#3106" class="Bound">p</a> <a id="3108" class="Symbol">→</a> <a id="3110" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="3116" class="Symbol">(</a><a id="3117" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="3123" href="Relation.Binary.PropositionalEquality.html#3477" class="Function">f²x≡x</a> <a id="3129" href="Relation.Binary.PropositionalEquality.html#3106" class="Bound">p</a><a id="3130" class="Symbol">)</a> <a id="3132" class="Symbol">(</a><a id="3133" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="3137" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="3141" class="Symbol">))</a> <a id="3144" class="Symbol">(</a><a id="3145" href="Relation.Binary.PropositionalEquality.Properties.html#3067" class="Function">cong-id</a> <a id="3153" class="Symbol">_)</a> <a id="3156" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
||
<a id="3160" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="3166" class="Symbol">(</a><a id="3167" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="3173" href="Relation.Binary.PropositionalEquality.html#3477" class="Function">f²x≡x</a> <a id="3179" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="3183" class="Symbol">)</a> <a id="3185" class="Symbol">(</a><a id="3186" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="3190" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="3194" class="Symbol">)</a> <a id="3207" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="3210" href="Relation.Binary.PropositionalEquality.Properties.html#2427" class="Function">trans-assoc</a> <a id="3222" href="Relation.Binary.PropositionalEquality.html#3477" class="Function">f²x≡x</a> <a id="3228" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
||
<a id="3232" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="3238" href="Relation.Binary.PropositionalEquality.html#3477" class="Function">f²x≡x</a> <a id="3244" class="Symbol">(</a><a id="3245" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="3251" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a> <a id="3256" class="Symbol">(</a><a id="3257" href="Relation.Binary.PropositionalEquality.Core.html#1712" class="Function">sym</a> <a id="3261" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="3265" class="Symbol">))</a> <a id="3279" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="3282" href="Relation.Binary.PropositionalEquality.Core.html#1158" class="Function">cong</a> <a id="3287" class="Symbol">(</a><a id="3288" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="3294" class="Symbol">_)</a> <a id="3297" class="Symbol">(</a><a id="3298" href="Relation.Binary.PropositionalEquality.Properties.html#2650" class="Function">trans-symʳ</a> <a id="3309" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a><a id="3313" class="Symbol">)</a> <a id="3315" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
||
<a id="3319" href="Relation.Binary.PropositionalEquality.Core.html#1757" class="Function">trans</a> <a id="3325" href="Relation.Binary.PropositionalEquality.html#3477" class="Function">f²x≡x</a> <a id="3331" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a> <a id="3366" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">≡⟨</a> <a id="3369" href="Relation.Binary.PropositionalEquality.Properties.html#2345" class="Function">trans-reflʳ</a> <a id="3381" class="Symbol">_</a> <a id="3383" href="Relation.Binary.Reasoning.Syntax.html#10986" class="Function">⟩</a>
|
||
<a id="3387" href="Relation.Binary.PropositionalEquality.html#2679" class="Bound">f≡id</a> <a id="3392" class="Symbol">(</a><a id="3393" href="Relation.Binary.PropositionalEquality.html#2672" class="Bound">f</a> <a id="3395" href="Relation.Binary.PropositionalEquality.html#2676" class="Bound">x</a><a id="3396" class="Symbol">)</a> <a id="3434" href="Relation.Binary.Reasoning.Syntax.html#12283" class="Function Operator">∎</a>
|
||
<a id="3438" class="Keyword">where</a> <a id="3444" class="Keyword">open</a> <a id="3449" href="Relation.Binary.PropositionalEquality.Properties.html#6744" class="Module">≡-Reasoning</a><a id="3460" class="Symbol">;</a> <a id="3462" href="Relation.Binary.PropositionalEquality.html#3462" class="Function">fx≡x</a> <a id="3467" class="Symbol">=</a> <a id="3469" href="Relation.Binary.PropositionalEquality.html#2679" class="Bound">f≡id</a> <a id="3474" href="Relation.Binary.PropositionalEquality.html#2676" class="Bound">x</a><a id="3475" class="Symbol">;</a> <a id="3477" href="Relation.Binary.PropositionalEquality.html#3477" class="Function">f²x≡x</a> <a id="3483" class="Symbol">=</a> <a id="3485" href="Relation.Binary.PropositionalEquality.html#2679" class="Bound">f≡id</a> <a id="3490" class="Symbol">(</a><a id="3491" href="Relation.Binary.PropositionalEquality.html#2672" class="Bound">f</a> <a id="3493" href="Relation.Binary.PropositionalEquality.html#2676" class="Bound">x</a><a id="3494" class="Symbol">)</a>
|
||
|
||
<a id="3497" class="Keyword">module</a> <a id="3504" href="Relation.Binary.PropositionalEquality.html#3504" class="Module">_</a> <a id="3506" class="Symbol">(</a><a id="3507" href="Relation.Binary.PropositionalEquality.html#3507" class="Bound Operator">_≟_</a> <a id="3511" class="Symbol">:</a> <a id="3513" href="Relation.Binary.Definitions.html#6469" class="Function">DecidableEquality</a> <a id="3531" href="Relation.Binary.PropositionalEquality.html#996" class="Generalizable">A</a><a id="3532" class="Symbol">)</a> <a id="3534" class="Symbol">{</a><a id="3535" href="Relation.Binary.PropositionalEquality.html#3535" class="Bound">x</a> <a id="3537" href="Relation.Binary.PropositionalEquality.html#3537" class="Bound">y</a> <a id="3539" class="Symbol">:</a> <a id="3541" href="Relation.Binary.PropositionalEquality.html#996" class="Generalizable">A</a><a id="3542" class="Symbol">}</a> <a id="3544" class="Keyword">where</a>
|
||
|
||
<a id="3553" href="Relation.Binary.PropositionalEquality.html#3553" class="Function">≡-≟-identity</a> <a id="3566" class="Symbol">:</a> <a id="3568" class="Symbol">(</a><a id="3569" href="Relation.Binary.PropositionalEquality.html#3569" class="Bound">eq</a> <a id="3572" class="Symbol">:</a> <a id="3574" href="Relation.Binary.PropositionalEquality.html#3535" class="Bound">x</a> <a id="3576" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="3578" href="Relation.Binary.PropositionalEquality.html#3537" class="Bound">y</a><a id="3579" class="Symbol">)</a> <a id="3581" class="Symbol">→</a> <a id="3583" href="Relation.Binary.PropositionalEquality.html#3535" class="Bound">x</a> <a id="3585" href="Relation.Binary.PropositionalEquality.html#3507" class="Bound Operator">≟</a> <a id="3587" href="Relation.Binary.PropositionalEquality.html#3537" class="Bound">y</a> <a id="3589" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="3591" href="Relation.Nullary.Decidable.Core.html#1618" class="InductiveConstructor">yes</a> <a id="3595" href="Relation.Binary.PropositionalEquality.html#3569" class="Bound">eq</a>
|
||
<a id="3600" href="Relation.Binary.PropositionalEquality.html#3553" class="Function">≡-≟-identity</a> <a id="3613" href="Relation.Binary.PropositionalEquality.html#3613" class="Bound">eq</a> <a id="3616" class="Symbol">=</a> <a id="3618" href="Relation.Nullary.Decidable.html#2798" class="Function">dec-yes-irr</a> <a id="3630" class="Symbol">(</a><a id="3631" href="Relation.Binary.PropositionalEquality.html#3535" class="Bound">x</a> <a id="3633" href="Relation.Binary.PropositionalEquality.html#3507" class="Bound Operator">≟</a> <a id="3635" href="Relation.Binary.PropositionalEquality.html#3537" class="Bound">y</a><a id="3636" class="Symbol">)</a> <a id="3638" class="Symbol">(</a><a id="3639" href="Axiom.UniquenessOfIdentityProofs.html#2697" class="Function">Decidable⇒UIP.≡-irrelevant</a> <a id="3666" href="Relation.Binary.PropositionalEquality.html#3507" class="Bound Operator">_≟_</a><a id="3669" class="Symbol">)</a> <a id="3671" href="Relation.Binary.PropositionalEquality.html#3613" class="Bound">eq</a>
|
||
|
||
<a id="3677" href="Relation.Binary.PropositionalEquality.html#3677" class="Function">≢-≟-identity</a> <a id="3690" class="Symbol">:</a> <a id="3692" class="Symbol">(</a><a id="3693" href="Relation.Binary.PropositionalEquality.html#3693" class="Bound">x≢y</a> <a id="3697" class="Symbol">:</a> <a id="3699" href="Relation.Binary.PropositionalEquality.html#3535" class="Bound">x</a> <a id="3701" href="Relation.Binary.PropositionalEquality.Core.html#858" class="Function Operator">≢</a> <a id="3703" href="Relation.Binary.PropositionalEquality.html#3537" class="Bound">y</a><a id="3704" class="Symbol">)</a> <a id="3706" class="Symbol">→</a> <a id="3708" href="Relation.Binary.PropositionalEquality.html#3535" class="Bound">x</a> <a id="3710" href="Relation.Binary.PropositionalEquality.html#3507" class="Bound Operator">≟</a> <a id="3712" href="Relation.Binary.PropositionalEquality.html#3537" class="Bound">y</a> <a id="3714" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="3716" href="Relation.Nullary.Decidable.Core.html#1655" class="InductiveConstructor">no</a> <a id="3719" href="Relation.Binary.PropositionalEquality.html#3693" class="Bound">x≢y</a>
|
||
<a id="3725" href="Relation.Binary.PropositionalEquality.html#3677" class="Function">≢-≟-identity</a> <a id="3738" class="Symbol">=</a> <a id="3740" href="Relation.Nullary.Decidable.html#2687" class="Function">dec-no</a> <a id="3747" class="Symbol">(</a><a id="3748" href="Relation.Binary.PropositionalEquality.html#3535" class="Bound">x</a> <a id="3750" href="Relation.Binary.PropositionalEquality.html#3507" class="Bound Operator">≟</a> <a id="3752" href="Relation.Binary.PropositionalEquality.html#3537" class="Bound">y</a><a id="3753" class="Symbol">)</a>
|
||
|
||
|
||
<a id="3757" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="3830" class="Comment">-- Inspect</a>
|
||
|
||
<a id="3842" class="Comment">-- Inspect can be used when you want to pattern match on the result r</a>
|
||
<a id="3912" class="Comment">-- of some expression e, and you also need to "remember" that r ≡ e.</a>
|
||
|
||
<a id="3982" class="Comment">-- See README.Inspect for an explanation of how/why to use this.</a>
|
||
|
||
<a id="4048" class="Comment">-- Normally (but not always) the new `with ... in` syntax described at</a>
|
||
<a id="4119" class="Comment">-- https://agda.readthedocs.io/en/v2.6.4/language/with-abstraction.html#with-abstraction-equality</a>
|
||
<a id="4217" class="Comment">-- can be used instead."</a>
|
||
|
||
<a id="4243" class="Keyword">record</a> <a id="Reveal_·_is_"></a><a id="4250" href="Relation.Binary.PropositionalEquality.html#4250" class="Record Operator">Reveal_·_is_</a> <a id="4263" class="Symbol">{</a><a id="4264" href="Relation.Binary.PropositionalEquality.html#4264" class="Bound">A</a> <a id="4266" class="Symbol">:</a> <a id="4268" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4272" href="Relation.Binary.PropositionalEquality.html#974" class="Generalizable">a</a><a id="4273" class="Symbol">}</a> <a id="4275" class="Symbol">{</a><a id="4276" href="Relation.Binary.PropositionalEquality.html#4276" class="Bound">B</a> <a id="4278" class="Symbol">:</a> <a id="4280" href="Relation.Binary.PropositionalEquality.html#4264" class="Bound">A</a> <a id="4282" class="Symbol">→</a> <a id="4284" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4288" href="Relation.Binary.PropositionalEquality.html#976" class="Generalizable">b</a><a id="4289" class="Symbol">}</a>
|
||
<a id="4311" class="Symbol">(</a><a id="4312" href="Relation.Binary.PropositionalEquality.html#4312" class="Bound">f</a> <a id="4314" class="Symbol">:</a> <a id="4316" class="Symbol">(</a><a id="4317" href="Relation.Binary.PropositionalEquality.html#4317" class="Bound">x</a> <a id="4319" class="Symbol">:</a> <a id="4321" href="Relation.Binary.PropositionalEquality.html#4264" class="Bound">A</a><a id="4322" class="Symbol">)</a> <a id="4324" class="Symbol">→</a> <a id="4326" href="Relation.Binary.PropositionalEquality.html#4276" class="Bound">B</a> <a id="4328" href="Relation.Binary.PropositionalEquality.html#4317" class="Bound">x</a><a id="4329" class="Symbol">)</a> <a id="4331" class="Symbol">(</a><a id="4332" href="Relation.Binary.PropositionalEquality.html#4332" class="Bound">x</a> <a id="4334" class="Symbol">:</a> <a id="4336" href="Relation.Binary.PropositionalEquality.html#4264" class="Bound">A</a><a id="4337" class="Symbol">)</a> <a id="4339" class="Symbol">(</a><a id="4340" href="Relation.Binary.PropositionalEquality.html#4340" class="Bound">y</a> <a id="4342" class="Symbol">:</a> <a id="4344" href="Relation.Binary.PropositionalEquality.html#4276" class="Bound">B</a> <a id="4346" href="Relation.Binary.PropositionalEquality.html#4332" class="Bound">x</a><a id="4347" class="Symbol">)</a> <a id="4349" class="Symbol">:</a>
|
||
<a id="4371" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4375" class="Symbol">(</a><a id="4376" href="Relation.Binary.PropositionalEquality.html#4272" class="Bound">a</a> <a id="4378" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="4380" href="Relation.Binary.PropositionalEquality.html#4288" class="Bound">b</a><a id="4381" class="Symbol">)</a> <a id="4383" class="Keyword">where</a>
|
||
<a id="4391" class="Keyword">constructor</a> <a id="[_]"></a><a id="4403" href="Relation.Binary.PropositionalEquality.html#4403" class="InductiveConstructor Operator">[_]</a>
|
||
<a id="4409" class="Keyword">field</a> <a id="Reveal_·_is_.eq"></a><a id="4415" href="Relation.Binary.PropositionalEquality.html#4415" class="Field">eq</a> <a id="4418" class="Symbol">:</a> <a id="4420" href="Relation.Binary.PropositionalEquality.html#4312" class="Bound">f</a> <a id="4422" href="Relation.Binary.PropositionalEquality.html#4332" class="Bound">x</a> <a id="4424" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">≡</a> <a id="4426" href="Relation.Binary.PropositionalEquality.html#4340" class="Bound">y</a>
|
||
|
||
<a id="inspect"></a><a id="4429" href="Relation.Binary.PropositionalEquality.html#4429" class="Function">inspect</a> <a id="4437" class="Symbol">:</a> <a id="4439" class="Symbol">∀</a> <a id="4441" class="Symbol">{</a><a id="4442" href="Relation.Binary.PropositionalEquality.html#4442" class="Bound">A</a> <a id="4444" class="Symbol">:</a> <a id="4446" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4450" href="Relation.Binary.PropositionalEquality.html#974" class="Generalizable">a</a><a id="4451" class="Symbol">}</a> <a id="4453" class="Symbol">{</a><a id="4454" href="Relation.Binary.PropositionalEquality.html#4454" class="Bound">B</a> <a id="4456" class="Symbol">:</a> <a id="4458" href="Relation.Binary.PropositionalEquality.html#4442" class="Bound">A</a> <a id="4460" class="Symbol">→</a> <a id="4462" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4466" href="Relation.Binary.PropositionalEquality.html#976" class="Generalizable">b</a><a id="4467" class="Symbol">}</a>
|
||
<a id="4479" class="Symbol">(</a><a id="4480" href="Relation.Binary.PropositionalEquality.html#4480" class="Bound">f</a> <a id="4482" class="Symbol">:</a> <a id="4484" class="Symbol">(</a><a id="4485" href="Relation.Binary.PropositionalEquality.html#4485" class="Bound">x</a> <a id="4487" class="Symbol">:</a> <a id="4489" href="Relation.Binary.PropositionalEquality.html#4442" class="Bound">A</a><a id="4490" class="Symbol">)</a> <a id="4492" class="Symbol">→</a> <a id="4494" href="Relation.Binary.PropositionalEquality.html#4454" class="Bound">B</a> <a id="4496" href="Relation.Binary.PropositionalEquality.html#4485" class="Bound">x</a><a id="4497" class="Symbol">)</a> <a id="4499" class="Symbol">(</a><a id="4500" href="Relation.Binary.PropositionalEquality.html#4500" class="Bound">x</a> <a id="4502" class="Symbol">:</a> <a id="4504" href="Relation.Binary.PropositionalEquality.html#4442" class="Bound">A</a><a id="4505" class="Symbol">)</a> <a id="4507" class="Symbol">→</a> <a id="4509" href="Relation.Binary.PropositionalEquality.html#4250" class="Record Operator">Reveal</a> <a id="4516" href="Relation.Binary.PropositionalEquality.html#4480" class="Bound">f</a> <a id="4518" href="Relation.Binary.PropositionalEquality.html#4250" class="Record Operator">·</a> <a id="4520" href="Relation.Binary.PropositionalEquality.html#4500" class="Bound">x</a> <a id="4522" href="Relation.Binary.PropositionalEquality.html#4250" class="Record Operator">is</a> <a id="4525" href="Relation.Binary.PropositionalEquality.html#4480" class="Bound">f</a> <a id="4527" href="Relation.Binary.PropositionalEquality.html#4500" class="Bound">x</a>
|
||
<a id="4529" href="Relation.Binary.PropositionalEquality.html#4429" class="Function">inspect</a> <a id="4537" href="Relation.Binary.PropositionalEquality.html#4537" class="Bound">f</a> <a id="4539" href="Relation.Binary.PropositionalEquality.html#4539" class="Bound">x</a> <a id="4541" class="Symbol">=</a> <a id="4543" href="Relation.Binary.PropositionalEquality.html#4403" class="InductiveConstructor Operator">[</a> <a id="4545" href="Agda.Builtin.Equality.html#207" class="InductiveConstructor">refl</a> <a id="4550" href="Relation.Binary.PropositionalEquality.html#4403" class="InductiveConstructor Operator">]</a>
|
||
|
||
|
||
<a id="4554" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="4627" class="Comment">-- DEPRECATED NAMES</a>
|
||
<a id="4647" class="Comment">------------------------------------------------------------------------</a>
|
||
<a id="4720" class="Comment">-- Please use the new names as continuing support for the old names is</a>
|
||
<a id="4791" class="Comment">-- not guaranteed.</a>
|
||
|
||
<a id="4811" class="Comment">-- Version 2.0</a>
|
||
|
||
<a id="isPropositional"></a><a id="4827" href="Relation.Binary.PropositionalEquality.html#4827" class="Function">isPropositional</a> <a id="4843" class="Symbol">:</a> <a id="4845" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4849" href="Relation.Binary.PropositionalEquality.html#974" class="Generalizable">a</a> <a id="4851" class="Symbol">→</a> <a id="4853" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="4857" href="Relation.Binary.PropositionalEquality.html#974" class="Generalizable">a</a>
|
||
<a id="4859" href="Relation.Binary.PropositionalEquality.html#4827" class="Function">isPropositional</a> <a id="4875" class="Symbol">=</a> <a id="4877" href="Relation.Nullary.html#755" class="Function">Irrelevant</a>
|
||
|
||
<a id="4889" class="Symbol">{-#</a> <a id="4893" class="Keyword">WARNING_ON_USAGE</a> <a id="4910" class="Pragma">isPropositional</a>
|
||
<a id="4926" class="String">"Warning: isPropositional was deprecated in v2.0.
|
||
Please use Relation.Nullary.Irrelevant instead. "</a>
|
||
<a id="5026" class="Symbol">#-}</a>
|
||
|
||
</pre></body></html> |