mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
142 lines
28 KiB
HTML
142 lines
28 KiB
HTML
|
<!DOCTYPE HTML>
|
|||
|
<html><head><meta charset="utf-8"><title>Function.Metric.Nat.Bundles</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">-- Bundles for metrics over ℕ</a>
|
|||
|
<a id="136" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="210" class="Comment">-- Unfortunately, unlike definitions and structures, the bundles over</a>
|
|||
|
<a id="280" class="Comment">-- general metric spaces cannot be reused as it is impossible to</a>
|
|||
|
<a id="345" class="Comment">-- constrain the image set to ℕ.</a>
|
|||
|
|
|||
|
<a id="379" class="Symbol">{-#</a> <a id="383" class="Keyword">OPTIONS</a> <a id="391" class="Pragma">--cubical-compatible</a> <a id="412" class="Pragma">--safe</a> <a id="419" class="Symbol">#-}</a>
|
|||
|
|
|||
|
<a id="424" class="Keyword">module</a> <a id="431" href="Function.Metric.Nat.Bundles.html" class="Module">Function.Metric.Nat.Bundles</a> <a id="459" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="466" class="Keyword">open</a> <a id="471" class="Keyword">import</a> <a id="478" href="Data.Nat.Base.html" class="Module">Data.Nat.Base</a> <a id="492" class="Keyword">hiding</a> <a id="499" class="Symbol">(</a><a id="500" href="Agda.Builtin.Nat.html#234" class="InductiveConstructor">suc</a><a id="503" class="Symbol">;</a> <a id="505" href="Data.Nat.Base.html#5479" class="Function Operator">_⊔_</a><a id="508" class="Symbol">)</a>
|
|||
|
<a id="510" class="Keyword">open</a> <a id="515" class="Keyword">import</a> <a id="522" href="Function.Base.html" class="Module">Function.Base</a> <a id="536" class="Keyword">using</a> <a id="542" class="Symbol">(</a><a id="543" href="Function.Base.html#725" class="Function">const</a><a id="548" class="Symbol">)</a>
|
|||
|
<a id="550" class="Keyword">open</a> <a id="555" class="Keyword">import</a> <a id="562" href="Level.html" class="Module">Level</a> <a id="568" class="Keyword">using</a> <a id="574" class="Symbol">(</a><a id="575" href="Agda.Primitive.html#742" class="Postulate">Level</a><a id="580" class="Symbol">;</a> <a id="582" href="Agda.Primitive.html#931" class="Primitive">suc</a><a id="585" class="Symbol">;</a> <a id="587" href="Agda.Primitive.html#961" class="Primitive Operator">_⊔_</a><a id="590" class="Symbol">)</a>
|
|||
|
<a id="592" class="Keyword">open</a> <a id="597" class="Keyword">import</a> <a id="604" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a>
|
|||
|
<a id="625" class="Keyword">open</a> <a id="630" class="Keyword">import</a> <a id="637" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a>
|
|||
|
<a id="677" class="Keyword">using</a> <a id="683" class="Symbol">(</a><a id="684" href="Agda.Builtin.Equality.html#150" class="Datatype Operator">_≡_</a><a id="687" class="Symbol">;</a> <a id="689" href="Relation.Binary.PropositionalEquality.Properties.html#5422" class="Function">isEquivalence</a><a id="702" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="705" class="Keyword">open</a> <a id="710" class="Keyword">import</a> <a id="717" href="Function.Metric.Nat.Core.html" class="Module">Function.Metric.Nat.Core</a>
|
|||
|
<a id="742" class="Keyword">open</a> <a id="747" class="Keyword">import</a> <a id="754" href="Function.Metric.Nat.Structures.html" class="Module">Function.Metric.Nat.Structures</a>
|
|||
|
<a id="785" class="Keyword">open</a> <a id="790" class="Keyword">import</a> <a id="797" href="Function.Metric.Bundles.html" class="Module">Function.Metric.Bundles</a> <a id="821" class="Symbol">as</a> <a id="824" class="Module">Base</a>
|
|||
|
<a id="831" class="Keyword">using</a> <a id="837" class="Symbol">(</a><a id="838" href="Function.Metric.Bundles.html#3701" class="Record">GeneralMetric</a><a id="851" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="854" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="927" class="Comment">-- Proto-metric</a>
|
|||
|
|
|||
|
<a id="944" class="Keyword">record</a> <a id="ProtoMetric"></a><a id="951" href="Function.Metric.Nat.Bundles.html#951" class="Record">ProtoMetric</a> <a id="963" href="Function.Metric.Nat.Bundles.html#963" class="Bound">a</a> <a id="965" href="Function.Metric.Nat.Bundles.html#965" class="Bound">ℓ</a> <a id="967" class="Symbol">:</a> <a id="969" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="973" class="Symbol">(</a><a id="974" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="978" class="Symbol">(</a><a id="979" href="Function.Metric.Nat.Bundles.html#963" class="Bound">a</a> <a id="981" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="983" href="Function.Metric.Nat.Bundles.html#965" class="Bound">ℓ</a><a id="984" class="Symbol">))</a> <a id="987" class="Keyword">where</a>
|
|||
|
<a id="995" class="Keyword">infix</a> <a id="1001" class="Number">4</a> <a id="1003" href="Function.Metric.Nat.Bundles.html#1045" class="Field Operator">_≈_</a>
|
|||
|
<a id="1009" class="Keyword">field</a>
|
|||
|
<a id="ProtoMetric.Carrier"></a><a id="1019" href="Function.Metric.Nat.Bundles.html#1019" class="Field">Carrier</a> <a id="1033" class="Symbol">:</a> <a id="1035" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1039" href="Function.Metric.Nat.Bundles.html#963" class="Bound">a</a>
|
|||
|
<a id="ProtoMetric._≈_"></a><a id="1045" href="Function.Metric.Nat.Bundles.html#1045" class="Field Operator">_≈_</a> <a id="1059" class="Symbol">:</a> <a id="1061" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1065" href="Function.Metric.Nat.Bundles.html#1019" class="Field">Carrier</a> <a id="1073" href="Function.Metric.Nat.Bundles.html#965" class="Bound">ℓ</a>
|
|||
|
<a id="ProtoMetric.d"></a><a id="1079" href="Function.Metric.Nat.Bundles.html#1079" class="Field">d</a> <a id="1093" class="Symbol">:</a> <a id="1095" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1112" href="Function.Metric.Nat.Bundles.html#1019" class="Field">Carrier</a>
|
|||
|
<a id="ProtoMetric.isProtoMetric"></a><a id="1124" href="Function.Metric.Nat.Bundles.html#1124" class="Field">isProtoMetric</a> <a id="1138" class="Symbol">:</a> <a id="1140" href="Function.Metric.Nat.Structures.html#805" class="Function">IsProtoMetric</a> <a id="1154" href="Function.Metric.Nat.Bundles.html#1045" class="Field Operator">_≈_</a> <a id="1158" href="Function.Metric.Nat.Bundles.html#1079" class="Field">d</a>
|
|||
|
|
|||
|
<a id="1163" class="Keyword">open</a> <a id="1168" href="Function.Metric.Structures.html#996" class="Module">IsProtoMetric</a> <a id="1182" href="Function.Metric.Nat.Bundles.html#1124" class="Field">isProtoMetric</a> <a id="1196" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="1204" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1277" class="Comment">-- PreMetric</a>
|
|||
|
|
|||
|
<a id="1291" class="Keyword">record</a> <a id="PreMetric"></a><a id="1298" href="Function.Metric.Nat.Bundles.html#1298" class="Record">PreMetric</a> <a id="1308" href="Function.Metric.Nat.Bundles.html#1308" class="Bound">a</a> <a id="1310" href="Function.Metric.Nat.Bundles.html#1310" class="Bound">ℓ</a> <a id="1312" class="Symbol">:</a> <a id="1314" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1318" class="Symbol">(</a><a id="1319" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="1323" class="Symbol">(</a><a id="1324" href="Function.Metric.Nat.Bundles.html#1308" class="Bound">a</a> <a id="1326" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1328" href="Function.Metric.Nat.Bundles.html#1310" class="Bound">ℓ</a><a id="1329" class="Symbol">))</a> <a id="1332" class="Keyword">where</a>
|
|||
|
<a id="1340" class="Keyword">infix</a> <a id="1346" class="Number">4</a> <a id="1348" href="Function.Metric.Nat.Bundles.html#1388" class="Field Operator">_≈_</a>
|
|||
|
<a id="1354" class="Keyword">field</a>
|
|||
|
<a id="PreMetric.Carrier"></a><a id="1364" href="Function.Metric.Nat.Bundles.html#1364" class="Field">Carrier</a> <a id="1376" class="Symbol">:</a> <a id="1378" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1382" href="Function.Metric.Nat.Bundles.html#1308" class="Bound">a</a>
|
|||
|
<a id="PreMetric._≈_"></a><a id="1388" href="Function.Metric.Nat.Bundles.html#1388" class="Field Operator">_≈_</a> <a id="1400" class="Symbol">:</a> <a id="1402" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1406" href="Function.Metric.Nat.Bundles.html#1364" class="Field">Carrier</a> <a id="1414" href="Function.Metric.Nat.Bundles.html#1310" class="Bound">ℓ</a>
|
|||
|
<a id="PreMetric.d"></a><a id="1420" href="Function.Metric.Nat.Bundles.html#1420" class="Field">d</a> <a id="1432" class="Symbol">:</a> <a id="1434" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1451" href="Function.Metric.Nat.Bundles.html#1364" class="Field">Carrier</a>
|
|||
|
<a id="PreMetric.isPreMetric"></a><a id="1463" href="Function.Metric.Nat.Bundles.html#1463" class="Field">isPreMetric</a> <a id="1475" class="Symbol">:</a> <a id="1477" href="Function.Metric.Nat.Structures.html#1048" class="Function">IsPreMetric</a> <a id="1489" href="Function.Metric.Nat.Bundles.html#1388" class="Field Operator">_≈_</a> <a id="1493" href="Function.Metric.Nat.Bundles.html#1420" class="Field">d</a>
|
|||
|
|
|||
|
<a id="1498" class="Keyword">open</a> <a id="1503" href="Function.Metric.Structures.html#1497" class="Module">IsPreMetric</a> <a id="1515" href="Function.Metric.Nat.Bundles.html#1463" class="Field">isPreMetric</a> <a id="1527" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="PreMetric.protoMetric"></a><a id="1537" href="Function.Metric.Nat.Bundles.html#1537" class="Function">protoMetric</a> <a id="1549" class="Symbol">:</a> <a id="1551" href="Function.Metric.Nat.Bundles.html#951" class="Record">ProtoMetric</a> <a id="1563" href="Function.Metric.Nat.Bundles.html#1308" class="Bound">a</a> <a id="1565" href="Function.Metric.Nat.Bundles.html#1310" class="Bound">ℓ</a>
|
|||
|
<a id="1569" href="Function.Metric.Nat.Bundles.html#1537" class="Function">protoMetric</a> <a id="1581" class="Symbol">=</a> <a id="1583" class="Keyword">record</a>
|
|||
|
<a id="1594" class="Symbol">{</a> <a id="1596" href="Function.Metric.Nat.Bundles.html#1124" class="Field">isProtoMetric</a> <a id="1610" class="Symbol">=</a> <a id="1612" href="Function.Metric.Structures.html#1600" class="Function">isProtoMetric</a>
|
|||
|
<a id="1630" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="1633" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1706" class="Comment">-- QuasiSemiMetric</a>
|
|||
|
|
|||
|
<a id="1726" class="Keyword">record</a> <a id="QuasiSemiMetric"></a><a id="1733" href="Function.Metric.Nat.Bundles.html#1733" class="Record">QuasiSemiMetric</a> <a id="1749" href="Function.Metric.Nat.Bundles.html#1749" class="Bound">a</a> <a id="1751" href="Function.Metric.Nat.Bundles.html#1751" class="Bound">ℓ</a> <a id="1753" class="Symbol">:</a> <a id="1755" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1759" class="Symbol">(</a><a id="1760" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="1764" class="Symbol">(</a><a id="1765" href="Function.Metric.Nat.Bundles.html#1749" class="Bound">a</a> <a id="1767" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="1769" href="Function.Metric.Nat.Bundles.html#1751" class="Bound">ℓ</a><a id="1770" class="Symbol">))</a> <a id="1773" class="Keyword">where</a>
|
|||
|
<a id="1781" class="Keyword">infix</a> <a id="1787" class="Number">4</a> <a id="1789" href="Function.Metric.Nat.Bundles.html#1835" class="Field Operator">_≈_</a>
|
|||
|
<a id="1795" class="Keyword">field</a>
|
|||
|
<a id="QuasiSemiMetric.Carrier"></a><a id="1805" href="Function.Metric.Nat.Bundles.html#1805" class="Field">Carrier</a> <a id="1823" class="Symbol">:</a> <a id="1825" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="1829" href="Function.Metric.Nat.Bundles.html#1749" class="Bound">a</a>
|
|||
|
<a id="QuasiSemiMetric._≈_"></a><a id="1835" href="Function.Metric.Nat.Bundles.html#1835" class="Field Operator">_≈_</a> <a id="1853" class="Symbol">:</a> <a id="1855" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="1859" href="Function.Metric.Nat.Bundles.html#1805" class="Field">Carrier</a> <a id="1867" href="Function.Metric.Nat.Bundles.html#1751" class="Bound">ℓ</a>
|
|||
|
<a id="QuasiSemiMetric.d"></a><a id="1873" href="Function.Metric.Nat.Bundles.html#1873" class="Field">d</a> <a id="1891" class="Symbol">:</a> <a id="1893" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1910" href="Function.Metric.Nat.Bundles.html#1805" class="Field">Carrier</a>
|
|||
|
<a id="QuasiSemiMetric.isQuasiSemiMetric"></a><a id="1922" href="Function.Metric.Nat.Bundles.html#1922" class="Field">isQuasiSemiMetric</a> <a id="1940" class="Symbol">:</a> <a id="1942" href="Function.Metric.Nat.Structures.html#1290" class="Function">IsQuasiSemiMetric</a> <a id="1960" href="Function.Metric.Nat.Bundles.html#1835" class="Field Operator">_≈_</a> <a id="1964" href="Function.Metric.Nat.Bundles.html#1873" class="Field">d</a>
|
|||
|
|
|||
|
<a id="1969" class="Keyword">open</a> <a id="1974" href="Function.Metric.Structures.html#1823" class="Module">IsQuasiSemiMetric</a> <a id="1992" href="Function.Metric.Nat.Bundles.html#1922" class="Field">isQuasiSemiMetric</a> <a id="2010" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="QuasiSemiMetric.preMetric"></a><a id="2020" href="Function.Metric.Nat.Bundles.html#2020" class="Function">preMetric</a> <a id="2030" class="Symbol">:</a> <a id="2032" href="Function.Metric.Nat.Bundles.html#1298" class="Record">PreMetric</a> <a id="2042" href="Function.Metric.Nat.Bundles.html#1749" class="Bound">a</a> <a id="2044" href="Function.Metric.Nat.Bundles.html#1751" class="Bound">ℓ</a>
|
|||
|
<a id="2048" href="Function.Metric.Nat.Bundles.html#2020" class="Function">preMetric</a> <a id="2058" class="Symbol">=</a> <a id="2060" class="Keyword">record</a>
|
|||
|
<a id="2071" class="Symbol">{</a> <a id="2073" href="Function.Metric.Nat.Bundles.html#1463" class="Field">isPreMetric</a> <a id="2085" class="Symbol">=</a> <a id="2087" href="Function.Metric.Structures.html#1938" class="Function">isPreMetric</a>
|
|||
|
<a id="2103" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="2108" class="Keyword">open</a> <a id="2113" href="Function.Metric.Nat.Bundles.html#1298" class="Module">PreMetric</a> <a id="2123" href="Function.Metric.Nat.Bundles.html#2020" class="Function">preMetric</a> <a id="2133" class="Keyword">public</a>
|
|||
|
<a id="2144" class="Keyword">using</a> <a id="2150" class="Symbol">(</a><a id="2151" href="Function.Metric.Nat.Bundles.html#1537" class="Function">protoMetric</a><a id="2162" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="2165" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="2238" class="Comment">-- SemiMetric</a>
|
|||
|
|
|||
|
<a id="2253" class="Keyword">record</a> <a id="SemiMetric"></a><a id="2260" href="Function.Metric.Nat.Bundles.html#2260" class="Record">SemiMetric</a> <a id="2271" href="Function.Metric.Nat.Bundles.html#2271" class="Bound">a</a> <a id="2273" href="Function.Metric.Nat.Bundles.html#2273" class="Bound">ℓ</a> <a id="2275" class="Symbol">:</a> <a id="2277" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2281" class="Symbol">(</a><a id="2282" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="2286" class="Symbol">(</a><a id="2287" href="Function.Metric.Nat.Bundles.html#2271" class="Bound">a</a> <a id="2289" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2291" href="Function.Metric.Nat.Bundles.html#2273" class="Bound">ℓ</a><a id="2292" class="Symbol">))</a> <a id="2295" class="Keyword">where</a>
|
|||
|
<a id="2303" class="Keyword">infix</a> <a id="2309" class="Number">4</a> <a id="2311" href="Function.Metric.Nat.Bundles.html#2352" class="Field Operator">_≈_</a>
|
|||
|
<a id="2317" class="Keyword">field</a>
|
|||
|
<a id="SemiMetric.Carrier"></a><a id="2327" href="Function.Metric.Nat.Bundles.html#2327" class="Field">Carrier</a> <a id="2340" class="Symbol">:</a> <a id="2342" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2346" href="Function.Metric.Nat.Bundles.html#2271" class="Bound">a</a>
|
|||
|
<a id="SemiMetric._≈_"></a><a id="2352" href="Function.Metric.Nat.Bundles.html#2352" class="Field Operator">_≈_</a> <a id="2365" class="Symbol">:</a> <a id="2367" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2371" href="Function.Metric.Nat.Bundles.html#2327" class="Field">Carrier</a> <a id="2379" href="Function.Metric.Nat.Bundles.html#2273" class="Bound">ℓ</a>
|
|||
|
<a id="SemiMetric.d"></a><a id="2385" href="Function.Metric.Nat.Bundles.html#2385" class="Field">d</a> <a id="2398" class="Symbol">:</a> <a id="2400" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="2417" href="Function.Metric.Nat.Bundles.html#2327" class="Field">Carrier</a>
|
|||
|
<a id="SemiMetric.isSemiMetric"></a><a id="2429" href="Function.Metric.Nat.Bundles.html#2429" class="Field">isSemiMetric</a> <a id="2442" class="Symbol">:</a> <a id="2444" href="Function.Metric.Nat.Structures.html#1550" class="Function">IsSemiMetric</a> <a id="2457" href="Function.Metric.Nat.Bundles.html#2352" class="Field Operator">_≈_</a> <a id="2461" href="Function.Metric.Nat.Bundles.html#2385" class="Field">d</a>
|
|||
|
|
|||
|
<a id="2466" class="Keyword">open</a> <a id="2471" href="Function.Metric.Structures.html#2150" class="Module">IsSemiMetric</a> <a id="2484" href="Function.Metric.Nat.Bundles.html#2429" class="Field">isSemiMetric</a> <a id="2497" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="SemiMetric.quasiSemiMetric"></a><a id="2507" href="Function.Metric.Nat.Bundles.html#2507" class="Function">quasiSemiMetric</a> <a id="2523" class="Symbol">:</a> <a id="2525" href="Function.Metric.Nat.Bundles.html#1733" class="Record">QuasiSemiMetric</a> <a id="2541" href="Function.Metric.Nat.Bundles.html#2271" class="Bound">a</a> <a id="2543" href="Function.Metric.Nat.Bundles.html#2273" class="Bound">ℓ</a>
|
|||
|
<a id="2547" href="Function.Metric.Nat.Bundles.html#2507" class="Function">quasiSemiMetric</a> <a id="2563" class="Symbol">=</a> <a id="2565" class="Keyword">record</a>
|
|||
|
<a id="2576" class="Symbol">{</a> <a id="2578" href="Function.Metric.Nat.Bundles.html#1922" class="Field">isQuasiSemiMetric</a> <a id="2596" class="Symbol">=</a> <a id="2598" href="Function.Metric.Structures.html#2255" class="Function">isQuasiSemiMetric</a>
|
|||
|
<a id="2620" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="2625" class="Keyword">open</a> <a id="2630" href="Function.Metric.Nat.Bundles.html#1733" class="Module">QuasiSemiMetric</a> <a id="2646" href="Function.Metric.Nat.Bundles.html#2507" class="Function">quasiSemiMetric</a> <a id="2662" class="Keyword">public</a>
|
|||
|
<a id="2673" class="Keyword">using</a> <a id="2679" class="Symbol">(</a><a id="2680" href="Function.Metric.Nat.Bundles.html#1537" class="Function">protoMetric</a><a id="2691" class="Symbol">;</a> <a id="2693" href="Function.Metric.Nat.Bundles.html#2020" class="Function">preMetric</a><a id="2702" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="2705" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="2778" class="Comment">-- Metrics</a>
|
|||
|
|
|||
|
<a id="2790" class="Keyword">record</a> <a id="Metric"></a><a id="2797" href="Function.Metric.Nat.Bundles.html#2797" class="Record">Metric</a> <a id="2804" href="Function.Metric.Nat.Bundles.html#2804" class="Bound">a</a> <a id="2806" href="Function.Metric.Nat.Bundles.html#2806" class="Bound">ℓ</a> <a id="2808" class="Symbol">:</a> <a id="2810" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2814" class="Symbol">(</a><a id="2815" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="2819" class="Symbol">(</a><a id="2820" href="Function.Metric.Nat.Bundles.html#2804" class="Bound">a</a> <a id="2822" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="2824" href="Function.Metric.Nat.Bundles.html#2806" class="Bound">ℓ</a><a id="2825" class="Symbol">))</a> <a id="2828" class="Keyword">where</a>
|
|||
|
<a id="2836" class="Keyword">infix</a> <a id="2842" class="Number">4</a> <a id="2844" href="Function.Metric.Nat.Bundles.html#2881" class="Field Operator">_≈_</a>
|
|||
|
<a id="2850" class="Keyword">field</a>
|
|||
|
<a id="Metric.Carrier"></a><a id="2860" href="Function.Metric.Nat.Bundles.html#2860" class="Field">Carrier</a> <a id="2869" class="Symbol">:</a> <a id="2871" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="2875" href="Function.Metric.Nat.Bundles.html#2804" class="Bound">a</a>
|
|||
|
<a id="Metric._≈_"></a><a id="2881" href="Function.Metric.Nat.Bundles.html#2881" class="Field Operator">_≈_</a> <a id="2890" class="Symbol">:</a> <a id="2892" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="2896" href="Function.Metric.Nat.Bundles.html#2860" class="Field">Carrier</a> <a id="2904" href="Function.Metric.Nat.Bundles.html#2806" class="Bound">ℓ</a>
|
|||
|
<a id="Metric.d"></a><a id="2910" href="Function.Metric.Nat.Bundles.html#2910" class="Field">d</a> <a id="2919" class="Symbol">:</a> <a id="2921" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="2938" href="Function.Metric.Nat.Bundles.html#2860" class="Field">Carrier</a>
|
|||
|
<a id="Metric.isMetric"></a><a id="2950" href="Function.Metric.Nat.Bundles.html#2950" class="Field">isMetric</a> <a id="2959" class="Symbol">:</a> <a id="2961" href="Function.Metric.Nat.Structures.html#1785" class="Function">IsMetric</a> <a id="2970" href="Function.Metric.Nat.Bundles.html#2881" class="Field Operator">_≈_</a> <a id="2974" href="Function.Metric.Nat.Bundles.html#2910" class="Field">d</a>
|
|||
|
|
|||
|
<a id="2979" class="Keyword">open</a> <a id="2984" href="Function.Metric.Nat.Structures.html#1895" class="Module">IsMetric</a> <a id="2993" href="Function.Metric.Nat.Bundles.html#2950" class="Field">isMetric</a> <a id="3002" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="Metric.semiMetric"></a><a id="3012" href="Function.Metric.Nat.Bundles.html#3012" class="Function">semiMetric</a> <a id="3023" class="Symbol">:</a> <a id="3025" href="Function.Metric.Nat.Bundles.html#2260" class="Record">SemiMetric</a> <a id="3036" href="Function.Metric.Nat.Bundles.html#2804" class="Bound">a</a> <a id="3038" href="Function.Metric.Nat.Bundles.html#2806" class="Bound">ℓ</a>
|
|||
|
<a id="3042" href="Function.Metric.Nat.Bundles.html#3012" class="Function">semiMetric</a> <a id="3053" class="Symbol">=</a> <a id="3055" class="Keyword">record</a>
|
|||
|
<a id="3066" class="Symbol">{</a> <a id="3068" href="Function.Metric.Nat.Bundles.html#2429" class="Field">isSemiMetric</a> <a id="3081" class="Symbol">=</a> <a id="3083" href="Function.Metric.Structures.html#3130" class="Function">isSemiMetric</a>
|
|||
|
<a id="3100" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3105" class="Keyword">open</a> <a id="3110" href="Function.Metric.Nat.Bundles.html#2260" class="Module">SemiMetric</a> <a id="3121" href="Function.Metric.Nat.Bundles.html#3012" class="Function">semiMetric</a> <a id="3132" class="Keyword">public</a>
|
|||
|
<a id="3143" class="Keyword">using</a> <a id="3149" class="Symbol">(</a><a id="3150" href="Function.Metric.Nat.Bundles.html#1537" class="Function">protoMetric</a><a id="3161" class="Symbol">;</a> <a id="3163" href="Function.Metric.Nat.Bundles.html#2020" class="Function">preMetric</a><a id="3172" class="Symbol">;</a> <a id="3174" href="Function.Metric.Nat.Bundles.html#2507" class="Function">quasiSemiMetric</a><a id="3189" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="3192" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="3265" class="Comment">-- UltraMetrics</a>
|
|||
|
|
|||
|
<a id="3282" class="Keyword">record</a> <a id="UltraMetric"></a><a id="3289" href="Function.Metric.Nat.Bundles.html#3289" class="Record">UltraMetric</a> <a id="3301" href="Function.Metric.Nat.Bundles.html#3301" class="Bound">a</a> <a id="3303" href="Function.Metric.Nat.Bundles.html#3303" class="Bound">ℓ</a> <a id="3305" class="Symbol">:</a> <a id="3307" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3311" class="Symbol">(</a><a id="3312" href="Agda.Primitive.html#931" class="Primitive">suc</a> <a id="3316" class="Symbol">(</a><a id="3317" href="Function.Metric.Nat.Bundles.html#3301" class="Bound">a</a> <a id="3319" href="Agda.Primitive.html#961" class="Primitive Operator">⊔</a> <a id="3321" href="Function.Metric.Nat.Bundles.html#3303" class="Bound">ℓ</a><a id="3322" class="Symbol">))</a> <a id="3325" class="Keyword">where</a>
|
|||
|
<a id="3333" class="Keyword">infix</a> <a id="3339" class="Number">4</a> <a id="3341" href="Function.Metric.Nat.Bundles.html#3383" class="Field Operator">_≈_</a>
|
|||
|
<a id="3347" class="Keyword">field</a>
|
|||
|
<a id="UltraMetric.Carrier"></a><a id="3357" href="Function.Metric.Nat.Bundles.html#3357" class="Field">Carrier</a> <a id="3371" class="Symbol">:</a> <a id="3373" href="Agda.Primitive.html#388" class="Primitive">Set</a> <a id="3377" href="Function.Metric.Nat.Bundles.html#3301" class="Bound">a</a>
|
|||
|
<a id="UltraMetric._≈_"></a><a id="3383" href="Function.Metric.Nat.Bundles.html#3383" class="Field Operator">_≈_</a> <a id="3397" class="Symbol">:</a> <a id="3399" href="Relation.Binary.Core.html#896" class="Function">Rel</a> <a id="3403" href="Function.Metric.Nat.Bundles.html#3357" class="Field">Carrier</a> <a id="3411" href="Function.Metric.Nat.Bundles.html#3303" class="Bound">ℓ</a>
|
|||
|
<a id="UltraMetric.d"></a><a id="3417" href="Function.Metric.Nat.Bundles.html#3417" class="Field">d</a> <a id="3431" class="Symbol">:</a> <a id="3433" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="3450" href="Function.Metric.Nat.Bundles.html#3357" class="Field">Carrier</a>
|
|||
|
<a id="UltraMetric.isUltraMetric"></a><a id="3462" href="Function.Metric.Nat.Bundles.html#3462" class="Field">isUltraMetric</a> <a id="3476" class="Symbol">:</a> <a id="3478" href="Function.Metric.Nat.Structures.html#2117" class="Function">IsUltraMetric</a> <a id="3492" href="Function.Metric.Nat.Bundles.html#3383" class="Field Operator">_≈_</a> <a id="3496" href="Function.Metric.Nat.Bundles.html#3417" class="Field">d</a>
|
|||
|
|
|||
|
<a id="3501" class="Keyword">open</a> <a id="3506" href="Function.Metric.Nat.Structures.html#2237" class="Module">IsUltraMetric</a> <a id="3520" href="Function.Metric.Nat.Bundles.html#3462" class="Field">isUltraMetric</a> <a id="3534" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="UltraMetric.semiMetric"></a><a id="3544" href="Function.Metric.Nat.Bundles.html#3544" class="Function">semiMetric</a> <a id="3555" class="Symbol">:</a> <a id="3557" href="Function.Metric.Nat.Bundles.html#2260" class="Record">SemiMetric</a> <a id="3568" href="Function.Metric.Nat.Bundles.html#3301" class="Bound">a</a> <a id="3570" href="Function.Metric.Nat.Bundles.html#3303" class="Bound">ℓ</a>
|
|||
|
<a id="3574" href="Function.Metric.Nat.Bundles.html#3544" class="Function">semiMetric</a> <a id="3585" class="Symbol">=</a> <a id="3587" class="Keyword">record</a>
|
|||
|
<a id="3598" class="Symbol">{</a> <a id="3600" href="Function.Metric.Nat.Bundles.html#2429" class="Field">isSemiMetric</a> <a id="3613" class="Symbol">=</a> <a id="3615" href="Function.Metric.Structures.html#3130" class="Function">isSemiMetric</a>
|
|||
|
<a id="3632" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3637" class="Keyword">open</a> <a id="3642" href="Function.Metric.Nat.Bundles.html#2260" class="Module">SemiMetric</a> <a id="3653" href="Function.Metric.Nat.Bundles.html#3544" class="Function">semiMetric</a> <a id="3664" class="Keyword">public</a>
|
|||
|
<a id="3675" class="Keyword">using</a> <a id="3681" class="Symbol">(</a><a id="3682" href="Function.Metric.Nat.Bundles.html#1537" class="Function">protoMetric</a><a id="3693" class="Symbol">;</a> <a id="3695" href="Function.Metric.Nat.Bundles.html#2020" class="Function">preMetric</a><a id="3704" class="Symbol">;</a> <a id="3706" href="Function.Metric.Nat.Bundles.html#2507" class="Function">quasiSemiMetric</a><a id="3721" class="Symbol">)</a>
|
|||
|
</pre></body></html>
|