mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
136 lines
27 KiB
HTML
136 lines
27 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#217" class="InductiveConstructor">suc</a><a id="503" class="Symbol">;</a> <a id="505" href="Data.Nat.Base.html#3072" 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.html" class="Module">Function</a> <a id="531" class="Keyword">using</a> <a id="537" class="Symbol">(</a><a id="538" href="Function.Base.html#645" class="Function">const</a><a id="543" class="Symbol">)</a>
|
|||
|
<a id="545" class="Keyword">open</a> <a id="550" class="Keyword">import</a> <a id="557" href="Level.html" class="Module">Level</a> <a id="563" class="Keyword">using</a> <a id="569" class="Symbol">(</a><a id="570" href="Agda.Primitive.html#591" class="Postulate">Level</a><a id="575" class="Symbol">;</a> <a id="577" href="Agda.Primitive.html#774" class="Primitive">suc</a><a id="580" class="Symbol">;</a> <a id="582" href="Agda.Primitive.html#804" class="Primitive Operator">_⊔_</a><a id="585" class="Symbol">)</a>
|
|||
|
<a id="587" class="Keyword">open</a> <a id="592" class="Keyword">import</a> <a id="599" href="Relation.Binary.Core.html" class="Module">Relation.Binary.Core</a>
|
|||
|
<a id="620" class="Keyword">open</a> <a id="625" class="Keyword">import</a> <a id="632" href="Relation.Binary.PropositionalEquality.html" class="Module">Relation.Binary.PropositionalEquality</a>
|
|||
|
<a id="672" class="Keyword">using</a> <a id="678" class="Symbol">(</a><a id="679" href="Agda.Builtin.Equality.html#133" class="Datatype Operator">_≡_</a><a id="682" class="Symbol">;</a> <a id="684" href="Relation.Binary.PropositionalEquality.Properties.html#3436" class="Function">isEquivalence</a><a id="697" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="700" class="Keyword">open</a> <a id="705" class="Keyword">import</a> <a id="712" href="Function.Metric.Nat.Core.html" class="Module">Function.Metric.Nat.Core</a>
|
|||
|
<a id="737" class="Keyword">open</a> <a id="742" class="Keyword">import</a> <a id="749" href="Function.Metric.Nat.Structures.html" class="Module">Function.Metric.Nat.Structures</a>
|
|||
|
<a id="780" class="Keyword">open</a> <a id="785" class="Keyword">import</a> <a id="792" href="Function.Metric.Bundles.html" class="Module">Function.Metric.Bundles</a> <a id="816" class="Symbol">as</a> <a id="819" class="Module">Base</a>
|
|||
|
<a id="826" class="Keyword">using</a> <a id="832" class="Symbol">(</a><a id="833" href="Function.Metric.Bundles.html#3608" class="Record">GeneralMetric</a><a id="846" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="849" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="922" class="Comment">-- Proto-metric</a>
|
|||
|
|
|||
|
<a id="939" class="Keyword">record</a> <a id="ProtoMetric"></a><a id="946" href="Function.Metric.Nat.Bundles.html#946" class="Record">ProtoMetric</a> <a id="958" href="Function.Metric.Nat.Bundles.html#958" class="Bound">a</a> <a id="960" href="Function.Metric.Nat.Bundles.html#960" class="Bound">ℓ</a> <a id="962" class="Symbol">:</a> <a id="964" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="968" class="Symbol">(</a><a id="969" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="973" class="Symbol">(</a><a id="974" href="Function.Metric.Nat.Bundles.html#958" class="Bound">a</a> <a id="976" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="978" href="Function.Metric.Nat.Bundles.html#960" class="Bound">ℓ</a><a id="979" class="Symbol">))</a> <a id="982" class="Keyword">where</a>
|
|||
|
<a id="990" class="Keyword">field</a>
|
|||
|
<a id="ProtoMetric.Carrier"></a><a id="1000" href="Function.Metric.Nat.Bundles.html#1000" class="Field">Carrier</a> <a id="1014" class="Symbol">:</a> <a id="1016" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1020" href="Function.Metric.Nat.Bundles.html#958" class="Bound">a</a>
|
|||
|
<a id="ProtoMetric._≈_"></a><a id="1026" href="Function.Metric.Nat.Bundles.html#1026" class="Field Operator">_≈_</a> <a id="1040" class="Symbol">:</a> <a id="1042" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1046" href="Function.Metric.Nat.Bundles.html#1000" class="Field">Carrier</a> <a id="1054" href="Function.Metric.Nat.Bundles.html#960" class="Bound">ℓ</a>
|
|||
|
<a id="ProtoMetric.d"></a><a id="1060" href="Function.Metric.Nat.Bundles.html#1060" class="Field">d</a> <a id="1074" class="Symbol">:</a> <a id="1076" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1093" href="Function.Metric.Nat.Bundles.html#1000" class="Field">Carrier</a>
|
|||
|
<a id="ProtoMetric.isProtoMetric"></a><a id="1105" href="Function.Metric.Nat.Bundles.html#1105" class="Field">isProtoMetric</a> <a id="1119" class="Symbol">:</a> <a id="1121" href="Function.Metric.Nat.Structures.html#797" class="Function">IsProtoMetric</a> <a id="1135" href="Function.Metric.Nat.Bundles.html#1026" class="Field Operator">_≈_</a> <a id="1139" href="Function.Metric.Nat.Bundles.html#1060" class="Field">d</a>
|
|||
|
|
|||
|
<a id="1144" class="Keyword">open</a> <a id="1149" href="Function.Metric.Structures.html#921" class="Module">IsProtoMetric</a> <a id="1163" href="Function.Metric.Nat.Bundles.html#1105" class="Field">isProtoMetric</a> <a id="1177" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="1185" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1258" class="Comment">-- PreMetric</a>
|
|||
|
|
|||
|
<a id="1272" class="Keyword">record</a> <a id="PreMetric"></a><a id="1279" href="Function.Metric.Nat.Bundles.html#1279" class="Record">PreMetric</a> <a id="1289" href="Function.Metric.Nat.Bundles.html#1289" class="Bound">a</a> <a id="1291" href="Function.Metric.Nat.Bundles.html#1291" class="Bound">ℓ</a> <a id="1293" class="Symbol">:</a> <a id="1295" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1299" class="Symbol">(</a><a id="1300" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="1304" class="Symbol">(</a><a id="1305" href="Function.Metric.Nat.Bundles.html#1289" class="Bound">a</a> <a id="1307" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1309" href="Function.Metric.Nat.Bundles.html#1291" class="Bound">ℓ</a><a id="1310" class="Symbol">))</a> <a id="1313" class="Keyword">where</a>
|
|||
|
<a id="1321" class="Keyword">field</a>
|
|||
|
<a id="PreMetric.Carrier"></a><a id="1331" href="Function.Metric.Nat.Bundles.html#1331" class="Field">Carrier</a> <a id="1343" class="Symbol">:</a> <a id="1345" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1349" href="Function.Metric.Nat.Bundles.html#1289" class="Bound">a</a>
|
|||
|
<a id="PreMetric._≈_"></a><a id="1355" href="Function.Metric.Nat.Bundles.html#1355" class="Field Operator">_≈_</a> <a id="1367" class="Symbol">:</a> <a id="1369" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1373" href="Function.Metric.Nat.Bundles.html#1331" class="Field">Carrier</a> <a id="1381" href="Function.Metric.Nat.Bundles.html#1291" class="Bound">ℓ</a>
|
|||
|
<a id="PreMetric.d"></a><a id="1387" href="Function.Metric.Nat.Bundles.html#1387" class="Field">d</a> <a id="1399" class="Symbol">:</a> <a id="1401" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1418" href="Function.Metric.Nat.Bundles.html#1331" class="Field">Carrier</a>
|
|||
|
<a id="PreMetric.isPreMetric"></a><a id="1430" href="Function.Metric.Nat.Bundles.html#1430" class="Field">isPreMetric</a> <a id="1442" class="Symbol">:</a> <a id="1444" href="Function.Metric.Nat.Structures.html#1040" class="Function">IsPreMetric</a> <a id="1456" href="Function.Metric.Nat.Bundles.html#1355" class="Field Operator">_≈_</a> <a id="1460" href="Function.Metric.Nat.Bundles.html#1387" class="Field">d</a>
|
|||
|
|
|||
|
<a id="1465" class="Keyword">open</a> <a id="1470" href="Function.Metric.Structures.html#1422" class="Module">IsPreMetric</a> <a id="1482" href="Function.Metric.Nat.Bundles.html#1430" class="Field">isPreMetric</a> <a id="1494" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="PreMetric.protoMetric"></a><a id="1504" href="Function.Metric.Nat.Bundles.html#1504" class="Function">protoMetric</a> <a id="1516" class="Symbol">:</a> <a id="1518" href="Function.Metric.Nat.Bundles.html#946" class="Record">ProtoMetric</a> <a id="1530" href="Function.Metric.Nat.Bundles.html#1289" class="Bound">a</a> <a id="1532" href="Function.Metric.Nat.Bundles.html#1291" class="Bound">ℓ</a>
|
|||
|
<a id="1536" href="Function.Metric.Nat.Bundles.html#1504" class="Function">protoMetric</a> <a id="1548" class="Symbol">=</a> <a id="1550" class="Keyword">record</a>
|
|||
|
<a id="1561" class="Symbol">{</a> <a id="1563" href="Function.Metric.Nat.Bundles.html#1105" class="Field">isProtoMetric</a> <a id="1577" class="Symbol">=</a> <a id="1579" href="Function.Metric.Structures.html#1525" class="Function">isProtoMetric</a>
|
|||
|
<a id="1597" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="1600" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="1673" class="Comment">-- QuasiSemiMetric</a>
|
|||
|
|
|||
|
<a id="1693" class="Keyword">record</a> <a id="QuasiSemiMetric"></a><a id="1700" href="Function.Metric.Nat.Bundles.html#1700" class="Record">QuasiSemiMetric</a> <a id="1716" href="Function.Metric.Nat.Bundles.html#1716" class="Bound">a</a> <a id="1718" href="Function.Metric.Nat.Bundles.html#1718" class="Bound">ℓ</a> <a id="1720" class="Symbol">:</a> <a id="1722" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1726" class="Symbol">(</a><a id="1727" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="1731" class="Symbol">(</a><a id="1732" href="Function.Metric.Nat.Bundles.html#1716" class="Bound">a</a> <a id="1734" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1736" href="Function.Metric.Nat.Bundles.html#1718" class="Bound">ℓ</a><a id="1737" class="Symbol">))</a> <a id="1740" class="Keyword">where</a>
|
|||
|
<a id="1748" class="Keyword">field</a>
|
|||
|
<a id="QuasiSemiMetric.Carrier"></a><a id="1758" href="Function.Metric.Nat.Bundles.html#1758" class="Field">Carrier</a> <a id="1776" class="Symbol">:</a> <a id="1778" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1782" href="Function.Metric.Nat.Bundles.html#1716" class="Bound">a</a>
|
|||
|
<a id="QuasiSemiMetric._≈_"></a><a id="1788" href="Function.Metric.Nat.Bundles.html#1788" class="Field Operator">_≈_</a> <a id="1806" class="Symbol">:</a> <a id="1808" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="1812" href="Function.Metric.Nat.Bundles.html#1758" class="Field">Carrier</a> <a id="1820" href="Function.Metric.Nat.Bundles.html#1718" class="Bound">ℓ</a>
|
|||
|
<a id="QuasiSemiMetric.d"></a><a id="1826" href="Function.Metric.Nat.Bundles.html#1826" class="Field">d</a> <a id="1844" class="Symbol">:</a> <a id="1846" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="1863" href="Function.Metric.Nat.Bundles.html#1758" class="Field">Carrier</a>
|
|||
|
<a id="QuasiSemiMetric.isQuasiSemiMetric"></a><a id="1875" href="Function.Metric.Nat.Bundles.html#1875" class="Field">isQuasiSemiMetric</a> <a id="1893" class="Symbol">:</a> <a id="1895" href="Function.Metric.Nat.Structures.html#1282" class="Function">IsQuasiSemiMetric</a> <a id="1913" href="Function.Metric.Nat.Bundles.html#1788" class="Field Operator">_≈_</a> <a id="1917" href="Function.Metric.Nat.Bundles.html#1826" class="Field">d</a>
|
|||
|
|
|||
|
<a id="1922" class="Keyword">open</a> <a id="1927" href="Function.Metric.Structures.html#1748" class="Module">IsQuasiSemiMetric</a> <a id="1945" href="Function.Metric.Nat.Bundles.html#1875" class="Field">isQuasiSemiMetric</a> <a id="1963" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="QuasiSemiMetric.preMetric"></a><a id="1973" href="Function.Metric.Nat.Bundles.html#1973" class="Function">preMetric</a> <a id="1983" class="Symbol">:</a> <a id="1985" href="Function.Metric.Nat.Bundles.html#1279" class="Record">PreMetric</a> <a id="1995" href="Function.Metric.Nat.Bundles.html#1716" class="Bound">a</a> <a id="1997" href="Function.Metric.Nat.Bundles.html#1718" class="Bound">ℓ</a>
|
|||
|
<a id="2001" href="Function.Metric.Nat.Bundles.html#1973" class="Function">preMetric</a> <a id="2011" class="Symbol">=</a> <a id="2013" class="Keyword">record</a>
|
|||
|
<a id="2024" class="Symbol">{</a> <a id="2026" href="Function.Metric.Nat.Bundles.html#1430" class="Field">isPreMetric</a> <a id="2038" class="Symbol">=</a> <a id="2040" href="Function.Metric.Structures.html#1863" class="Function">isPreMetric</a>
|
|||
|
<a id="2056" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="2061" class="Keyword">open</a> <a id="2066" href="Function.Metric.Nat.Bundles.html#1279" class="Module">PreMetric</a> <a id="2076" href="Function.Metric.Nat.Bundles.html#1973" class="Function">preMetric</a> <a id="2086" class="Keyword">public</a>
|
|||
|
<a id="2097" class="Keyword">using</a> <a id="2103" class="Symbol">(</a><a id="2104" href="Function.Metric.Nat.Bundles.html#1504" class="Function">protoMetric</a><a id="2115" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="2118" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="2191" class="Comment">-- SemiMetric</a>
|
|||
|
|
|||
|
<a id="2206" class="Keyword">record</a> <a id="SemiMetric"></a><a id="2213" href="Function.Metric.Nat.Bundles.html#2213" class="Record">SemiMetric</a> <a id="2224" href="Function.Metric.Nat.Bundles.html#2224" class="Bound">a</a> <a id="2226" href="Function.Metric.Nat.Bundles.html#2226" class="Bound">ℓ</a> <a id="2228" class="Symbol">:</a> <a id="2230" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2234" class="Symbol">(</a><a id="2235" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="2239" class="Symbol">(</a><a id="2240" href="Function.Metric.Nat.Bundles.html#2224" class="Bound">a</a> <a id="2242" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="2244" href="Function.Metric.Nat.Bundles.html#2226" class="Bound">ℓ</a><a id="2245" class="Symbol">))</a> <a id="2248" class="Keyword">where</a>
|
|||
|
<a id="2256" class="Keyword">field</a>
|
|||
|
<a id="SemiMetric.Carrier"></a><a id="2266" href="Function.Metric.Nat.Bundles.html#2266" class="Field">Carrier</a> <a id="2279" class="Symbol">:</a> <a id="2281" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2285" href="Function.Metric.Nat.Bundles.html#2224" class="Bound">a</a>
|
|||
|
<a id="SemiMetric._≈_"></a><a id="2291" href="Function.Metric.Nat.Bundles.html#2291" class="Field Operator">_≈_</a> <a id="2304" class="Symbol">:</a> <a id="2306" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="2310" href="Function.Metric.Nat.Bundles.html#2266" class="Field">Carrier</a> <a id="2318" href="Function.Metric.Nat.Bundles.html#2226" class="Bound">ℓ</a>
|
|||
|
<a id="SemiMetric.d"></a><a id="2324" href="Function.Metric.Nat.Bundles.html#2324" class="Field">d</a> <a id="2337" class="Symbol">:</a> <a id="2339" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="2356" href="Function.Metric.Nat.Bundles.html#2266" class="Field">Carrier</a>
|
|||
|
<a id="SemiMetric.isSemiMetric"></a><a id="2368" href="Function.Metric.Nat.Bundles.html#2368" class="Field">isSemiMetric</a> <a id="2381" class="Symbol">:</a> <a id="2383" href="Function.Metric.Nat.Structures.html#1542" class="Function">IsSemiMetric</a> <a id="2396" href="Function.Metric.Nat.Bundles.html#2291" class="Field Operator">_≈_</a> <a id="2400" href="Function.Metric.Nat.Bundles.html#2324" class="Field">d</a>
|
|||
|
|
|||
|
<a id="2405" class="Keyword">open</a> <a id="2410" href="Function.Metric.Structures.html#2075" class="Module">IsSemiMetric</a> <a id="2423" href="Function.Metric.Nat.Bundles.html#2368" class="Field">isSemiMetric</a> <a id="2436" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="SemiMetric.quasiSemiMetric"></a><a id="2446" href="Function.Metric.Nat.Bundles.html#2446" class="Function">quasiSemiMetric</a> <a id="2462" class="Symbol">:</a> <a id="2464" href="Function.Metric.Nat.Bundles.html#1700" class="Record">QuasiSemiMetric</a> <a id="2480" href="Function.Metric.Nat.Bundles.html#2224" class="Bound">a</a> <a id="2482" href="Function.Metric.Nat.Bundles.html#2226" class="Bound">ℓ</a>
|
|||
|
<a id="2486" href="Function.Metric.Nat.Bundles.html#2446" class="Function">quasiSemiMetric</a> <a id="2502" class="Symbol">=</a> <a id="2504" class="Keyword">record</a>
|
|||
|
<a id="2515" class="Symbol">{</a> <a id="2517" href="Function.Metric.Nat.Bundles.html#1875" class="Field">isQuasiSemiMetric</a> <a id="2535" class="Symbol">=</a> <a id="2537" href="Function.Metric.Structures.html#2180" class="Function">isQuasiSemiMetric</a>
|
|||
|
<a id="2559" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="2564" class="Keyword">open</a> <a id="2569" href="Function.Metric.Nat.Bundles.html#1700" class="Module">QuasiSemiMetric</a> <a id="2585" href="Function.Metric.Nat.Bundles.html#2446" class="Function">quasiSemiMetric</a> <a id="2601" class="Keyword">public</a>
|
|||
|
<a id="2612" class="Keyword">using</a> <a id="2618" class="Symbol">(</a><a id="2619" href="Function.Metric.Nat.Bundles.html#1504" class="Function">protoMetric</a><a id="2630" class="Symbol">;</a> <a id="2632" href="Function.Metric.Nat.Bundles.html#1973" class="Function">preMetric</a><a id="2641" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="2644" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="2717" class="Comment">-- Metrics</a>
|
|||
|
|
|||
|
<a id="2729" class="Keyword">record</a> <a id="Metric"></a><a id="2736" href="Function.Metric.Nat.Bundles.html#2736" class="Record">Metric</a> <a id="2743" href="Function.Metric.Nat.Bundles.html#2743" class="Bound">a</a> <a id="2745" href="Function.Metric.Nat.Bundles.html#2745" class="Bound">ℓ</a> <a id="2747" class="Symbol">:</a> <a id="2749" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2753" class="Symbol">(</a><a id="2754" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="2758" class="Symbol">(</a><a id="2759" href="Function.Metric.Nat.Bundles.html#2743" class="Bound">a</a> <a id="2761" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="2763" href="Function.Metric.Nat.Bundles.html#2745" class="Bound">ℓ</a><a id="2764" class="Symbol">))</a> <a id="2767" class="Keyword">where</a>
|
|||
|
<a id="2775" class="Keyword">field</a>
|
|||
|
<a id="Metric.Carrier"></a><a id="2785" href="Function.Metric.Nat.Bundles.html#2785" class="Field">Carrier</a> <a id="2794" class="Symbol">:</a> <a id="2796" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="2800" href="Function.Metric.Nat.Bundles.html#2743" class="Bound">a</a>
|
|||
|
<a id="Metric._≈_"></a><a id="2806" href="Function.Metric.Nat.Bundles.html#2806" class="Field Operator">_≈_</a> <a id="2815" class="Symbol">:</a> <a id="2817" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="2821" href="Function.Metric.Nat.Bundles.html#2785" class="Field">Carrier</a> <a id="2829" href="Function.Metric.Nat.Bundles.html#2745" class="Bound">ℓ</a>
|
|||
|
<a id="Metric.d"></a><a id="2835" href="Function.Metric.Nat.Bundles.html#2835" class="Field">d</a> <a id="2844" class="Symbol">:</a> <a id="2846" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="2863" href="Function.Metric.Nat.Bundles.html#2785" class="Field">Carrier</a>
|
|||
|
<a id="Metric.isMetric"></a><a id="2875" href="Function.Metric.Nat.Bundles.html#2875" class="Field">isMetric</a> <a id="2884" class="Symbol">:</a> <a id="2886" href="Function.Metric.Nat.Structures.html#1777" class="Function">IsMetric</a> <a id="2895" href="Function.Metric.Nat.Bundles.html#2806" class="Field Operator">_≈_</a> <a id="2899" href="Function.Metric.Nat.Bundles.html#2835" class="Field">d</a>
|
|||
|
|
|||
|
<a id="2904" class="Keyword">open</a> <a id="2909" href="Function.Metric.Nat.Structures.html#1887" class="Module">IsMetric</a> <a id="2918" href="Function.Metric.Nat.Bundles.html#2875" class="Field">isMetric</a> <a id="2927" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="Metric.semiMetric"></a><a id="2937" href="Function.Metric.Nat.Bundles.html#2937" class="Function">semiMetric</a> <a id="2948" class="Symbol">:</a> <a id="2950" href="Function.Metric.Nat.Bundles.html#2213" class="Record">SemiMetric</a> <a id="2961" href="Function.Metric.Nat.Bundles.html#2743" class="Bound">a</a> <a id="2963" href="Function.Metric.Nat.Bundles.html#2745" class="Bound">ℓ</a>
|
|||
|
<a id="2967" href="Function.Metric.Nat.Bundles.html#2937" class="Function">semiMetric</a> <a id="2978" class="Symbol">=</a> <a id="2980" class="Keyword">record</a>
|
|||
|
<a id="2991" class="Symbol">{</a> <a id="2993" href="Function.Metric.Nat.Bundles.html#2368" class="Field">isSemiMetric</a> <a id="3006" class="Symbol">=</a> <a id="3008" href="Function.Metric.Structures.html#3055" class="Function">isSemiMetric</a>
|
|||
|
<a id="3025" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3030" class="Keyword">open</a> <a id="3035" href="Function.Metric.Nat.Bundles.html#2213" class="Module">SemiMetric</a> <a id="3046" href="Function.Metric.Nat.Bundles.html#2937" class="Function">semiMetric</a> <a id="3057" class="Keyword">public</a>
|
|||
|
<a id="3068" class="Keyword">using</a> <a id="3074" class="Symbol">(</a><a id="3075" href="Function.Metric.Nat.Bundles.html#1504" class="Function">protoMetric</a><a id="3086" class="Symbol">;</a> <a id="3088" href="Function.Metric.Nat.Bundles.html#1973" class="Function">preMetric</a><a id="3097" class="Symbol">;</a> <a id="3099" href="Function.Metric.Nat.Bundles.html#2446" class="Function">quasiSemiMetric</a><a id="3114" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="3117" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="3190" class="Comment">-- UltraMetrics</a>
|
|||
|
|
|||
|
<a id="3207" class="Keyword">record</a> <a id="UltraMetric"></a><a id="3214" href="Function.Metric.Nat.Bundles.html#3214" class="Record">UltraMetric</a> <a id="3226" href="Function.Metric.Nat.Bundles.html#3226" class="Bound">a</a> <a id="3228" href="Function.Metric.Nat.Bundles.html#3228" class="Bound">ℓ</a> <a id="3230" class="Symbol">:</a> <a id="3232" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="3236" class="Symbol">(</a><a id="3237" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="3241" class="Symbol">(</a><a id="3242" href="Function.Metric.Nat.Bundles.html#3226" class="Bound">a</a> <a id="3244" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="3246" href="Function.Metric.Nat.Bundles.html#3228" class="Bound">ℓ</a><a id="3247" class="Symbol">))</a> <a id="3250" class="Keyword">where</a>
|
|||
|
<a id="3258" class="Keyword">field</a>
|
|||
|
<a id="UltraMetric.Carrier"></a><a id="3268" href="Function.Metric.Nat.Bundles.html#3268" class="Field">Carrier</a> <a id="3282" class="Symbol">:</a> <a id="3284" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="3288" href="Function.Metric.Nat.Bundles.html#3226" class="Bound">a</a>
|
|||
|
<a id="UltraMetric._≈_"></a><a id="3294" href="Function.Metric.Nat.Bundles.html#3294" class="Field Operator">_≈_</a> <a id="3308" class="Symbol">:</a> <a id="3310" href="Relation.Binary.Core.html#891" class="Function">Rel</a> <a id="3314" href="Function.Metric.Nat.Bundles.html#3268" class="Field">Carrier</a> <a id="3322" href="Function.Metric.Nat.Bundles.html#3228" class="Bound">ℓ</a>
|
|||
|
<a id="UltraMetric.d"></a><a id="3328" href="Function.Metric.Nat.Bundles.html#3328" class="Field">d</a> <a id="3342" class="Symbol">:</a> <a id="3344" href="Function.Metric.Nat.Core.html#464" class="Function">DistanceFunction</a> <a id="3361" href="Function.Metric.Nat.Bundles.html#3268" class="Field">Carrier</a>
|
|||
|
<a id="UltraMetric.isUltraMetric"></a><a id="3373" href="Function.Metric.Nat.Bundles.html#3373" class="Field">isUltraMetric</a> <a id="3387" class="Symbol">:</a> <a id="3389" href="Function.Metric.Nat.Structures.html#2109" class="Function">IsUltraMetric</a> <a id="3403" href="Function.Metric.Nat.Bundles.html#3294" class="Field Operator">_≈_</a> <a id="3407" href="Function.Metric.Nat.Bundles.html#3328" class="Field">d</a>
|
|||
|
|
|||
|
<a id="3412" class="Keyword">open</a> <a id="3417" href="Function.Metric.Nat.Structures.html#2229" class="Module">IsUltraMetric</a> <a id="3431" href="Function.Metric.Nat.Bundles.html#3373" class="Field">isUltraMetric</a> <a id="3445" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="UltraMetric.semiMetric"></a><a id="3455" href="Function.Metric.Nat.Bundles.html#3455" class="Function">semiMetric</a> <a id="3466" class="Symbol">:</a> <a id="3468" href="Function.Metric.Nat.Bundles.html#2213" class="Record">SemiMetric</a> <a id="3479" href="Function.Metric.Nat.Bundles.html#3226" class="Bound">a</a> <a id="3481" href="Function.Metric.Nat.Bundles.html#3228" class="Bound">ℓ</a>
|
|||
|
<a id="3485" href="Function.Metric.Nat.Bundles.html#3455" class="Function">semiMetric</a> <a id="3496" class="Symbol">=</a> <a id="3498" class="Keyword">record</a>
|
|||
|
<a id="3509" class="Symbol">{</a> <a id="3511" href="Function.Metric.Nat.Bundles.html#2368" class="Field">isSemiMetric</a> <a id="3524" class="Symbol">=</a> <a id="3526" href="Function.Metric.Structures.html#3055" class="Function">isSemiMetric</a>
|
|||
|
<a id="3543" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="3548" class="Keyword">open</a> <a id="3553" href="Function.Metric.Nat.Bundles.html#2213" class="Module">SemiMetric</a> <a id="3564" href="Function.Metric.Nat.Bundles.html#3455" class="Function">semiMetric</a> <a id="3575" class="Keyword">public</a>
|
|||
|
<a id="3586" class="Keyword">using</a> <a id="3592" class="Symbol">(</a><a id="3593" href="Function.Metric.Nat.Bundles.html#1504" class="Function">protoMetric</a><a id="3604" class="Symbol">;</a> <a id="3606" href="Function.Metric.Nat.Bundles.html#1973" class="Function">preMetric</a><a id="3615" class="Symbol">;</a> <a id="3617" href="Function.Metric.Nat.Bundles.html#2446" class="Function">quasiSemiMetric</a><a id="3632" class="Symbol">)</a>
|
|||
|
</pre></body></html>
|