bsc-leon-vatthauer/public/Function.Metric.Nat.Definitions.html

70 lines
No EOL
17 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML>
<html><head><meta charset="utf-8"><title>Function.Metric.Nat.Definitions</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">-- Core definitions for metrics over </a>
<a id="145" class="Comment">------------------------------------------------------------------------</a>
<a id="219" class="Symbol">{-#</a> <a id="223" class="Keyword">OPTIONS</a> <a id="231" class="Pragma">--cubical-compatible</a> <a id="252" class="Pragma">--safe</a> <a id="259" class="Symbol">#-}</a>
<a id="264" class="Keyword">module</a> <a id="271" href="Function.Metric.Nat.Definitions.html" class="Module">Function.Metric.Nat.Definitions</a> <a id="303" class="Keyword">where</a>
<a id="310" class="Keyword">open</a> <a id="315" class="Keyword">import</a> <a id="322" href="Algebra.Core.html" class="Module">Algebra.Core</a> <a id="335" class="Keyword">using</a> <a id="341" class="Symbol">(</a><a id="342" href="Algebra.Core.html#527" class="Function">Op₂</a><a id="345" class="Symbol">)</a>
<a id="347" class="Keyword">open</a> <a id="352" class="Keyword">import</a> <a id="359" href="Data.Nat.Base.html" class="Module">Data.Nat.Base</a>
<a id="373" class="Keyword">open</a> <a id="378" class="Keyword">import</a> <a id="385" href="Level.html" class="Module">Level</a> <a id="391" class="Keyword">using</a> <a id="397" class="Symbol">(</a><a id="398" href="Agda.Primitive.html#591" class="Postulate">Level</a><a id="403" class="Symbol">)</a>
<a id="405" class="Keyword">open</a> <a id="410" class="Keyword">import</a> <a id="417" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a>
<a id="438" class="Keyword">open</a> <a id="443" class="Keyword">import</a> <a id="450" href="Relation.Binary.PropositionalEquality.Core.html" class="Module">Relation.Binary.PropositionalEquality.Core</a> <a id="493" class="Keyword">using</a> <a id="499" class="Symbol">(</a><a id="500" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a><a id="503" class="Symbol">)</a>
<a id="506" class="Keyword">open</a> <a id="511" class="Keyword">import</a> <a id="518" href="Function.Metric.Nat.Core.html" class="Module">Function.Metric.Nat.Core</a>
<a id="543" class="Keyword">import</a> <a id="550" href="Function.Metric.Definitions.html" class="Module">Function.Metric.Definitions</a> <a id="578" class="Symbol">as</a> <a id="581" class="Module">Base</a>
<a id="587" class="Keyword">private</a>
<a id="597" class="Keyword">variable</a>
<a id="610" href="Function.Metric.Nat.Definitions.html#610" class="Generalizable">a</a> <a id="612" href="Function.Metric.Nat.Definitions.html#612" class="Generalizable"></a> <a id="614" class="Symbol">:</a> <a id="616" href="Agda.Primitive.html#591" class="Postulate">Level</a>
<a id="626" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="630" class="Symbol">:</a> <a id="632" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="636" href="Function.Metric.Nat.Definitions.html#610" class="Generalizable">a</a>
<a id="639" class="Comment">------------------------------------------------------------------------</a>
<a id="712" class="Comment">-- Properties</a>
<a id="727" class="Comment">-- Basic</a>
<a id="Congruent"></a><a id="737" href="Function.Metric.Nat.Definitions.html#737" class="Function">Congruent</a> <a id="747" class="Symbol">:</a> <a id="749" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="753" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="755" href="Function.Metric.Nat.Definitions.html#612" class="Generalizable"></a> <a id="757" class="Symbol"></a> <a id="759" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="776" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="778" class="Symbol"></a> <a id="780" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="784" class="Symbol">_</a>
<a id="786" href="Function.Metric.Nat.Definitions.html#737" class="Function">Congruent</a> <a id="796" href="Function.Metric.Nat.Definitions.html#796" class="Bound Operator">_≈ₐ_</a> <a id="801" href="Function.Metric.Nat.Definitions.html#801" class="Bound">d</a> <a id="803" class="Symbol">=</a> <a id="805" href="Function.Metric.Definitions.html#819" class="Function">Base.Congruent</a> <a id="820" href="Function.Metric.Nat.Definitions.html#796" class="Bound Operator">_≈ₐ_</a> <a id="825" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a> <a id="829" href="Function.Metric.Nat.Definitions.html#801" class="Bound">d</a>
<a id="Indiscernable"></a><a id="832" href="Function.Metric.Nat.Definitions.html#832" class="Function">Indiscernable</a> <a id="846" class="Symbol">:</a> <a id="848" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="852" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="854" href="Function.Metric.Nat.Definitions.html#612" class="Generalizable"></a> <a id="856" class="Symbol"></a> <a id="858" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="875" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="877" class="Symbol"></a> <a id="879" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="883" class="Symbol">_</a>
<a id="885" href="Function.Metric.Nat.Definitions.html#832" class="Function">Indiscernable</a> <a id="899" href="Function.Metric.Nat.Definitions.html#899" class="Bound Operator">_≈ₐ_</a> <a id="904" href="Function.Metric.Nat.Definitions.html#904" class="Bound">d</a> <a id="906" class="Symbol">=</a> <a id="908" href="Function.Metric.Definitions.html#939" class="Function">Base.Indiscernable</a> <a id="927" href="Function.Metric.Nat.Definitions.html#899" class="Bound Operator">_≈ₐ_</a> <a id="932" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a> <a id="936" href="Function.Metric.Nat.Definitions.html#904" class="Bound">d</a> <a id="938" class="Number">0</a>
<a id="Definite"></a><a id="941" href="Function.Metric.Nat.Definitions.html#941" class="Function">Definite</a> <a id="950" class="Symbol">:</a> <a id="952" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="956" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="958" href="Function.Metric.Nat.Definitions.html#612" class="Generalizable"></a> <a id="960" class="Symbol"></a> <a id="962" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="979" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="981" class="Symbol"></a> <a id="983" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="987" class="Symbol">_</a>
<a id="989" href="Function.Metric.Nat.Definitions.html#941" class="Function">Definite</a> <a id="998" href="Function.Metric.Nat.Definitions.html#998" class="Bound Operator">_≈ₐ_</a> <a id="1003" href="Function.Metric.Nat.Definitions.html#1003" class="Bound">d</a> <a id="1005" class="Symbol">=</a> <a id="1007" href="Function.Metric.Definitions.html#1073" class="Function">Base.Definite</a> <a id="1021" href="Function.Metric.Nat.Definitions.html#998" class="Bound Operator">_≈ₐ_</a> <a id="1026" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a> <a id="1030" href="Function.Metric.Nat.Definitions.html#1003" class="Bound">d</a> <a id="1032" class="Number">0</a>
<a id="Symmetric"></a><a id="1035" href="Function.Metric.Nat.Definitions.html#1035" class="Function">Symmetric</a> <a id="1045" class="Symbol">:</a> <a id="1047" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1064" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1066" class="Symbol"></a> <a id="1068" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1072" class="Symbol">_</a>
<a id="1074" href="Function.Metric.Nat.Definitions.html#1035" class="Function">Symmetric</a> <a id="1084" class="Symbol">=</a> <a id="1086" href="Function.Metric.Definitions.html#1300" class="Function">Base.Symmetric</a> <a id="1101" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a>
<a id="Bounded"></a><a id="1106" href="Function.Metric.Nat.Definitions.html#1106" class="Function">Bounded</a> <a id="1114" class="Symbol">:</a> <a id="1116" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1133" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1135" class="Symbol"></a> <a id="1137" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1141" class="Symbol">_</a>
<a id="1143" href="Function.Metric.Nat.Definitions.html#1106" class="Function">Bounded</a> <a id="1151" class="Symbol">=</a> <a id="1153" href="Function.Metric.Definitions.html#1522" class="Function">Base.Bounded</a> <a id="1166" href="Data.Nat.Base.html#1544" class="Datatype Operator">_≤_</a>
<a id="TranslationInvariant"></a><a id="1171" href="Function.Metric.Nat.Definitions.html#1171" class="Function">TranslationInvariant</a> <a id="1192" class="Symbol">:</a> <a id="1194" href="Algebra.Core.html#527" class="Function">Op₂</a> <a id="1198" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1200" class="Symbol"></a> <a id="1202" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1219" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1221" class="Symbol"></a> <a id="1223" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1227" class="Symbol">_</a>
<a id="1229" href="Function.Metric.Nat.Definitions.html#1171" class="Function">TranslationInvariant</a> <a id="1250" class="Symbol">=</a> <a id="1252" href="Function.Metric.Definitions.html#1614" class="Function">Base.TranslationInvariant</a> <a id="1278" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a>
<a id="1283" class="Comment">-- Inequalities</a>
<a id="TriangleInequality"></a><a id="1300" href="Function.Metric.Nat.Definitions.html#1300" class="Function">TriangleInequality</a> <a id="1319" class="Symbol">:</a> <a id="1321" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1338" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1340" class="Symbol"></a> <a id="1342" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1346" class="Symbol">_</a>
<a id="1348" href="Function.Metric.Nat.Definitions.html#1300" class="Function">TriangleInequality</a> <a id="1367" class="Symbol">=</a> <a id="1369" href="Function.Metric.Definitions.html#1392" class="Function">Base.TriangleInequality</a> <a id="1393" href="Data.Nat.Base.html#1544" class="Datatype Operator">_≤_</a> <a id="1397" href="Agda.Builtin.Nat.html#319" class="Primitive Operator">_+_</a>
<a id="MaxTriangleInequality"></a><a id="1402" href="Function.Metric.Nat.Definitions.html#1402" class="Function">MaxTriangleInequality</a> <a id="1424" class="Symbol">:</a> <a id="1426" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1443" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1445" class="Symbol"></a> <a id="1447" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1451" class="Symbol">_</a>
<a id="1453" href="Function.Metric.Nat.Definitions.html#1402" class="Function">MaxTriangleInequality</a> <a id="1475" class="Symbol">=</a> <a id="1477" href="Function.Metric.Definitions.html#1392" class="Function">Base.TriangleInequality</a> <a id="1501" href="Data.Nat.Base.html#1544" class="Datatype Operator">_≤_</a> <a id="1505" href="Data.Nat.Base.html#3072" class="Function Operator">_⊔_</a>
<a id="1510" class="Comment">-- Contractions</a>
<a id="Contracting"></a><a id="1527" href="Function.Metric.Nat.Definitions.html#1527" class="Function">Contracting</a> <a id="1539" class="Symbol">:</a> <a id="1541" class="Symbol">(</a><a id="1542" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1544" class="Symbol"></a> <a id="1546" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a><a id="1547" class="Symbol">)</a> <a id="1549" class="Symbol"></a> <a id="1551" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1568" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1570" class="Symbol"></a> <a id="1572" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1576" class="Symbol">_</a>
<a id="1578" href="Function.Metric.Nat.Definitions.html#1527" class="Function">Contracting</a> <a id="1590" class="Symbol">=</a> <a id="1592" href="Function.Metric.Definitions.html#1757" class="Function">Base.Contracting</a> <a id="1609" href="Data.Nat.Base.html#1544" class="Datatype Operator">_≤_</a>
<a id="ContractingOnOrbits"></a><a id="1614" href="Function.Metric.Nat.Definitions.html#1614" class="Function">ContractingOnOrbits</a> <a id="1634" class="Symbol">:</a> <a id="1636" class="Symbol">(</a><a id="1637" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1639" class="Symbol"></a> <a id="1641" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a><a id="1642" class="Symbol">)</a> <a id="1644" class="Symbol"></a> <a id="1646" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1663" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1665" class="Symbol"></a> <a id="1667" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1671" class="Symbol">_</a>
<a id="1673" href="Function.Metric.Nat.Definitions.html#1614" class="Function">ContractingOnOrbits</a> <a id="1693" class="Symbol">=</a> <a id="1695" href="Function.Metric.Definitions.html#1873" class="Function">Base.ContractingOnOrbits</a> <a id="1720" href="Data.Nat.Base.html#1544" class="Datatype Operator">_≤_</a>
<a id="StrictlyContracting"></a><a id="1725" href="Function.Metric.Nat.Definitions.html#1725" class="Function">StrictlyContracting</a> <a id="1745" class="Symbol">:</a> <a id="1747" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1751" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1753" href="Function.Metric.Nat.Definitions.html#612" class="Generalizable"></a> <a id="1755" class="Symbol"></a> <a id="1757" class="Symbol">(</a><a id="1758" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1760" class="Symbol"></a> <a id="1762" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a><a id="1763" class="Symbol">)</a> <a id="1765" class="Symbol"></a> <a id="1767" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1784" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1786" class="Symbol"></a> <a id="1788" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1792" class="Symbol">_</a>
<a id="1794" href="Function.Metric.Nat.Definitions.html#1725" class="Function">StrictlyContracting</a> <a id="1814" href="Function.Metric.Nat.Definitions.html#1814" class="Bound Operator">_≈_</a> <a id="1818" class="Symbol">=</a> <a id="1820" href="Function.Metric.Definitions.html#2011" class="Function">Base.StrictlyContracting</a> <a id="1845" href="Function.Metric.Nat.Definitions.html#1814" class="Bound Operator">_≈_</a> <a id="1849" href="Data.Nat.Base.html#1654" class="Function Operator">_&lt;_</a>
<a id="StrictlyContractingOnOrbits"></a><a id="1854" href="Function.Metric.Nat.Definitions.html#1854" class="Function">StrictlyContractingOnOrbits</a> <a id="1882" class="Symbol">:</a> <a id="1884" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1888" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1890" href="Function.Metric.Nat.Definitions.html#612" class="Generalizable"></a> <a id="1892" class="Symbol"></a> <a id="1894" class="Symbol">(</a><a id="1895" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1897" class="Symbol"></a> <a id="1899" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a><a id="1900" class="Symbol">)</a> <a id="1902" class="Symbol"></a> <a id="1904" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1921" href="Function.Metric.Nat.Definitions.html#626" class="Generalizable">A</a> <a id="1923" class="Symbol"></a> <a id="1925" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1929" class="Symbol">_</a>
<a id="1931" href="Function.Metric.Nat.Definitions.html#1854" class="Function">StrictlyContractingOnOrbits</a> <a id="1959" href="Function.Metric.Nat.Definitions.html#1959" class="Bound Operator">_≈_</a> <a id="1963" class="Symbol">=</a> <a id="1965" href="Function.Metric.Definitions.html#2173" class="Function">Base.StrictlyContractingOnOrbits</a> <a id="1998" href="Function.Metric.Nat.Definitions.html#1959" class="Bound Operator">_≈_</a> <a id="2002" href="Data.Nat.Base.html#1654" class="Function Operator">_&lt;_</a>
</pre></body></html>